树莓派通过snowboy唤醒引擎(Python2、Python3的都可以),自定义唤醒词、关键字,达到小爱同学、天猫精灵一样的唤醒方式的全套教程

Python2的方案如下:

1、首先需要下载snowboy的安装包,连接如下:

https://s3-us-west-2.amazonaws.com/snowboy/snowboy-releases/rpi-arm-raspbian-8.0-1.2.0.tar.bz2

  通过命令 tar -xjf  rpi-arm-raspbian-8.0-1.2.0.tar.bz2 进行解压,建议解压到树莓派的/usr/local/ 目录下面

2、首先卸载树莓本身的pyaudio软件,然后进行安装

sudo apt remove python-pyaudio python3-pyaudio

sudo apt install libasound-dev

sudo apt-get install libatlas-base-dev sox swig

接下来是安装pyaudio,这里需要先进行下载,到如下网址下载 pa_stable_v190600_20161030.tgz

http://www.portaudio.com/download.html

 

对 pa_stable_v190600_20161030.tgz 进行解压 通过 tar -xzf pa_stable_v190600_20161030.tgz  进行解压,然后进行安装

进到解压后的文件下面,进行如下操作

sudo ./configure
sudo make
sudo make install
sudo apt-get install python-pyaudio python3-pyaudio

这样就安装好了

Python3的方案如下:

先按照Python2的方式把所有的都装一遍

安装 PyAudio:

sudo apt-get install python3-pyaudio

安装 SWIG :

sudo apt-get install swig

安装 ATLAS:

sudo apt-get install libatlas-base-dev

安装pluseaudio和python3-dev,不然会报出9997的问题

sudo apt-get install -y pulseaudio python3-dev

下载snowboy源码

https://github.com/Kitt-AI/snowboy

进到

cd snowboy/swig/Python3

然后

sudo make

进到Python3的的例子中

cd  snowboy/examples/Python3

开始运行,喊一声snowboy就可以听到叮的一声

python3 demo.py resources/models/snowboy.umdl

会出现报错

把官方案例文件中的 snowboydecoder.py 文件修改一下,把from . import snowboydetect改为import snowboydetect然后再运行。就ok了。

参考链接

https://www.pianshen.com/article/7751946046/

3、 树莓派如果新增了麦克风的输入设备,需要进行如下操作,改配置文件让usb声卡作为默认的音频输入

#在/home/pi目录下新增如下文件
sudo vim .asoundrc
#新增如下内容 (这个地方根据自己的来,默认按照如下情况,特殊情况特殊对待)
pcm.!default {
  type asym
   playback.pcm {
     type plug
     slave.pcm "hw:0,0"
   }
   capture.pcm {
     type plug
     slave.pcm "hw:1,0"
   }
}

4、进入到标题1中的文件夹下面,这里需要一个关键词文件,才可以开始进行唤醒

https://snowboy.kitt.ai/hotword/

进到上面链接的网址,这里需要注册一个github账号,右上角登录,然后会跳转到一个界面,点击创建唤醒词

这里接下来开始输入一些唤醒词名字呀,然后语言选择中文,点击右下角创建 

开始录音,建议在树莓派上面录好之后上传到页面,创建录音文件命令如下,创建test1.wav, test2.wav, test3.wav
 

arecord -D "plughw:1,0" -d 3 -r 16000 -t wav -f S16_LE test1.wav

arecord -D "plughw:1,0" -d 3 -r 16000 -t wav -f S16_LE test2.wav

arecord -D "plughw:1,0" -d 3 -r 16000 -t wav -f S16_LE test3.wav

 这样做的好处在于,你是用树莓派的录音功能录得音,然后识别出来的模型就更加真实贴近你用树莓派唤醒的方式

 

上传完之后如下所示 

点击右下角开始测试模型,国内网速不是很好,大家需要耐心等待一下,有可以翻过去的建议连接纸飞机,速度快

然后你就说一句你的唤醒词,唤醒成功了,就可以点击右下角的Save and download了,会出现一个小笼包.pmdl ,需要更改为

snowboy.pmdl

5、最后一部,将snowboy.pmdl放到1号标题中的rpi-arm-raspbian-8.0-1.2.0.tar.bz2 解压好的文件夹中,运行如下指令,开始你的关键字唤醒之旅吧

python demo.py snowboy.pmdl

6、参考连接,建议大家参考我的来,因为我是整理整个过程的博主,避免大家踩坑

https://blog.csdn.net/Nicholas_Wong/article/details/77977715

https://blog.csdn.net/sinat_35162460/article/details/86547013

https://www.cnblogs.com/rnckty/p/8067115.html

https://snowboy.kitt.ai/hotword/36305

https://github.com/Kitt-AI/snowboy

http://docs.kitt.ai/snowboy/#introduction

有关百度语音识别的同学,只需要参考这篇文章即可,同时注意最新的pid是 1537 ,大家注意了,下面链接中可能是 1536

https://blog.csdn.net/sinat_35162460/article/details/86544772

全套教程下载地址点击下载

打赏二维码,多谢支持

猜你喜欢

转载自blog.csdn.net/gonepoo/article/details/105701320
今日推荐