樹莓派通過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

 

 

全套教程下載地址點擊下載

打賞二維碼,多謝支持

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章