【ESP32-Korvo测评】三:智能语音助手ESP-Skainet
[复制链接]
本帖最后由 数码小叶 于 2021-1-31 20:36 编辑
ESP-Skainet 是乐鑫开发的智能语音助手,可支持唤醒词引擎(WakeNet),离线语音命令识别引擎(MultiNet)和前端声学算法。其具有轻便、安全、低延迟、唤醒词定制、自定义控制命令等特点。主要的应用场景有智能家居、智慧办公、陪伴设备等。ESP-Skainet的功能框图如下
发现其实它的输入音频不仅可以来自麦克风,还可以是wav/pcm等格式的音频文件。
AEC(Acoustic Echo Cancellation回声消除),AGC(automatic_gain_control自动增益调节),NS(Noise Suppression噪声抑制 ), VAD(Voice Activity Detection语音活动检测),Mic Array Speech Enhancement(麦克风阵列算法)是目前 ESP-Skainet 集成的算法功能。
WakeNet唤醒词模型,目前乐鑫开放的唤醒词有乐鑫免费开放“Hi,乐鑫”, “你好小智”, “你好小鑫”, “hi,Jeson”唤醒词,其他则需要定制了,而且需要一定广的样本数据。
MultiNet命令词模型,这个可以根据需求自定义语音命令,无需重新训练模型。
最后一部分TTS是语音合成,应用场景等。
git clone --recursive https://github.com/espressif/esp-skainet.git
先克隆下整个过程,下载过程真是遥远而漫长,速度巨慢
下载完成后,查看下载的内容,发现Skainet提供了6个例程“chinese_tts”、“garbage_classification”、“get_started”、“mic_array_speech_enhancement”、“noise_suppression”、“wake_word_detection”,看着“get_started”比较适合作为第一个例程,那就复制一份“get_started”
尝试编译,但是编译未通过,报错。只能查看CMakeOutput.log文件,寻找原因,也没任何提示,只显示通过了的项目。。。
只能慢慢测试,最后发现了问题所在
因此,这个get_started项目不能毫无修改的复制啊,那就先备份一份,去原路径编译吧,编译OK
烧写到板子上,测试,get_started自带了20个语音命令
然而测试结果并不理想,不但识别率低,而且反馈回来的都是错误的命令,比如说0,识别成5,说7识别成8.,于是尝试了各种更改参数,结果问题并未解决,偶然一次在下载时发现flash的大小不正确,于是修改了正确的flash大小后,问题解决
终于是可以正确识别了,但是就是识别率低
又看了一下配置参数,将speech commands recognition mode after wake up改了下
改为单次识别后,识别到的语音几乎全正确
识别率几乎和自带的demo例程没有什么区别了,最后一点,在众多唤醒词中,还是觉得“你好,小鑫”这个最顺口
|