【平头哥RVB2601开发板试用体验】基于 HTTPClient 的云语音识别 1

简介: 设计思路,HTTPClient 组件测试

作者:哈猪猪


前言

本系列共有三篇文章,目的是在 RVB2601 上实现基于 HTTPClient 组件的云语音识别。文章连接与主要内容如下:

  • 文章1:设计思路;HTTPClient 组件测试
  • 文章2:HTTPClient 组件源码解析
  • 文章3:手动实现“multipart/form-data”类型 POST 请求;完成板端与服务器端代码,实现整个云语音识别功能。


设计思路

RVB2601 板载资源非常丰富,支持 WiFi、蓝牙、Codec、麦克风等,因此我们能够通过这块开发板实现绝大部分物联网场景下的应用,如云语音识别。

在官方提供的 RVB2601 示例程序中:ch2601_ft_demo 实现了麦克风录音并由扬声器回放的功能;ch2601_webplayer_demo 实现了从网络上下载音乐并播放的功能。因此我们有理由相信借助于现有的组件就能够实现一个基于 Http 的云语音识别。

然而,ch2601_webplayer_demo 中使用的网络库并不提供完整的 HTTP 功能,因此我们需要寻找支持 RVB2601 的其它网络库。

通过上网搜寻,找到了 平头哥YOC文档,里面列举了众多 API 以及模块组件;以及对应的 YOC github 源码

其中,YOC 提供一个网络组件:HTTPClient,它“为http/https客户端组件,为用户提供一组简洁的调用接口。”并且看其接口列表它好像还实现了 HTTP 的各种请求(年轻了)。

因此我们选择使用 HTTPClient 组件来帮助我们与服务器通信,上传录音文件并接收识别结果。


HTTPClient 组件测试

由于这是一个没有出现在 RVB2601 示例程序中的组件,我们还不清楚能否使用以及如何使用。所幸源码中提供了 HTTPClient 的测试程序:http_examples。因此我们可以先尝试测试该组件。

项目工程建立在 ch2601_webplayer_demo 上。以下为操作流程:


项目配置

首先从 YOC github 源码下载所需组件,除了 HTTPClient 外还需要 transport 组件。

接着进入 CDK 工程,右键 Packages 并新建一个普通包:

1.png



设置包名以及存储路径:

2.png


接着我们就能向刚刚新建的 Package 里添加下载的源码:

3.png


最后我们需要对 Package 进行配置:

4.png


在 Compiler 选项卡中设置 Include:

5.png


最后在 Base 选项卡中编辑 Description:

6.png


源码修改

我们直接将 http_examples.c 的内容加入到 player_demo.c 中,并向 CLI 控制台注册一个新命令 http_test:

/* player_demo.c */
static void cmd_http_func(char *wbuf, int wbuf_len, int argc, char **argv)
{
    if (argc == 1 && strcmp(argv[0], "http_test") == 0) {
        test_https();
    }
    else
        printf("\thttp_test\n");
}
int cli_reg_cmd_player(void)
{
    ...
    static const struct cli_command http_cmd_info= {
        "http_test",
        "http_test",
        cmd_http_func,
    };
    aos_cli_register_command(&cmd_info);
    ...
    return 0;
}


这样,当控制台接收到 http_test 命令后就会直接调用 http_examples.c 中的测试函数 test_https()。


测试后没有什么问题,因此我们能够在 RVB2601 上调用 HTTPClient 提供的接口,来帮助我们与服务器通信。


本文源自:平头哥芯片开放社区

欢迎关注公众号:芯片开放社区(ID:OCC_THEAD),查看更多应用实战文章。

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
网络协议 数据安全/隐私保护 芯片
|
存储 API 开发工具
【平头哥RVB2601创意应用开发】使用体验02 -- KV存储
使用KV组件在RVB2601进行项目参数的本地持久化。
576 0
【平头哥RVB2601创意应用开发】使用体验02 -- KV存储
|
网络协议 物联网 数据处理
【平头哥RVB2601开发板试用体验】AT 解析器和通过w800 AT命令接入阿里云生活物联网平台
RISC-V RVB2601 Yoc 实现和测试验证阿里云平台接入的等相关功能,同时去了解YoC中网络设备和AT解析器框架。
678 0
【平头哥RVB2601开发板试用体验】AT 解析器和通过w800 AT命令接入阿里云生活物联网平台
|
存储 JSON 数据格式
【平头哥RVB2601创意应用开发】疫情播报系统应用
实现通过网络读取json数据,进行分解,针对数据字符,播放相应的mp3音频文件,并在OLED屏幕上显示实际对应数据的疫情播报系统。
212 0
【平头哥RVB2601创意应用开发】疫情播报系统应用
|
5月前
|
机器学习/深度学习 自然语言处理 算法
基于深度学习的语音识别技术应用与发展
在当今数字化时代,语音识别技术已经成为人机交互领域的重要组成部分。本文将介绍基于深度学习的语音识别技术在智能助手、智能家居和医疗健康等领域的应用与发展,同时探讨该技术在未来的潜在应用和发展方向。
168 4
|
2月前
|
机器学习/深度学习 人工智能 语音技术
使用深度学习进行语音识别:技术探索与实践
【8月更文挑战第12天】深度学习技术的快速发展为语音识别领域带来了革命性的变化。通过不断优化模型架构和算法,我们可以期待更加准确、高效和智能的语音识别系统的出现。未来,随着技术的不断进步和应用场景的不断拓展,语音识别技术将在更多领域发挥重要作用,为人类带来更加便捷和智能的生活体验。
|
2月前
|
人工智能 算法 人机交互
FunAudioLLM技术深度测评:重塑语音交互的未来
在人工智能的浪潮中,语音技术作为人机交互的重要桥梁,正以前所未有的速度发展。近期,FunAudioLLM以其独特的魅力吸引了业界的广泛关注。本文将以SenseVoice大模型为例,深入探索FunAudioLLM在性能、功能及技术先进性方面的表现,并与国际知名语音大模型进行对比分析,同时邀请各位开发者共同参与,为开源项目贡献一份力量。
63 4
|
3月前
|
人工智能 API 语音技术
PHP对接百度语音识别技术
PHP对接百度语音识别技术
81 1
|
3月前
|
机器学习/深度学习 自然语言处理 大数据
语音识别和语音合成技术
语音识别和语音生成是人工智能的重要分支,旨在实现计算机对人类语音的理解和生成。随着深度学习技术的快速发展,语音识别和生成技术在近年来取得了显著进展,并在多个领域实现了广泛应用。本文将介绍语音识别和生成的基本原理、关键技术及其应用,并探讨其未来的发展趋势。
110 3
下一篇
无影云桌面