树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
一、安装依赖
安装 pulseaudio 软件,减少音频配置的步骤:
sudo apt-get install pulseaudio
安装 sox 软件测试录音与播放功能,安装完成后运行 sox -d -d
命令,对着麦克风说话,确认可以听到自己的声音。
sudo apt-get install sox
安装 SWIG(>3.0.10)
sudo apt-get install swig
安装 ATLAS:
sudo apt-get install libatlas-base-dev
二、获取源码,进行编译
直接使用git拉取即可
git clone https://github.com/Kitt-AI/snowboy.git
如果GitHub拉取不超过,可以测试使用我导入到码云的源码:
git clone https://gitee.com/william_william/snowboy.git
拉取源码成功后,进入Python3目录
cd snowboy/swig/Python3
然后使用make
命令开始编译。
三、测试功能
进入官方示例目录 snowboy/examples/Python3 并运行以下命令:
python3 demo.py resources/models/snowboy.umdl
然后就会发现报错
我们打开snowboydecoder.py
文件,将第 5 行代码 from * import snowboydetect
改为 import snowboydetect
即可直接运行。
可以看到,你喊出sonwboy
的时候,会打印出成功识别的信息,并且发出"ding"的提示音。
五、生成语音模型,自定义唤醒词唤醒词
录制3 个wav 格式的的音频文件,内容即为你的唤醒词,最好使用你要运行唤醒功能的机器录制,录音参数最好设置和程序中的一样,通过查阅程序,我得到的参数为:
采样深度为16位即2个字节、声道数为1、采样率为16K、
打开snowboy 官网
,然后登录,例如,我这里使用github账号登录,登录完成点击创建,
然后输入名称,语言和备注,点击【Record my voice】
然后将你录制的三个文件上传,点击【Test the model】
测试成功后选择下载:
得到你好的模型:
然后我们新建一个项目目录,将以下文件放入:
1、下载好的 nihaoxiaobai.pmdl 模型文件
2、snowboy/swig/Python3 目录下编译好的_snowboydetect.so
库
3、snowboy/examples/Python3 目录下的demo.py
、snowboydecoder.py
、snowboydetect.py
文件以及resources
目录
然后我们尝试运行命令:
python3 demo.py nihaoxiaobai.pmdl
可以看到,当喊出你好,小白
的时候,会打印出成功识别的信息,并且发出"ding"的提示音。
我们可以看到,什么会报一些错误信息,但是并不影响我们的识别,要想去除,可以参考:
https://www.cnblogs.com/starktan/p/9365999.html