基於樹莓派使用DuerOS的筆記,待續
阿新 • • 發佈:2019-01-30
前言
我使用的攝像頭是羅技C270,自帶麥克風。snowboy官方推薦的是 PlayStation 3 Eye webcam
基礎環境
檢視系統USB裝置
root@raspberrypi:~/#lsusb #檢視系統USB裝置
Bus 001 Device 010: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
檢視音效卡裝置
root@raspberrypi:~/# cat /proc/asound/cards
0 [ALSA ]: bcm2835 - bcm2835 ALSA
bcm2835 ALSA
1 [U0x46d0x825 ]: USB-Audio - USB Device 0x46d:0x825
USB Device 0x46d:0x825 at usb-3f980000.usb-1.4, high speed
root@raspberrypi:~/# arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: U0x46d0x825 [USB Device 0x46d:0x825], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
可以使用arecord -D "plughw:1,0" temp.wav
來錄製一段音訊試試,結束請Ctrl+C,或者使用-d 60
來記錄一段60秒的錄音
plughw後面的1表示上面的聲音輸入編號
更多細節請檢視 官方文件
snoyboy
在shell執行下面語句準備安裝工作
apt-get -y install alsa-utils alsa-tools alsa-tools-gui
apt-get install python-pyaudio python3-pyaudio sox
pip install pyaudio
首先去Snowboy上註冊自己的語音庫並下載,然後再下載官方的Demo。
解壓後執行:
python demo.py snow.pmdl
snow.pmdl就是你從snowboy上下載的語音庫了。
然後會跳出來一堆英文,直到你看到提示
Listening... Press Ctrl+C to exit
OK,你可以對著mic說出你的hotwords了
INFO:snowboy:Keyword 1 detected at time: 2017-10-31 00:45:43
INFO:snowboy:Keyword 1 detected at time: 2017-10-31 00:46:02
INFO:snowboy:Keyword 1 detected at time: 2017-10-31 00:46:36
INFO:snowboy:Keyword 1 detected at time: 2017-10-31 00:47:12
測試了幾次識別率都挺高的
這有一份官方給出的簡易demo,可以在此基礎上進行開發
import snowboydecoder
def detected_callback():
print "hotword detected"
detector = snowboydecoder.HotwordDetector("snow.pmdl", sensitivity=0.5, audio_gain=1)
detector.start(detected_callback)
使用DuerOS的準備工作
sudo apt-get update
sudo apt-get install python-dateutil
sudo apt-get install gir1.2-gstreamer-1.0
sudo apt-get install python-pyaudio
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo pip install tornado
sudo pip install hyper
下載編譯好的openssl和Python安裝包,並進行安裝, 需要更新openssl才能支援python sdk的使用
sudo tar -zxvf openssl1.1.tar.gz -C /usr
sudo tar -zxvf python2.7.14.tar.gz -C /usr/local/
sudo rm -rf /usr/bin/python
sudo ln -s /usr/local/python2.7.14/bin/python /usr/bin/python
更新了之後pip就不能用了,總是提示缺少檔案,去官網下載原始碼包,把裡面檔案都複製到/usr/lib/python2.7/dist-packages/pip/,搞定,pip可以正常使用了。
pip install hyper