Python开发之路(4)—使⽤snowboy做语⾳唤醒功能
Python开发之路(4)— 使⽤ snowboy 做语⾳唤醒功能
本次开发在Ubuntu16.04虚拟机系统。
⼀、snowboy介绍
snowboy 是⼀个开源的、轻量级语⾳唤醒引擎,可以通过它很轻松地创建属于⾃⼰的类似“hey, Siri” 的唤醒词。它的主要特性如下:
⾼度可定制性。可⾃由创建和训练属于⾃⼰的唤醒词 始终倾听。
可离线使⽤,⽆需联⽹,保护隐私。精确度⾼,低延迟 轻量可嵌⼊。
耗费资源⾮常低(单核700MHz 树莓派只占⽤ 10% CPU)
开源跨平台。开放源代码,⽀持多种操作系统和硬件平台,可绑定多种编程语⾔
⼆、安装依赖
安装 pulseaudio 软件,减少⾳频配置的步骤:
sudo apt-get install pulseaudio
安装 sox 软件测试录⾳与播放功能,安装完成后运⾏ sox -d -d 命令,对着麦克风说话,确认可以听到⾃⼰的声⾳。
sudo apt-get install sox
安装 SWIG(>3.0.10)
sudo apt-get install swig
安装 ATLAS:
sudo apt-get install libatlas-base-dev
然后Pyaudio的安装在之前的博客讲过:
三、获取源码,进⾏编译
直接使⽤git拉取即可
git clone github/Kitt-AI/snowboy.git
如果GitHub拉取不超过,可以测试使⽤我导⼊到码云的源码:
git clone gitee/william_william/snowboy.git
拉取源码成功后,进⼊Python3⽬录
cd snowboy/swig/Python3
然后使⽤make命令开始编译。
tar -xzvf swig-3.0.
然后安装需要使⽤的依赖⼯具:
sudo apt-get install g++
sudo apt-get install libpcre3 libpcre3-dev
然后进⼊swig源码:
cd swig-3.0.12/
配置
./configure
编译
make
安装:
sudo make install
然后将swig导⼊到环境变量,打开bashrc
sudo vi ~/.bashrc
添加以下两⾏到bashrc中
SWIG_PATH=/usr/local/share/swig/3.0.12
PATH=$PATH:$SWIG_PATH
使之⽣效
source ~/.bashrc
使⽤swig -version确认版本型号
swig -version
四、测试功能
进⼊官⽅⽰例⽬录 snowboy/examples/Python3 并运⾏以下命令:
python3 demo.py resources/models/snowboy.umdl
然后就会发现报错
我们打开snowboydecoder.py ⽂件,将第 5 ⾏代码 from * import snowboydetect 改为 import snowboydetect 即可直接运⾏。
可以看到,你喊出sonwboy的时候,会打印出成功识别的信息,并且发出"ding"的提⽰⾳。
五、⽣成语⾳模型,⾃定义唤醒词唤醒词
录制3 个wav 格式的的⾳频⽂件,内容即为你的唤醒词,最好使⽤你要运⾏唤醒功能的机器录制,录⾳参数最好设置和程序中的⼀样,通过查阅程序,我得到的参数为:
采样深度为16位即2个字节、声道数为1、采样率为16K、
打开
,然后登录,例如,我这⾥使⽤github账号登录,登录完成点击创建,
然后输⼊名称,语⾔和备注,点击【Record my voice】
然后将你录制的三个⽂件上传,点击【Test the model】
测试成功后选择下载:
得到你好的模型:
然后我们新建⼀个项⽬⽬录,将以下⽂件放⼊:
1、下载好的 model.pmdl 模型⽂件
2、snowboy/swig/Python3 ⽬录下编译好的 _snowboydetect.so 库
3、snowboy/examples/Python3 ⽬录下的 demo.py、snowboydecoder.py、snowboydetect.py ⽂件以及 resources ⽬录
python虚拟机然后我们尝试运⾏命令:
python3 demo.py nihaoxiaobai.pmdl
可以看到,当喊出你好,⼩⽩的时候,会打印出成功识别的信息,并且发出"ding"的提⽰⾳。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。