- 本博客学习由 安信可开源团队 潜心编写,做ESP32-A1S离线语音初步入门技术交流分享。如有不完善之处,请留言,本团队及时更改。 一、前言
离线语音,顾名思义:在不连网络的状态下,产品能识别语音指令并执行相应的控制输出。
安信可基于乐鑫ESP32芯片开发的ESP32-A1S开发板智能语音助手,可支持唤醒词引擎(WakeNet),离线语音命令识别引擎(MultiNet)和前端声学算法。 ESP32-A1S 将 ESP32 与人工智能(AI)语音识别相结合,是安信可完整的 AIoT 解决方案的一部分。下面使用我的开发笔记,将讲解如何使用ESP32-A1S开发板轻松的实现离线语音控制LED灯。
二、离线语音框架
2.1 算法模型 WakeNet 和 识别模型 MultiNet
既然是语音唤醒,本地识别,就离不开算法模型和识别模型,而ESP32-A1S是基于乐鑫一个仓库
esp_sr为基础的。而 esp_sr
提供语音识别相关方向算法模型,目前主要包括三个模块:
- 唤醒词识别模型 WakeNet
- 语音命令识别模型 MultiNet
- 声学算法:集成了回声消除 AEC(Acoustic Echo Cancellation),自动增益调节 AGC(automatic_gain_control),噪声抑制 NS(Noise Suppression),语音活动检测 VAD(Voice Activity Detection) 和麦克风阵列算法(Mic Array Processing)。
2.2 唤醒词识别
唤醒词模型 WakeNet,致力于提供一个低资源消耗的的高性能模型,支持类似“Alexa”,“天猫精灵”,“小爱同学”等唤醒词的识别。
目前,ESP32的唤醒词仅仅开放了如下几个:“Hi,乐鑫”,“你好小智”,“你好小鑫”,“hi,Jeson”等唤醒词。
2.3.2 语音命令识别
命令词识别模型 MultiNet ,致力于提供一个灵活的离线语音命词识别框架。用户可方便根据需求自定义语音命令,无需重新训练模型。
目前模型支持类似“打开空调”&