树莓派搭建SnowBoy完整教程
电脑上插入麦克风,激活后,点击“record”就可以录制唤醒词。注意:中文唤醒词最好4个字,我的唤醒词定义为了“小爱同学”,那么点击 “record”按钮,录制至少3个“小爱同学”的语音,然后输入模型的名称"xiaoai",然后点击“submit”。很快就会训练完成,训练完成后点击“save model”,即可下载"xiaoai.umdl"文件,这就是我们的自定义唤醒词模型。将模型放置到/home
最近想用吃灰的树莓派3B做一个语音唤醒助手,对接chatgpt或讯飞星火的API实现智能语音助手!
想要实现和天猫精灵、小爱同学音响的唤醒效果,那必然需要使用SnowBoy了!看网上的教程虽然简单,但实际搭建过程中可能会出现各种坑,仅此记录。
一、环境
本人环境为32位树莓派4B
二、下载snowboy源码
cd ~
git clone https://github.com/Kitt-AI/snowboy.git
三、编译snowboy
安装依赖
sudo apt install python3 python3-pyaudio python3-pip libatlas-base-dev portaudio19-dev swig
同时需要安装以下依赖
sudo apt-get install sox
如果不安装sox,那么在使用snowboy提供的demo进行测试时,可能始终无法唤醒。
进入SnowBoy编译目录
cd snowboy/swig/Python3
开始编译
make
编译完成后,文件如下:
将编译好的库文件移动到样例文件下
cp snowboydetect.py _snowboydetect.so ../../examples/Python3/
进入样例文件夹
cd snowboy/examples/Python3
修改snowboydecoder.py文件,注释掉
#from . import snowboddetect
新加一行
import snowboydetect
如下图所示:
现在一切就绪,先别着急运行demo,我们先配置一下树莓派的声卡。
四、树莓派声卡配置
我用的是一个usb免驱麦克风,将麦克风插到树莓派上,使用以下命令查看声卡的编号
cat /proc/asound/cards
所以我的声卡编号是2。
新建/home/pi/.asoundrc文件,并添加以下内容:
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 1
}
其中card 1就是指声卡的编号。
五、声音测试
录一段音看看是否正常
rec test.wav
注意:如果rec命令提示不存在,那么一定要确认是否安装aox,我在搭建过程中发现,如果rec命令不存在,那么直接执行snowboy示例的话,是死活都无法唤醒的。
播放录制的声音,看看效果怎么样
aplay test.wav
注意:我发现录制的声音杂音很多,而且声音很小,所以需要使用alsamixer工具调节一下声音。
alsamixer
按F4选中[Capture],然后上下键将数值调到100。
使用sox再次测试,以下命令可以播放录制的音频或者通过以下命令通过音箱听见你说话的声音。
sox -d -d
确保录制的声音清晰无杂音,那么就可以测试一下snowboy的demo了。
cd snowboy/examples/Python3/
python3 demo.py resources/models/snowboy.umdl
出现上图效果,说明运行成功了,如果提示缺包,那就用pip安装一下。
用麦克风喊出“snowboy”,就会看到唤醒成功的提示,大功告成。
六、自定义唤醒词
我们自己的智能音响,自然是要使用自己喜欢的唤醒词, 唤醒词是需要训练的,但snowboy官方已经倒闭了,无法在线训练,可以使用以下网址:
Snowboy Personal Wake Word (hahack.com)
电脑上插入麦克风,激活后,点击“record”就可以录制唤醒词。
注意:中文唤醒词最好4个字,我的唤醒词定义为了“小爱同学”,那么点击 “record”按钮,录制至少3个“小爱同学”的语音,然后输入模型的名称"xiaoai",然后点击“submit”。
很快就会训练完成,训练完成后点击“save model”,即可下载"xiaoai.umdl"文件,这就是我们的自定义唤醒词模型。
将模型放置到/home/pi/snowboy/examples/Python3目录下,然后运行程序。
python3 demo.py xiaoai.pmdl
大声喊出“小爱同时”,唤醒成功。
参考:
[Raspi][SnowBoy][教程]树莓派SnowBoy搭建教程-CSDN博客
基于树莓派4B和snowboy的个性化语音唤醒配置(可在线训练自己的模型)_snowboy 语音唤醒-CSDN博客
树莓派安装snowboy | 码农家园 (codenong.com)
树莓派3B+指南(十一)安装配置snowboy - 灰信网(软件开发博客聚合) (freesion.com)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)