ESP32S3IDF在线语音识别
一、开发原因:
1.目前大部分的语音识别都是基于本地离线的识别,常见的简单设计方案有:
这种的话局限性很大,如果更换指令需要修改离线语音模块的内部代码工作量大大增加趣味性比较低那有没有一种可能将我们实时说的话识别出来?
这样我只需要更改STM32部分代码就行?肯定是有的下面听听兰花君的设计方案
二、方案设计
1.识别
使用百度语音API他接口丰富支持识别的语言种类多
当然也可以使用阿里云的有免费次数
百度云识别文档:https://ai.baidu.com/ai-doc/SPEECH/Hk38lxo4u
2.声音采集和上传
上传这方面可以用WIFI模块,和4G模块(4G没必要)声音采集有两种方案:
方案一:
方案二:
这里首选方案二成本低而且ESP32S3官方有语音例程,也有官方的语音开发板,所以只需要搞定上传部分就OK了、本次使用到的开发板:
当然后期会出比较迷你的小板板配合圆形屏幕当然这是以后的事情了
三、代码框架实现
1.开发环境:IDF4.4这个自己配置
2.代码框架
3.主要代码
esp_http_client_config_t config = {.url = "百度API",.event_handler = _http_event_handler,}; esp_http_client_handle_t client = esp_http_client_init(&config);esp_http_client_set_method(client, HTTP_METHOD_POST); esp_http_client_set_post_field(client, (const char *)buff, wav_size* 1024);esp_http_client_set_header(client, "Content-Type", "audio/pcm;rate=16000"); esp_err_t err = esp_http_client_perform(client);if (err == ESP_OK) {// printf("HTTP POST Status = %d, content_length = %d\r\n",// esp_http_client_get_status_code(client),// esp_http_client_get_content_length(client));} else {printf( "HTTP POST request failed: %s", esp_err_to_name(err));}esp_http_client_cleanup(client);free(buff);buff = NULL;
录音在官方例程有,录制好声音用上面就可以使用看看效果采集10秒录音:
最后为了这个助手更加的具有灵动性特意加了机器人自动对话:
void http_test_task(char *str)
{char cOutp[100]={0};char sp[200]="http://api.yunke.com/api.php?key=?&appid=0&msg=";UrlEncode(cOutp,80,str);printf("URL==========%s===========\r\n",cOutp);strcat(sp,cOutp);esp_http_client_config_t config = {.method = HTTP_METHOD_GET, //get请求.url =sp,.event_handler = _http_event_handle,};esp_http_client_handle_t client = esp_http_client_init(&config);// GETesp_err_t err = esp_http_client_perform(client);if (err == ESP_OK) {ESP_LOGI(TAG, "HTTP GET Status = %d, content_length = %d",esp_http_client_get_status_code(client),esp_http_client_get_content_length(client));} else {ESP_LOGE(TAG, "HTTP GET request failed: %s", esp_err_to_name(err));}esp_http_client_cleanup(client);
}
效果:下个版本会加个播报模块上去
四、期待下次更新
ESP32S3IDF在线语音识别相关推荐
- tensorflow 语音识别_调研报告|在线语音识别改进方法之序列区分性训练
这篇文章主要调研的是一种常见的改进在线语音识别的方法:序列区分性训练(Sequence Discriminative Training).相信有很多人已经在 CTC/CE 的训练上遇到了瓶颈,而一些新 ...
- 为提升在线语音识别效率,他创造了两种升级版算法模型
近日,阿里算法专家坤承携<使用改进版本的LATENCY-CONTROLLED BLSTM 算法模型提升在线语音识别效率>(IMPROVING LATENCY-CONTROLLED BLST ...
- 调研报告|在线语音识别改进之 RNN-T 训练
这篇文章主要调研的是另外一种改进在线语音识别的方法:基于 RNN Transducer 方法.当然最近强势的基于 Transformer 的 Encoder-Decoder 在线方法(MoChA-ty ...
- 特大动作:OLAMI 在线语音识别 API SDK 上线!
原标题:特大动作:OLAMI 在线语音识别 API & SDK 上线! 最新消息,欧拉蜜人工智能开放平台更新了两项重要功能:在线语音识别 API及SDK(软件开发工具包)下载. 此举意味着,欧 ...
- 三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的
前面的博客里说过最近几个月我从传统语音(语音通信)切到了智能语音(语音识别).刚开始是学语音识别领域的基础知识,学了后把自己学到的写了PPT给组内同学做了presentation(语音识别传统方法(G ...
- Java实现在线语音识别
本文为大家分享了Java实现在线语音识别的具体方法,供大家参考,具体内容如下 利用讯飞开发平台作为第三方库 首先需要在讯飞开发平台下载SDK,网址为,讯飞开发平台,这些SDK 下载都是免费的,当然你需 ...
- 在线语音识别引擎及识别方法与流程
本发明涉及语音识别领域,具体涉及一种在线语音识别引擎及识别方法. 背景技术: 深度学习网络(Deep-Learning Neural Network,DNN)技术的发展,带来了语音识别领域的飞速发展. ...
- 【Android App】在线语音识别功能实现(使用云知声平台与WebSocket 超详细 附源码)
需要源码和相关资源请点赞关注收藏后评论区留下QQ~~~ 一.在线语音识别 云知声的语音识别同样采用WebSocket接口,待识别的音频流支持MP3和PCM两种格式,对于在线语音识别来说,云知声使用JS ...
- ESP32在线语音识别 词法解析
文章目录 在线语音识别的优势 一,语音识别流程图 二,录音 三,词法分析 在线语音识别的优势 在线语音识别结合语义分析,具有识别精准,灵活性高的特点,但是,其处理速度不如离线识别. 一,语音识别流程图 ...
最新文章
- python计时函数_python计时函数
- 全球及中国商用杠铃架行业营销策略及投资建议分析报告2021-2027年版
- 第九章 隐马尔科夫模型HMM
- idea springmvc项目搭建_ssm框架整合搭建流程 - 小白小承
- fir滤波器matlab实现_关于FIRamp;IIR系统的算法说明以及结果验证(1)
- 文章用图的修改和排版
- nginx+lua+redis deny ip
- 如何成为一位黑客 ( How To Become A Hacker )
- win7下用docker部署的基于openvino的yolov5算法(二)openvino的docker镜像下载和安装
- Mac电脑如何添加管理员账户?
- JAVA环境配置详细教程
- JavaScript封装回调函数(委托)
- oracle恢复删除的表
- JavaScript:实现Comb sort梳排序算法(附完整源码)
- k8s 1.25学习8 - 使用Ratel工具部署应用
- 社群运营,做好群活跃的6个要点
- H3C新华三链路聚合介绍
- M2及WMO导入插件 (Max8)
- 【微信支付】十分钟解决内网穿透,实现微信支付本地测试
- airpods麦克风测试软件,苹果AirPods新维修工具上线 可区分是污垢堵塞还是故障
热门文章
- 怎么快速无损地把avi转换mov格式
- 生活中,我们不知道的……
- 163邮箱的格式什么样的?常见的电子邮箱品牌有哪些?
- 1、关于形参与实参的区别与理解
- 新课程导学杂志新课程导学杂志社新课程导学编辑部2022年第30期目录
- C#获取CPU温度(OpenHardwareMonitorLib.dll库)
- C语言写的同学录管理程序
- MODBUS通讯协议及编程【一】
- 小马哥--高仿苹果6s plus 主板型号H339P-v72刷机拆机主板图与开机识别图
- 02_11_Java语音进阶||day11_网络编程【TCP|UDP】