樹莓派學習之旅(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