ESP-Skainet [English]
ESP-Skainet 是乐鑫推出的智能语音助手,目前支持唤醒词识别和命令词识别。
ESP-Skainet 以最便捷的方式支持基于乐鑫的 ESP32系列 芯片的唤醒词识别和命令词识别应用程序的开发。使用 ESP-Skainet,您可以轻松构建唤醒词识别和命令词识别应用程序。
ESP-Skainet 的功能支持如下所示:
输入音频流可以来自麦克风,或Flash/TF 卡中的 wav/pcm 等音频文件文件。
唤醒词模型 WakeNet,致力于提供一个低资源消耗的的高性能模型,支持类似“Alexa”,“天猫精灵”,“小爱同学”等唤醒词的识别。
目前乐鑫免费开放“Hi,乐鑫”, “你好小智”, “你好小鑫”, “Hi,ESP”唤醒词。如果用户需要其它唤醒词,乐鑫提供有唤醒词定制服务,具体可参考 乐鑫语音唤醒词定制流程。
命令词识别模型 MultiNet ,致力于提供一个灵活的离线语音命词识别框架。用户可方便根据需求自定义语音命令,无需重新训练模型。
目前模型支持类似“打开空调”,“打开卧室灯”等中文命令词识别和"Turn on/off the light" 等英文命令词识别,自定义语音命令词最大个数为 200。
声学前端算法Audio Front-End(AFE) 集成了回声消除 AEC(Acoustic Echo Cancellation),自动增益调节 AGC(automatic_gain_control),噪声抑制 NS(Noise Suppression),语音活动检测 VAD(Voice Activity Detection) 和麦克风阵列算法(Mic Array Speech Enhancement)。
为了运行 ESP-Skainet,您需要一块集成了音频输入模块的开发板。 开发板支持:
The following examples are currently available:
Example Name | Latest Models | Supported Board |
---|---|---|
cn_speech_commands_recognition | MultiNet7 | ESP32-Korvo, ESP32-S3-Korvo-1, ESP-BOX, ESP-S3-Korvo-2, ESP32-S3-EYE, ESP32-P4-Function-EV |
en_speech_commands_recognition | MultiNet7 | ESP32-S3-Korvo-1, ESP-BOX, ESP-S3-Korvo-2, ESP32-S3-EYE, ESP32-P4-Function-EV |
wake_word_detection | WakeNet9 | ESP32-Korvo, ESP32-S3-Korvo-1, ESP-BOX, ESP-S3-Korvo-2, ESP32-S3-EYE, ESP32-P4-Function-EV |
chinese_tts | esp-tts-v1.7 | ESP32-Korvo, ESP32-S3-Korvo-1, ESP-BOX, ESP-S3-Korvo-2, ESP32-P4-Function-EV |
usb_mic_recorder | ESP-BOX, ESP-S3-Korvo-2 |
关于针对应用的具体配置,请参考每个示例中的 README.md。
您可以使用以下命令克隆整个工程:
git clone https://github.com/espressif/esp-skainet.git
在本工程目前支持 ESP-IDF v4.4 和 ESP-IDF v5.0 版本。如果您之前已经搭建过 ESP-IDF 环境并且不想更改现有的变量,可以将 IDF_PATH 环境变量配置为新的 ESP-IDF 的路径 .
注意: 如果使用ESP-IDFv3.2及之前版本,建议参考esp-skainet v0.2.0
获取更多关于搭建 ESP-IDF 环境的细节,请参考 Getting Started Guide for ESP-IDF release/v4.4 branch
examples 文件夹包含了使用 ESP-Skainet API 搭建的一些应用示例。
请从wake_word_detection示例开始:
- 进入示例文件夹 `esp-skainet/examples/wake_word_detection:
cd esp-skainet/examples/wake_word_detection
- 编译和烧写
idf.py flash monitor
- 用户可以使用 idf.py menuconfig 命令添加或修改语音命令。
获取更多细节,请阅读示例中的 README.md
-
在 GitHub 上参考问题 如果你发现了一个 bug 或者提出一个 feature,请在开启新问题前参考已经存在的问题。
-
如果你对开发 ESP-Skainet 有兴趣, 清参考 Contributions Guide.