ReSpeaker雙麥克風擴充板(2-Mics Pi HAT) 玩法

ReSpeaker 2-Mics Pi HAT 是專為 AI 和 語音應用設計的 Raspberry Pi 雙麥克風擴充板。基於WM8960開發的低功耗立體聲解碼器。 兩側各有一個麥克風收音,還提供 3個APA102 RGB LED,1個使用按鍵開關和 2個 Grove 介面插槽。 此外,3.5mm 音頻插子或 JST 2.0 揚聲器輸出均可用於音頻輸出。

規格

  • Raspberry Pi Zero / Zero W / B+ / Pi 2 / Pi 3 適用
  • 雙麥克風
  • 2 個 Grove 介面: 支援 GPIO 及 I2C
  • 可程式化控制按鍵及 LED 燈(包括 1 按鍵和 3 LED 燈)
  • 內鍵音訊編/解碼器
  • 雙音訊輸出: 3.5mm 音訊插孔、JST2.0 揚聲器輸出
  • 可遠至 3 公尺外收音
  • 尺寸: 65mm x 30mm x 15mm
  • 重量:G.W 34g N.W 12g

驅動程式安裝

  • 更新來源清單
sudo nano /etc/apt/sources.list
// 注解掉原內容,改用下列來源
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib
sudo apt-get update
sudo apt-get upgrade
git clone https://github.com/respeaker/seeed-voicecard.git
cd seeed-voicecard
sudo ./install.sh
reboot
  • 測試
arecord -f cd -Dhw:1 | aplay -Dhw:1

安裝Python虛擬環境

git clone https://github.com/respeaker/4mics_hat.git
cd /home/pi/4mics_hat
sudo apt install python-virtualenv // 安裝虛擬環境
virtualenv --system-site-packages ~/env  // 建立虛擬環境,放於~/env目錄下
source ~/env/bin/activate  //啟動虛擬環境
pip install spidev gpiozero // 安裝需要的函數

結合Google Assistant SDK

  • 先按照Google 指南安裝相關套件及專案設定步驟。
source env/bin/activate
sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk[samples]
  • 取得credentials
source env/bin/activate   // 若尚未進入,請先進入虛擬環境
python -m pip install --upgrade google-auth-oauthlib[tool]
google-oauthlib-tool --client-secrets 4mics_hat/client_secret_843987795841-ebcee0tmit9g11t6soagk3ees4sn8f67.apps.googleusercontent.com.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headles
// 遵照畫面說明把取得的 credentials 貼回命令列,會看到credentials存到 /home/pi/.config/google-oauthlib/tool/credentials.json
  • 取得project ID
    先進入Google Actions Console,點選左上角的齒輪,進入Project settings 就可以看到 ProjectID,記錄下來。

測試 OK Google

source env/bin/activate  // 若未進入虛擬環境,請先進入
googlesamples-assistant-hotword --project_id 上個步驟的project ID --device_model_id ModelID(可以從 Device registration畫面取得)
// 或使用
env/bin/google-assistant-demo // 就可以啟動

開啟之後,就可以透過: OK Google 啟動命令,可以問問:
* Who am I?
* Listen to This American Life podcast.
* What is the weather in San Francisco?

STT(Speech to Text) SDK

開機後自動啟動

  • google_assistant.service
[Service]
ExecStart=/bin/bash -c '/home/pi/4mics_hat/env/bin/python3 -u /home/pi/4mics_hat/env/bin/google-assistant-demo'
WorkingDirectory=/home/pi/4mics_hat/env/bin/
Restart=always
User=pi

[Install]
WantedBy=multi-user.target
  • sudo mv google_assistant.service /lib/systemd/system/
  • sudo systemctl enable google_assistant.service
  • sudo service google_assistant.service status

GPIO 控制

GPIO

參考資料