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