我使用的摄像头是罗技C270,自带麦克风。snowboy官方推荐的是 PlayStation 3 Eye webcam
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表示上面的声音输入编号
更多细节请查看官方文档
在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)
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的使用
从如下地址下载openssl安装包 (链接: https://pan.baidu.com/s/1skAP6WH 密码: wknz)
从如下地址下载python2.7.14安装包 (链接: https://pan.baidu.com/s/1o8MHkzK 密码: ngx4)
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