Snowboy实现热词唤醒在虚谷号、ubuntu16.04 arm64系统的实现
Snowboy 是一款高度可定制的唤醒词检测引擎,可以用于实时嵌入式系统,并且始终监听(即使离线也是可以的);当前,它可以运行在 (Ubuntu)Linux 和 Mac OS X 系统上。
Snowboy官方文档地址 :http://docs.kitt.ai/snowboy
Snowboy官方源码下载地址:https://github.com/Kitt-AI/snowboy.git(这个源码下载后需要修改以适配虚谷号)
安装依赖
- 安装pulseaudio软件:$ sudo apt-get install pulseaudio(虚谷号已经预装)
- 安装sox软件:$ sudo apt-get install sox
- 安装 PyAudio:$ sudo apt-get install python3-pyaudio
- 下载swig软件,下载地址:https://pan.baidu.com/s/1DC1Gzl-PzvMk50WeFXUZpw 提取码:nckk
- 安装 SWIG(>3.0.10):$ sudo dpkg -i swig-3.0.12.deb
- 安装atlas矩阵计算库:$ sudo apt-get install libatlas-base-dev(虚谷号已经预装)
测试麦克风和音响
虚谷号需要购买一个USB声卡,插入虚谷号板子上后,接上喇叭和麦克风,打开 pulseaudio音量控制 软件设置默认输出和输入设备,如下图:
1、点击Set as fallback按钮就可设置成默认输出设备
2、点击Set as fallback按钮就可设置成默认输入设备
设置完之后,打开终端运行sox -d -d命令,对着麦克风说话,喇叭传出你说的话时代表麦克风和音响工作正常。
自带声卡、麦克风和喇叭的硬件可以直接在终端中运行sox -d -d命令测试。
下载snowboy源码并编译
1、获取源码:$ git clone https://gitee.com/l_wolf/Snowboy.git
2、编译 Python3 绑定:$ cd Snowboy/swig/Python3 && make
编译完成后如下图所示:
测试
1、进入官方示例目录下: $ cd Snowboy/examples/Python3
2、运行demo程序:$ python demo.py resources/models/snowboy.umdl
注:
- snowboy.umdl文件为语音识别模型。
- 测试时最好先将Snowboy/resources/snowboy.wav音频用手机录下来。
snowboy.umdl文件为语音识别模型
测试过程中,用上述录过snowboy.wav音频的手机对着麦克风播放该语音(或者对着麦克风清晰的说出snowboy),程序识别后,会在终端打印对应的消息,同时喇叭会“叮”的声音发出,那代表snowboy配置成功。测试结果如下图所示:
至此,snowboy在虚谷号上就可以完美的使用,有兴趣的人可以加一些自己的想要的功能。