树莓派自制智能语音助手之语音唤醒

自从用《树莓派搭建家庭影院》并《用cpolar实现内网穿透》后,我的树莓派再一次进入了积灰状态。最近看了两篇关于自制智能语音助手的文章后,忽然静极思动,再次把树莓派拿了出来,倒腾一番。

要想让树莓派实现智能语音助手,首先要实现语音唤醒功能,从CSDN上找到了N篇攻略,最终参考博文《树莓派3B+指南(十一)安装配置snowboy》予以实施。具体安装过程这篇博文写的很清楚,我这里主要把自己遇到的问题列举下,以供参考。

1.换源

清华的源设置后不知怎么无法完成更新,于是换了一个阿里的源:

2.安装pyaudio

执行博文中的第一条指令,安装portaudio19-dev时遇到了报错,原来是缺少了依赖项libjack-dev,于是先执行sudo apt-get install libjack-dev,之后再根据博文完成了pyaudio的安装。

3.配置麦克风

这一步也可以参考我之前的博文《NO.5 测试树莓派的语音功能》。

4. 下载编译swig和snowboy

按照参考博文执行,先建一个snowboy的目录,进入该目录后按如下顺序操作:

需要注意的是,我在编译snowboy时出现“fatal error: Python.h: No such file or directory”的报错。出现这个报错是因为我的树莓派的Python开发包没有安装,所以要先执行“sudo apt-get install python3-dev”的操作,然后再回到指定目录执行make。编译成功后在目录下就会生成一个_snowboydetect.so文件。

另外,参考其他博文,我还安装了sox,“sudo apt-get install sox”,据说不装这个可能始终无法唤醒。

5.配置修改

打开/snowboy/snowboy/examples/Python3/snowboydecoder.py,把其中的“from . import snowboydetect”改为“import snowboydetect”。

6.复制所需文件到自己的工程目录

创建一个自己的工程目录,然后把如下文件复制到目录中:

/snowboy/snowboy/swig/Python3/目录下除了“Makefile”以外的所有文件。

/snowboy/snowboy/目录下的"resource"文件夹及其所有文件。

/snowboy/snowboy/examples/Python3/目录下的“snowboydecoder.py”文件和”demo.py”。

7.demo测试

进入工程目录,输入:python3 demo.py resources/models/snowboy.umdl

结果出现如下报错:

查了好几篇文章最终确定,主要问题就是黄色方框内提示的采样率问题。因为树莓派在基于pyaudio录音时其声卡不支持16K采样率。(黄框上部alsa的报错可以忽略,不影响唤醒)

采样率的解决方案就是安装pulseaudio:sudo apt-get install pulseaudio

安装完成后,在终端直接输入“pulseaudio --start”,启动pulseaudio。

这时候重新运行demo,用snowboy唤醒词,系统就会显示成功。

8.训练唤醒词模型

打开Snowboy Personal Wake Word,在线录音三次后提交,会自动生成对应的唤醒词.pmdl。

将这个pmdl文件放到工程目录中,再次执行demo程序,但对应的模型换成这个自定义的pmdl文件。

写在最后,语音唤醒经过上述8步已经实现。从实际测试效果来看,也可能是usb麦克风的原因导致唤醒词的识别还不够灵敏。后续再慢慢调整吧。

基于树莓派语音助手项目python源码(Snowboy唤醒系统,百度语音API进行语音识别).zip 【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括但不限于计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【特别强调】 项目下载解压后,项目名字和项目路径不要用中文,建议解压重命名为英文名字后再运行!遇到问题先搜索下,一般都是环境问题,当然也可以私信沟通,祝顺利! 基于树莓派语音助手项目python源码(Snowboy唤醒系统,百度语音API进行语音识别).zip基于树莓派语音助手项目python源码(Snowboy唤醒系统,百度语音API进行语音识别).zip基于树莓派语音助手项目python源码(Snowboy唤醒系统,百度语音API进行语音识别).zip基于树莓派语音助手项目python源码(Snowboy唤醒系统,百度语音API进行语音识别).zip基于树莓派语音助手项目python源码(Snowboy唤醒系统,百度语音API进行语音识别).zip基于树莓派语音助手项目python源码(Snowboy唤醒系统,百度语音API进行语音识别).zip基于树莓派语音助手项目python源码(Snowboy唤醒系统,百度语音API进行语音识别).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天飓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值