基于ESP32的语音识别系统

 一、简介

本项目的目的是制作一个简单常见的语音识别设备,识别出语音中的特定词汇以启动,并识别和完成特定指令。

二、硬件部分

硬件部分包括:ESP32,麦克风,扬声器,LED灯

三、语音识别模型

1.训练数据

使用包含 36 个声音类别的开源数据集,将音频分割成片段,并为每个片段生成频谱图。

训练数据

2.训练模型

使用卷积神经网络 (Convolutional Neural Network, CNN),两个卷积层(Convolutional Layer)、一个最大池化层(Max Pooling Layer)、一个展平层(Flatten Layer)、一个Dropout层以及多个全连接层(Dense Layers),Adam优化器。

​训练结果

3. 转换为TFLite(TensorFlow Lite)模型

量化:将 32 位浮点数转换为 8 位整数,使用紧凑参数缩小模型大小,定义生成器函数,提供具有代表性的数据集样本,生成器函数从完整的训练数据集中提取小批量数据,这些样本将提供给 TFLite 转换器,用于计算转换参数。

四、网络连接语音识别模型

1.利用应用程序接口进行语音识别

利用API(Application Programming Interface,应用程序编程接口),将捕捉到的音频输入转换为基于文本的命令,充分利用其先进的自然语言处理能力;将音频数据从 ESP32 传输到云服务端,确保可靠、准确的语音识别;定制语言模型,以识别特定的语音命令。

2.使用百度语音识别

百度语音识别

检查 wi-fi 连接状态,使用 JSON 发送数据与返回结果,逐块发送数据,将数据合并在一起。

接收并解析来自 API 的文本命令,将识别到的命令映射到 ESP32 固件中的相应功能,根据识别到的语音命令触发相应的 ESP32 操作。

五、实物图

六、项目总结

1.工作内容

成功将音频识别与 ESP32 集成,利用 API 进行语音到文本的转换,实现语音控制智能功能。

2.不足

因为网络连接超时和ESP32内存的限制,我们无法在短时间内调用语音识别 API 并将数据导入 ESP32。

3.改进

探索和扩展语音控制功能,以包含更广泛的命令,与其他智能家居设备集成,并进一步优化系统性能和用户体验。

X. L. GUO, Y. X. YANG, H. X. Liu, J. X. Peng

Reference: https://github.com/atomic14/diy-alexa

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值