1. 程式人生 > >基於樹莓派使用DuerOS的筆記,待續

基於樹莓派使用DuerOS的筆記,待續

前言

我使用的攝像頭是羅技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