日常前言
项目教程目录:https://blog.csdn.net/qq_41082014/article/details/86605663
最近一顿脑热,想要弄个家居控制中心,奈何老天总喜欢玩我,尝试过使用dueros镜像,但是它支持支3B,我的是3B+
后来又买了小度音箱,然后去百度的开发者开放平台逛了一圈,发现,其实开放平台不太开放,适合个人开发的技能很少,而且家居控制完全没有办法做,而且音箱时常会有听错的情况发生;后来又去用git上的一个叫做叮当的项目,但是始终唤醒不了。总之就是一切不顺.......
最终,找到了唯一可用的唤醒api,也就是小度的爸爸——snowboy,但是这个爸爸又被小度全额收购了,这个关系有点乱,算了,不理了
先来看一段视频
http://v.youku.com/v_show/id_XNDAyNjQxMjkwOA==.html?x&sharefrom=android&sharekey=d402c9987cb826740eb7a8eb895918714
是不是有我也想要的冲动(~ ̄▽ ̄)~ ,不要着急,本系列是我个人的第二个中等项目了,所以,童鞋们做好准备,一步一步的来。
开始
先创建一个项目主目录
mkdir yuyin
mkdir yuyin/alexa
重装pyaudio
python自带的pyaudio是老版本,存在一些采样率、区块不适配,还有偶尔找不到设备驱动的bug,源码安装git上最新版本的pyaudio来解决这个问题
apt -y install libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev python-dev
pip3 install numpy matplotlib scipy sklearn hmmlearn simplejson eyed3 pydub
git clone https://github.com/tyiannak/pyAudioAnalysis.git
cd pyAudioAnalysis
python3 setup.py install
安装swig(这是编译snowboy平台代码需要的库)
wget http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz
tar -zxvf swig-3.0.12.tar.gz
cd swig-3.0.12
./configure --without-pcre && make && make install
编译snowboy的平台代码
apt -y install libatlas-base-dev sox pyaudio
git clone https://github.com/Kitt-AI/snowboy.git
cd snowboy/swig/Python3
make
激动人心的第一次唤醒
cd yuyin/snowboy/example/Python3
python3 demo.py ../../resource/alexa/alexa-avs-sample-app/alexa.umdl
此时,叫出一声清脆的“ alexa ”
收到回应,‘ ding ’
哦,贝贝,天呐,感动,这么多天了,终于有个api理我一下了
还有,由于Hi,Messy这个个人模型还没怎么训练,所以识别率很低,先用alexa代替
番外
多次运行唤醒程序后会发现,即使我们正确的配置了声卡文件,硬件功能都能正常使用了,pyaudio依然会报出这么多错误,这里使用os.close(sys.stderr.fileno())
直接关闭系统报错(注意,这个是关闭全部的报错)
本文作者: Messy
原文链接:https://www.messys.top/detail/23
版权声明: 本博客所有文章除特别声明外, 均采用 CC BY-NC-SA 4.0 许可协议. 转载请注明出处!