用樹莓派打造自己的對話式智能家居控制中心——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 許可協議. 轉載請註明出處!

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