AIoT for Beginner — Voice device

22 12
AIoT Taipei
Published in
4 min readApr 28, 2019

首先我們帶大家入門實作一個語音裝置(Voice device)

目前市面上有著許多現成的智慧音箱可供選擇,例如: echo dot、google home等等的。

對於開發者(or Maker)來說也有許多套件以及平台可供選擇,以下是這次會用到的材料與相關套件:

1.材料清單

  1. Raspberry Pi (建議使用 Raspberry Pi 3 B or B+)
  2. 喇叭(Speaker)
  3. USB 麥克風

( 在RPi3上,2 跟 3 也可以使用iPhone耳機 or 其他有speaker的耳機代替)

4. Google Voice Kit

也可以購買Googe 的語音套件(不含樹莓派與SD卡)

2.聽覺 — STT

STT 就是 Speech To Text,就是所謂的語音辨識,將一段聲音傳給模型後,模型會回傳給你相應的文字。目前已經有許多訓練好的模型可供使用,也可以使用各大廠提供的雲端API (如: Goolge、AWS及微軟等等的)

對於python用戶來說還有一個很方便的套件包可供使用,那就是SpeechRecognition ,這個套件包幫你整合了許多的語音辨識API,讓你可以更方便及更彈性的去做選擇,如下:

在安裝前須先安裝以下相關套件

# jeston nano
$ sudo apt-get install python-pyaudio python3-pyaudio
$ sudo apt-get install flac ffmpeg
# raspberry
$ sudo pip3 install pyaudio

最後便可以安裝 SpeechRecognition

sudo pip3 install SpeechRecognition

在使用上也很精簡,我們首先看看一段範例程式(以下使用python3):

運用一段簡單的程式便能讓電腦聽得懂自己的話!!!

3.說話 — TTS

現在電腦聽得懂自己的話了,該怎麼讓電腦進行回答呢?

便是運用TTS ,所謂的TTS就是 Text to speech,就是將語音辨識模型傳回來的文字轉成語音,這樣看起來就像是電腦在說話呢!

我們運用google免費提供的套件包gTTs(Google Text-to-Speech),來進行回答,由於這個套件算是免費的,所以她的處理速度較慢,需要比較有耐心才行。

sudo pip3 install gTTSsudo pip3 install pydub

程式範例:

有了這段code後,只要將上面 STT 程式範例中的 print() 改成 speak()

便可以完成一個簡單的語音裝置。

4. alexa

關於TTS個人認為在辨識效率及速度上已經十分不錯了,但是STT還是過於機械化,這邊我是採用alexa的Polly能讓你的語音更為順暢,並且小編覺得好聽非常多非常多!

以下是範例程式碼:

基本上只要輸入自己的key_id以及asscess_key就能使用

5. 測試結果

以下是在Google的Voice Kit上使用的結果,之後也會補上在Jetson Nano上測試的影片上來。

如果有任何問題能在下面進行留言~

現在已經可以讓你的嵌入式裝置聽得懂,並且也可以說了。

下一篇就會教大家如何讓自己的嵌入式裝置思考,敬請期待!

--

--