欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能

程序员文章站 2024-02-26 10:14:16
...

树莓派学习之旅(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

然后就会发现报错
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
我们打开snowboydecoder.py 文件,将第 5 行代码 from * import snowboydetect 改为 import snowboydetect 即可直接运行。
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
可以看到,你喊出sonwboy的时候,会打印出成功识别的信息,并且发出"ding"的提示音。

五、生成语音模型,自定义唤醒词唤醒词

录制3 个wav 格式的的音频文件,内容即为你的唤醒词,最好使用你要运行唤醒功能的机器录制,录音参数最好设置和程序中的一样,通过查阅程序,我得到的参数为:

采样深度为16位即2个字节、声道数为1、采样率为16K、

打开snowboy 官网
,然后登录,例如,我这里使用github账号登录,登录完成点击创建,
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
然后输入名称,语言和备注,点击【Record my voice】
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
然后将你录制的三个文件上传,点击【Test the model】
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
测试成功后选择下载:
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
得到你好的模型:
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
然后我们新建一个项目目录,将以下文件放入:

1、下载好的 nihaoxiaobai.pmdl 模型文件
2、snowboy/swig/Python3 目录下编译好的 _snowboydetect.so
3、snowboy/examples/Python3 目录下的 demo.pysnowboydecoder.pysnowboydetect.py 文件以及 resources 目录

树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能

然后我们尝试运行命令:

python3 demo.py nihaoxiaobai.pmdl

可以看到,当喊出你好,小白的时候,会打印出成功识别的信息,并且发出"ding"的提示音。
树莓派学习之旅(3)— 使用 snowboy 做语音唤醒功能
我们可以看到,什么会报一些错误信息,但是并不影响我们的识别,要想去除,可以参考:
https://www.cnblogs.com/starktan/p/9365999.html

相关标签: 树莓派3B