Google AIY Voice Kit智慧音箱套件,支援中文!

在美國旅遊期間,3C賣場Best Buy和Walmart超市,正好在促銷Google Home Mini,特價29美元(原價49元),但我覺得AIY Voice Kit智慧音箱套件比較有趣,既可自己寫程式玩語音辨識,也能透過它操控樹莓派的GPIO接腳。

既有AIY 2.0版,為何購買1.0版?

AIY套件有1.0和2.0版,AIY套件2.0版包含Raspberry Pi Zero W控制板和microSD記憶卡,也就是一個完整的套件。套件1.0版則沒有控制板和記憶卡,因為家裡已經有控制板,再加上1.0版的擴充介面卡上面有預留這些焊接點:

  • I2C介面
  • SPI介面
  • 6個伺服馬達接腳,也可控制其他數位裝置。
  • 4個MOSFET電晶體電路,可驅動500mA以內的裝置。
  • 5V和3.3V電源輸出
  • 5V電源輸入插座焊接點

單純就硬體來看,AIY Voice Kit其實就是樹莓派的立體聲麥克風和聲音放大器介面板;只要安裝驅動程式,使用者不一定要採用Google的語音服務,也可以安裝Amazon Alexa、離線Snips語音辨識軟體或者其他語音服務。

這是Voice Kit的外盒:

AIY Voice Kit智慧音箱套件

套件裡面有MagPi出版的AIY專題手冊、紙箱外盒、Voice HAT主板、麥克風板、按鍵、連接線和3吋揚聲器。

AIY Voice Kit智慧音箱套件

除了參閱手冊組裝硬體和安裝軟體之外,Google的AIY Voice Kit (V1)網站也有詳細的說明。

這是AIY Kit的Voice HAT擴充板,除了預先焊好的揚聲器、麥克風和按鍵的插座,還預留數位輸出∕入、UART序列埠、I2C以及SPI介面的接腳。

Voice HAT擴充板

這是立體聲麥克風子板,採用MEMS型麥克風元件。

立體聲麥克風子板

Voice HAT組裝完成的模樣,焊接了排插和排母;我採用第二代的Raspberry Pi 2B+,外接USB Wi-Fi無線網卡。

Voice HAT組裝完成的模樣

AIY軟體可以從aiyprojects-raspbian的GitHub專案網站下載Raspbian系統映像檔,已經安裝好AIY Voice Kit的麥克風和聲音放大器的驅動程式,以及AIY套件的範例檔,將此映像檔寫入8GB或更高容量的記憶卡即可使用。

Raspbian OS

AIY Voice Kit支援中文

我的Raspbian系統設置成繁體中文,執行assistant_grpc_demo.py,在聲音辨識階段出現unsupported language_code(不支援的語言代碼)錯誤:

unsupported language_code(不支援的語言代碼)錯誤

因為其中讀取系統「語言」的locale.getdefaultlocale()傳回值是“zh_TW”。只要改程式碼,或者在執行時透過“language”參數將語系改成英文“en_US”,例如:

assistant_grpc_demo.py –language=en_US

這樣就能用英文和中文跟它對話了。

中文對話

同樣地,底下的參數能讓你用日語跟它交流:

assistant_grpc_demo.py –language=ja_JP

這是Google語音助理支援的一些語言及其語系設定:

語言 地區 代碼
英語 United States(美國) en_US
英語 United Kingdom(英國) en_GB
日語 Japan(日本) ja_JP
韓語 Korea(韓國) ko_KR
西班牙語 Espana(西班牙) es_ES
法語 France(法國) fr_FR
法語 Canada(加拿大) fr_CA
德語 Deutschland(德國) de_DE
丹麥語 Denmark(丹麥) da_DK
印度語 India(印度) hi_IN
印尼語 Indonesia(印尼) id_ID
義大利語 Italia(義大利) it_IT
泰語 Thailand(泰國) th_TH
俄羅斯語 Rossia(俄羅斯) ru_RU
瑞典語 Sweden(瑞典) sv_SE

AIY Voice HAT硬體介面

即使拔掉麥克風和喇叭,Voice HAT也是一個不錯的樹莓派I/O介面實驗板,aiyprojects-raspbian專案原始碼的docs路徑裡面,包含此套件的主板和麥克風子板的電路圖(PDF格式)。下圖上面標示I2C和SPI介面,中間左邊則是6個伺服馬達的接腳,這些都需要自行焊接排插。

6個伺服馬達的接腳

根據Google AIY說明文件的“GPIO PINOUT AND EXPANSIONS”單元說明,每個伺服馬達接腳的輸出電流上限是25mA,所以最好搭配9G小型伺服馬達;當然,這些接腳也能連接其他數位裝置。這是其中一組的電路:

伺服馬達的電路

Voice HAT擴充板右下角有4組驅動大電流裝置的接點,每一組都有MOSFET電晶體、二極體和自恢復保險絲(電路板上面標示F1~F4的元件):

4組驅動大電流裝置的接點

這是大電流驅動器的電路,DMG3420U MOSFET技術文件指出,這個MOSFET電晶體的最大VDS電壓是20V、Id電流是5.47A,足夠驅動普通模型馬達或小型繼電器。

MOSFET電路

然而,Google AIY說明文件的“GPIOs, servos, and drivers”單元也提到,串接5V電源和驅動輸出(+)的自恢復保險絲(PTC Fuse)的限流(trip current)值為1A,維持電流(hold current)0.5A,這代表它允許0.5A以內的電流,超過此值,保險絲的電阻值將急遽增大;若電流值到達1A以上,保險絲的阻抗將形同無限大的斷路狀態。

因此,這個保險絲將「大電流驅動」接腳的負載限制在0.5A;若自恢復保險絲斷路了,只要移除電源,讓它在常溫下靜置一分鐘左右,即可恢復正常。

AIY Voice Kit隨附手冊裡面有語音控制伺服馬達和普通馬達的接線和程式範例。

為了驅動大電流設備,擴充板需要外接5V電源,Voice HAT板子有預留5V電源插座的焊接點,電源插座要額外購買;外接5V電源之前,擴充板左下角、標示JP1的銅箔圓點,中間要用美工刀切斷,才能讓原有(系統)的5V電源和外部供電分開來。

電源插座

AIY套件有附帶一個大型的按鍵(內建LED),實驗時,這個按鍵可以不用接,因為板子上也有按鍵和LED,它們和外接的按鍵都連到相同的GPIO腳。

按鍵和LED

按鍵和LED的電路如下:

按鍵和LED的電路

板子中間的矩形區域,包含一個I2S介面的3W單聲道放大器IC MAX98357A,此區域上面的一排焊接點,和Adafruit公司的這一款3W放太器模組一致。

聲音放大電路

如果需要立體聲輸出,需要自行添購Adafruit的3W放大器或者MAX98357A模組,以及喇叭連接端子,右下角標示Stereo的銅箔圓點也要焊接起來(相連)。聲音放大器部份的電路:

聲音放大電路

Posts created 483

14 thoughts on “Google AIY Voice Kit智慧音箱套件,支援中文!

  1. 您好,我們照你的方法改成assistant_grpc_demo.py –language=en_US
    可以辨識英文,但是沒辦法同時辨識中文,聽到中文會變成英文羅馬拼音
    assistant會回說無法辨識,想請問大大如何解決

    1. 請問你在Acions on Google專案程式的語言設定,有加入繁體中文嗎?

      語系設定

      thanks,
      jeffrey

  2. 您好,加入繁體中文後,依然不行,我是造著他的air voice kit project做的
    請問大大還有其他的步驟需要留意嗎,麻煩你了

    1. 我的設定如下:

      在Google的Actions Console新增專案,專案的Overview可設置「中文」語音
      Device Type選擇Speaker

      到「活動控制項」網頁,啟用下列控制項:

      • 網路和應用程式活動(Web & App Activity)
      • 定位記錄(Location History)
      • 裝置資訊(Device Information)
      • 語音和音訊活動(Voice & Audio Activity)

      另外,在手機的Google助理設定畫面,可以看到自動與你的Google帳號連結的「Google助理」裝置;Google助理的交談語言是繁體中文。

      thanks,
      jeffrey

  3. 趙老師
    照著你的方法和網友留言重灌還是有聲音辨識階段出現unsupported language_code(不支援的語言代碼)錯誤訊息。
    設定其他的語言都沒問題。
    老師最後的留言說設定Device Type選擇Speaker,我找不到。
    為什麼沒有設日文或其他語言,卻能聽說…偏偏中文卻不行。

    1. >> Device Type選擇Speaker,我找不到。
      大概是操作介面換了吧~選擇跟智慧音箱相關的類別試試。

      thanks,
      jeffrey

  4. 請問這個套件可以加到google home app裡面
    聲控其他google home裡面的電器嗎
    謝謝

  5. 作者您好~~我想請教一下Voice HAT的針腳是否要自行焊接?,如果要的話是否要再另外購買焊針有哪些地方買得到?若不會焊有代焊的店嗎?Voice HAT可以接其它傳感器(如:紅外線避障之類等等)這些的排針輸出電源是否也需要焊針,不好意思問這麼多問題 再麻煩了 謝謝

    1. GPIO已事先焊接好,即插即用。
      閒置的GPIO腳可自行運用,但需要自行焊接。

  6. 好的~~感謝你的回答
    再請教一個問題Voice HAT是否有支援Pi4嗎? 因為想買來做使用

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top