树莓派Raspberry pi 4B 运行 WuKong-Robot 智能语音对话机器人
環(huán)境:
-
Hardware: Raspberry PI 4B - 8G - SD 卡(16G)
-
OS :Raspberry Pi OS 2021Desktop Download
-
Python3/ Win32DiskImager(燒錄鏡像軟件) Or Raspberry Pi Imager(樹莓派自帶鏡像燒錄軟件)
-
USB 麥克風(fēng)/音箱(耳機(jī))
1. 搭建操作系統(tǒng)
Step 1: 官網(wǎng)下載鏡像文件,經(jīng)測(cè)試樹莓派4B安裝 Ubuntu20 桌面版本經(jīng)常出現(xiàn)卡頓現(xiàn)象,而且 Ubuntu20 總是出現(xiàn)令人抓狂的依賴問(wèn)題,最終還是刷回了 Raspberry Pi OS 2021桌面版系統(tǒng)。官網(wǎng)鏡像下載慢的話,可以使用迅雷下載,通常能在 5 分鐘左右下載完成。
Step 2: 使用 Win32DiskImager 將下載好的鏡像燒錄進(jìn) SD 卡中,燒錄 Ubuntu20 多次出現(xiàn)無(wú)法樹莓派無(wú)法啟動(dòng)的現(xiàn)象。最穩(wěn)定的還是 Raspberry Pi OS。
Step 3: 燒錄好鏡像之后,將 SD 卡插入樹莓派,通電啟動(dòng)。如果出現(xiàn)樹莓派標(biāo)志和二維碼則說(shuō)明鏡像燒錄出現(xiàn)故障,需要重新燒錄鏡像。Ubuntu 18 以下的系統(tǒng)似乎很難成功燒錄并運(yùn)行,搜索了很久也沒有找到正確的解決辦法,如果有小伙伴成功了,不妨分享一下。
Step 4: 系統(tǒng)盡量設(shè)置成英文,避免莫名其妙的故障。成功啟動(dòng)樹莓派之后,需要更換國(guó)內(nèi)源。在此之前需要對(duì) vi 配置進(jìn)行修改,默認(rèn)配置極其難用,上下左右鍵各種惡心,修改如下:
sudo vi /etc/vim/vimrc.tiny # set compatible set nocompatible # 增加一行 set backspace=2按 Esc 鍵,再輸入 :wq!
tips: 如果編輯過(guò)程中誤按了上下左右鍵,出現(xiàn)字母又無(wú)法恢復(fù)的情況,按一下 Esc ,再按一下 字母 d 鍵進(jìn)行刪除。按字母 i 鍵進(jìn)入編輯模式,重新輸入即可。(注意 d 鍵是刪除一整行,請(qǐng)注意)
Step 5: 完成以上步驟,就可以使用 vi 來(lái)修改源文件,增加國(guó)內(nèi)源。在修改源文件之前,請(qǐng)先備份,指令如下:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak備份好后,修改 sources.list 文件和 raspi.list 文件如下:
注釋掉之前的內(nèi)容,最后添加兩句:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi注釋掉之前的內(nèi)容,最后添加兩句:
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main uitips: 雖然有很多國(guó)內(nèi)源,但是此項(xiàng)目使用清華源出現(xiàn)的坑最少。
sudo apt-get update # 更新系統(tǒng)軟件如果不習(xí)慣使用單調(diào)無(wú)趣的 vi ,可以安裝功能更加強(qiáng)大的 vim:
sudo apt-get update sudo apt-get install vim如果vim右鍵賦值出了問(wèn)題,樹莓派默認(rèn)裝好vim之后,右鍵不能粘貼,反而進(jìn)入了visual模式,那么執(zhí)行以下操作
sudo vim /usr/share/vim/vim80/defaults.vim在第 70 行, mouse=a 中間加 ‘-’, 改為: mouse-=a
如果在右鍵粘貼大批數(shù)據(jù)的時(shí)候亂序,你需要進(jìn)行以下操作,樹莓派4變成了vim81
sudo vim /usr/share/vim/vim80/defaults.vim在最后面加上一句,這樣粘貼的時(shí)候,按一下F11,然后你就粘貼不亂序了,再按一下F11退出粘貼數(shù)據(jù)模式。
set pastetoggle=<F11>更改樹莓派名稱(記住,這是你的樹莓派名稱,不是你的登陸賬號(hào))以及登陸密碼
1、在hosts和hostname里面都需要更改樹莓派的名稱,博主的是littlePi,是不是很萌
sudo vi /etc/hosts sudo vi /etc/hostname在hosts里面更改這個(gè)后面的localhost為你自己的樹莓派名稱
在hostname里面,也個(gè)更改為自己的名稱
2、接下來(lái)就是更改密碼了,依次更改****賬號(hào)pi和root****的密碼,這里賬號(hào)已經(jīng)默認(rèn)有pi和root了
sudo passwd pi sudo passwd root依次輸入密碼并且確認(rèn)密碼即可.
2. 搭建 wukong-robot 運(yùn)行環(huán)境
Python2的方案如下:
首先卸載樹莓本身的pyaudio軟件,然后進(jìn)行安裝
sudo apt remove python-pyaudio python3-pyaudio sudo apt install libasound-dev sudo apt-get install libatlas-base-dev sox swig接下來(lái)是安裝pyaudio,這里需要先進(jìn)行下載,到如下網(wǎng)址下載 pa_stable_v190600_20161030.tgz
http://www.portaudio.com/download.html對(duì) pa_stable_v190600_20161030.tgz 進(jìn)行解壓 通過(guò) tar -xzf pa_stable_v190600_20161030.tgz 進(jìn)行解壓,然后進(jìn)行安裝
進(jìn)到解壓后的文件下面,進(jìn)行如下操作
sudo ./configure sudo make sudo make install sudo apt-get install python-pyaudio python3-pyaudio這樣就安裝好了
Python3的方案如下:
先按照Python2的方式把所有的都裝一遍
安裝 PyAudio:
sudo apt-get install python3-pyaudio安裝 SWIG :
sudo apt-get install swig安裝 ATLAS:
sudo apt-get install libatlas-base-dev安裝pluseaudio和python3-dev,不然會(huì)報(bào)出9997的問(wèn)題
sudo apt-get install -y pulseaudio python3-dev下載snowboy源碼
git clone git@gitee.com:harrytsz/snowboy.git進(jìn)到
cd snowboy/swig/Python3然后
sudo make進(jìn)到Python3的的例子中
cd snowboy/examples/Python3開始運(yùn)行,喊一聲snowboy就可以聽到叮的一聲
python3 demo.py resources/models/snowboy.umdl會(huì)出現(xiàn)報(bào)錯(cuò)
把官方案例文件中的 snowboydecoder.py 文件修改一下,把from . import snowboydetect改為import snowboydetect然后再運(yùn)行。就ok了。
參考鏈接
https://www.pianshen.com/article/7751946046/3、 樹莓派如果新增了麥克風(fēng)的輸入設(shè)備,需要進(jìn)行如下操作,改配置文件讓usb聲卡作為默認(rèn)的音頻輸入
#在/home/pi目錄下新增如下文件 sudo vim .asoundrc#新增如下內(nèi)容 (這個(gè)地方根據(jù)自己的來(lái),默認(rèn)按照如下情況,特殊情況特殊對(duì)待) pcm.!default {type asymplayback.pcm {type plugslave.pcm "hw:0,0"}capture.pcm {type plugslave.pcm "hw:1,0"} }以上步驟安裝完成 snowboy 模塊,接下來(lái)就是使用 snowboy 喚醒模塊來(lái)配合百度語(yǔ)音識(shí)別和合成 API 以及智能對(duì)話機(jī)器人 API 完成語(yǔ)音到文字再傳輸?shù)街悄軐?duì)話系統(tǒng)中,接收到智能對(duì)話系統(tǒng)的反饋之后,再將文字轉(zhuǎn)換為語(yǔ)音信息。
手動(dòng)安裝 wukong-robot
wukong-robot 官網(wǎng)
Linux 系統(tǒng)
sudo apt-get install portaudio19-dev python-pyaudio python3-pyaudio sox pulseaudio libsox-fmt-all ffmpeg pip3 install pyaudioCopy to clipboardErrorCopied如果遇到 pip3 安裝慢的問(wèn)題,可以考慮使用 Pypi 鏡像。例如 清華大學(xué) Pypi 鏡像 。
Mac 系統(tǒng):
brew install portaudio sox ffmpeg pip3 install pyaudioCopy to clipboardErrorCopied如果你沒有 Homebrew ,參考本文安裝
安裝依賴的庫(kù):
這一步極其重要,因?yàn)檫@個(gè)項(xiàng)目年代久遠(yuǎn),操作系統(tǒng)環(huán)境依賴已經(jīng)沒有辦法解決,經(jīng)過(guò)多次嘗試。我選擇將 requirements.txt 中的版本號(hào)全部刪除,python 庫(kù)全部選擇默認(rèn)安裝最新版本,最終成功解決了令人吐血的無(wú)限循環(huán)依賴問(wèn)題,執(zhí)行如下命令:
requirements.txt 安裝完成之后,就可以進(jìn)行最后一步。命令行進(jìn)入 wukong-robot/ 目錄下,執(zhí)行:
python3 wukong.py彈出提示,輸入 ‘y’ 即可。
此時(shí),不出意外就能聽到提示音。對(duì)著麥克風(fēng)大喊“孫悟空”,如果能得到智能的回應(yīng),則說(shuō)明整個(gè)鏈路全部跑通了,接下來(lái)就是功能擴(kuò)展部分了。如果一直得到無(wú)法聽清你在說(shuō)什么的提示音的話,就需要去檢查圖靈機(jī)器人的 API 是否已經(jīng)失效,換個(gè)圖靈機(jī)器人 API 重新測(cè)試即可。如果無(wú)法聽到語(yǔ)音播報(bào),則有可能是百度語(yǔ)音識(shí)別模塊出現(xiàn)問(wèn)題,需要檢查百度語(yǔ)音識(shí)別 API 是否失效,注冊(cè)百度語(yǔ)音服務(wù)賬號(hào),然后將自己的 AppId 等信息填入到后臺(tái)管理選項(xiàng)中。
在瀏覽器中輸入 localhost:5000 ,即可進(jìn)入登陸頁(yè)面,賬號(hào)默認(rèn) wukong ,密碼默認(rèn):wukong@2019
登錄進(jìn)后臺(tái)之后,就可以對(duì) wukong-robot 的 API 進(jìn)行修改和配置了。
3. 測(cè)試智能語(yǔ)音 API
百度語(yǔ)音識(shí)別接口:https://console.bce.baidu.com/ai/?fromai=1#/ai/speech/overview/index
參考博客:https://www.cnblogs.com/apollo1616/p/10274511.html
人工智能(百度AI+圖靈) https://www.cnblogs.com/lbzbky/articles/12088900.html
總結(jié)
以上是生活随笔為你收集整理的树莓派Raspberry pi 4B 运行 WuKong-Robot 智能语音对话机器人的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全网最详细SIFT算法原理实现
- 下一篇: 制作lfw格式的数据集