用树莓派打造自己的对话式智能家居控制中心——Hi,Messy(一)

日常前言

项目教程目录: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 许可协议. 转载请注明出处!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章