AIY Projects kitが入荷しました。Google AIY Voice Kit
AIY Projects kitは話し声を認識するGoogleのAPI
- Google Assistant API
- Cloud Speech API
をRaspberry Piに組み込んで体験できるキットです。
今年10月Google Homeが発売されてテレビCMでよく聞いた「OK Google」がこのキットでも可能です。
AIY Projects kitは最初にRaspberry Pi公式の雑誌MagPiの付録として登場し、その人気でMagPi 57号(5月号)は売り切れてしまい、ずっと入手できなかったのですが、最近になってようやく商品として発売開始されました。
キットの内容
- ダンボール
- LED、ボタン、スピーカー、ケーブル
- マイクが搭載された基板 Voice HAT microphone board
- アンプやGPIOの付いた基板 Voice HAT accessory board
- 冊子(組み立て方法やカスタマイズ方法掲載)
マイク基板(上)には2つのマイクが搭載されています。メイン基板(下)には、GPIO、SPI、I2C、UART、サーボ用の端子が用意されているので、自分でセンサーやアクチュエーターを追加することができます。
この基板はRaspbian Stretchなら /boot/config.txt
に dtoverlay=googlevoicehat-soundcard
を追加するだけで使えるので、AIYキットで楽しんだ後は別のプロジェクトにも利用できそうです。
キットを完成させるには以下のものは別途入手しておく必要があります。
- Raspberry Pi本体
- SDカード(4GBでもいけるように思うが確認する)
- 電源ケーブル(USB micro端子で供給する)
対応するRaspberry Piは3、2、Zero Wです。ただしZero Wは、Python google-assistant-libraryの現バージョン(2017年10月現在)が非対応のためデモプログラムのいくつかは動作しないことにご注意ください。
動かすまでにやること
- OSのイメージをSDカードに焼く
- 組み立てる
- GoogleのAPIを呼び出すための設定
をして完成させます。
1は、Raspbian JessieをベースにしたOSのイメージが用意されているので、ダウンロードしてSDカードに書き込みます。最近ではEtcherがあるのでこの作業は簡単です。(* 既存のイメージを使わずに自分でインストールすることもできます。)
2の組み立ては、冊子やウェブのマニュアルを見ながら進めて行きます。冊子の写真はとてもわかりやすいです。
3はプロジェクトや認証情報の作成などを、Google Cloud Platformで行います。(Raspberry PiではなくリモートのPCでも可能で、その場合認証情報のjsonファイルをRaspberry Piに転送する必要があります。)
サンプルプログラムの起動
Google Assistant SDKを試す
Google Assistant SDKを使うと「OK Google」の声をトリガーにして、質問などに対して返答を得ることができます。
サンプルを試すには、デスクトップのアイコン「Start dev terminal」アイコンをクリックするなどしてsrc/assistant_library_demo.py
を起動します。(これは/home/pi/AIY-voice-kit-python/
にあります。)
初めての場合はGoogle OAuth2の認可を求められますので、ブラウザ上で承認して得られたコードを入力します。
動き出したら「OK Google」と呼びかけるとLEDが点灯するので、英語で「How are you?」などと話しかけると返事が帰ってきます。
英語ではなく日本語を使いたいところですが、実は現時点(2017年11月1日現在)では英語(en-US)にしか対応していません。Google Homeは日本語が使えていますので、こちらも近いうちに日本語対応してくれるのではないかと期待されます。
その後、2017年12月20日に日本語への対応が行われたようです。 The Google Assistant SDK - new languages, API updates, and Device Actions (2018年1月追記)
自分で機能を追加するにはこちらのサンプルコードに追加して試すのが手取り早そうです。
Cloud Speech API
もう1つのAPI、Cloud Speech APIは様々な言語に対応した音声のテキストデータ化ライブラリで、日本語が通じます。ただし「OK Google」ではなくボタン等で起動する必要があります。
利用するには別途Cloud Speech APIのアクティベーションが必要になります。
日本語を認識させるには、RecognitionConfigのlanguage_codeをja-JPに切り替える必要があるので、例えばsrc/cloudspeech_demo.py
のmain関数に
import aiy.i18n aiy.i18n.set_language_code('ja-JP')
の2行を書き加えてからsrc/cloudspeech_demo.py
を実行し、ボタンを押して話しかけます。ターミナルの画面をみると日本語として認識されていることがわかります。
サンプルコードを元にして自分のコマンドをプログラムして簡単に試してみることもできます。
カスタマイズ
今回は2つのことをやってみました。
- サーボを取り付けてCloud Speech APIで動きを命令する
- 赤外線LEDを取り付けてGoogle Assistant SDKでカメラのシャッターを切る
関連情報
- AIYキットのホームページ
- Raspberry Pi公式サイト AIY Projectのフォーラム
- キットに同梱の冊子にも、モーターやサーボのつなぎ方などが載っています。
お正月のお休みにいかがでしょう。