Picovoice离线语音识别在Linux系统的部署
前言:Picovoice平臺在國內的應用案例很少,國內也沒有官網,國外主站https://picovoice.ai/。本文基于Ubuntu系統部署Picovoice平臺,我也嘗試過在樹莓派上部署,相當成功和簡便,就是線上平臺的操作需要花點時間去理解操作。相信大家閱讀過本文后會更加容易理解。附上官方教程站點:https://picovoice.ai/docs/
一、簡介
Picovoice 離線語音識別主要由兩個語音識別引擎組成。
豪豬引擎Porcupine Wake Word Engine(部署喚醒詞)
犀牛引擎Rhino Speech-to-Intent Engine(部署語音指令,提取關鍵信息)
這個兩個引擎的組合就可以實現喚醒和辨別指令的功能,比如說:
“Hey, siri. open the light.”
"Hey, siri. "是屬于豪豬引擎部分,"open the light."屬于犀牛引擎部分。
"light"相當于一個變量,我們可以在犀牛引擎中定義多個不同的變量,一樣通過"open the $value."的方式來執行不同的指令,進而控制不同的對象。
Picovoice 可以部署在多平臺上,本文章直接介紹Linux系統上的部署過程。
其他平臺的部署方式,詳情請參考官方的指導:https://picovoice.ai/docs/
二、部署Picovoice
picovoice基于python3,想要部署picovoice,首先要部署好pip3(pip3是安裝python3庫的命令)
sudo apt-get install python3-pip
然后更新升級pip3
python3 -m pip install --upgrade pip
然后安裝一些依賴文件
sudo apt-get install build-essential python-dev python3-setuptools portaudio19-dev libffi-dev
利用pip3安裝所要依賴的python3庫Cython
pip3 install Cython
升級Cython庫
pip3 install --upgrade Cython
安裝picovoicedemo
sudo pip3 install picovoicedemo
三、訓練喚醒詞和指令
在Picovoice Console平臺里(https://console.picovoice.ai/)
進入豪豬引擎訓練自定義喚醒詞,最后獲得.ppn文件。
點擊生成時,會提示你選擇所應用的平臺,如果你在虛擬機Linux系統上面那就選Linux(x86_64)平臺,如果是樹莓派/TinkerBoard上面,就用Raspberry Pi平臺
喚醒詞的訓練生成時間較長(大概20分鐘),耐心等待,完成后會發郵件通知。
一些特殊平臺的自定義喚醒詞服務要收費,如果你嫌訓練耗費的時間長,或者不想花錢,你可以去Github下載一些現成的訓練文件我們可以從Github下載一些現成的訓練文件:https://github.com/Picovoice
進入犀牛引擎訓練自定義語音指令,最后得到.rhn文件
創建好項目后,點擊項目進入到犀牛引擎內容設置界面:
舉個例子,我做個語音助手,可以幫我開燈、開風扇。我就這樣子設置:
在light槽里面定義兩個燈的狀態關鍵詞:on,off
也在fan槽里面定義兩個風扇的狀態關鍵詞:on,off
設置好后地點擊訓練生成,可以看到犀牛引擎對于全平臺都是免費的。
把.ppn文件和.rhn文件搬到Linux文件系統內,然后以絕對路徑的形式(推薦),作為picovoice_demo_mic命令的傳入參數,然后終端就會進入到監聽狀態。
安裝picovoicedemo后,在終端就可以執行picovoice_demo_mic命令,
picovoice_demo_mic --keyword_path /xxx/xxx/.ppn --context_path /xxx/xxx/.rhn
四、測試Picovoice
我用我訓練的一個喚醒詞“darren”,和在上文中訓練的對話項目“test”進行測試。
五、語音識別調用終端命令
有同學會問,識別是識別出來了,但是如何實現響應操作呢?
很簡單!picovoice是基于python實現的,只需要找到picovoice_demo_mic命令的實現源碼文件,件并加以修改即可。
首先要找到picovoice_demo_mic命令的實現源碼文件,你可以嘗試全局搜索
sudo find / -name “picovoice_demo_mic*”
就發現/usr/local/lib/python3.8/dist-packages/picovoicedemo/picovoice_demo_mic.py,我們查看一下
舉個例子,例如:
至此,你就可以利用Picovoice調用終端實現更多的功能。
總結
以上是生活随笔為你收集整理的Picovoice离线语音识别在Linux系统的部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery+baidu map api
- 下一篇: 现代计算机简介