树莓派离线语音唤醒

来源:so.csdn.net 发布时间:Nov 27, 2020, 7:10:08 AM 原地址:https://blog.csdn.net/weixin_41877339/article/details/110118356

语音唤醒

为了节约树莓派资源,延长使用时间,考虑使用语音唤醒服务。初步有两种解决方案,一个是使用一直在用的科大讯飞语音服务,一个是使用snowboy语音唤醒引擎,来分析比较一下两者的优劣。

科大讯飞

重新进行SDK的申请,值得注意的是,语音唤醒词和SDK是捆绑的,要是想要更换语音唤醒词的话必须要重新下载SDK文件。
在这里插入图片描述这次我下载的SDK文件和上次的有所不同,选择了离线命令词识别,离线语音合成以及语音唤醒服务,探索想要达成的服务功能是进行语音唤醒然后命令词控制机器狗作不同的动作并且作出语音反馈。

在这里插入图片描述不过科大讯飞的语音唤醒服务是需要额外进行购买的。
在这里插入图片描述在这里插入图片描述另外,科大讯飞给出的语音唤醒demo是通过判断录制的音频实现的,且不能做到实时唤醒。网上有个教程自己编写结构实现了实时语音唤醒,不过感觉有点复杂。

snowboy

snowboy 是一个开源的、轻量级语音唤醒引擎,可以通过它很轻松地创建属于自己的类似“hey, Siri” 的唤醒词。它的主要特性如下:

  • 高度可定制性。可自由创建和训练属于自己的唤醒词
  • 始终倾听。可离线使用,无需联网,保护隐私。精确度高,低延迟
  • 轻量可嵌入。耗费资源非常低(单核 700MHz 树莓派只占用 10% CPU)
  • 开源跨平台。开放源代码,支持多种操作系统和硬件平台,可绑定多种编程语言
    参考教程
    在这里插入图片描述
    需要升级swig在这里插入图片描述
    确实会有报错
    在这里插入图片描述
    按照教程进行修改
    官方源代码使用 Python3 测试有报错,经测试需修改 snowboy/examples/Python3 目录下的 snowboydecoder.py 文件。
    将第 5 行代码 from * import snowboydetect 改为 import snowboydetect 即可直接运行。

运行之后出现新的问题:
在这里插入图片描述问题原因:
在这里插入图片描述还是有关声卡的部分。