Google AIY Projectsシリーズ第1弾「Voice Kit」を使って、日本語に対応した音声AIアシスタントアシスタント「Google Assistant」を作る方法をまとめてみました。
SDカードのセットアップ
・パソコンのブラウザから公式ページにアクセスし、「Voice Kit SD Image」ファイルをダウンロードしてください。この記事を執筆している時点でのファイル名は「aiyprojects-2018-02-21.img.xz」です。
・ダウンロードした上記のファイルはxz形式で圧縮されてますので、解凍ソフトを使って解凍します。日ごろ使っている解凍ソフトがxz形式に対応していない場合は、windowsでしたら「7-Zip(フリーソフトです)」などxz形式に対応したソフトを導入してください。本記事執筆時点の解凍後ファイル名は「aiyprojects-2018-02-21.img」です。
・linuxの場合はtarコマンドで解凍することができます。
・パソコンにSDカード書き込みソフト「Etcher」がインストールされていない場合は、Etcherの公式ページにアクセスして、自分のパソコンのOS用の最新版をダウンロードしてください。筆者の場合windows64向けなので、本記事執筆時点のファイル名は「Etcher-Setup-1.3.1-x64.exe」です。ダウンロード後にクリックするとインストールできます。
・パソコンにmicro SDカードを挿入してください。パソコンにSDカード用スロットがついていない場合は、USB SDカードアダプタを使う必要があります。[1000円ぐらいで買えます。]
(https://www.amazon.co.jp/gp/product/B00G1FES2O/ref=oh_aui_search_detailpage?ie=UTF8&psc=1)
・Etcherを起動してください。Etcherのインターフェースはシンプルでわかりやすいですね。3つのアイコンが並んでますので、左側のアイコンにイメージファイルをドラッグ&ドロップするか、「Select Image」をクリックしてイメージファイルを選択してください。
・micro SDカードがきちんと差し込まれていれば中央のアイコンにデバイスの種類や記憶容量が表示されているはずです。問題なければ「Flash!」ボタンをクリックしてください。
組み立て
・公式ページは英語ですが、大きな写真を使って説明されているので、英語がわからなくてもなんとかなると思います。
ネットワーク設定と動作チェック
・ラズパイにmicroSDカードを挿し、電源ケーブルを接続して立ち上げてください。
・デスクトップ画面右上のwifiアイコンをクリックし、wifiアクセスポイントに接続してください。つなぎたいアクセスポイントのSSIDを選択し、パスフレーズを入力します。
・次にスピーカーとマイクが正しく接続されているかどうかをチェックしましょう。デスクトップ画面の「check audio」アイコンをダブルクリックしてください。
・スピーカーから「Front Center」と声がでて、画面に「Did you hear the test sound?(y/n)」と出たら、「y」と入力しましょう。
・すると画面に「エンターキーを押して、テスティング・ワン・トゥー・スリーと喋ってください」と指示がでるので、言われた通りにします。
・自分の声がスピーカーから出力されたら、「Did you hear your own voice?(y/n)」にyと答えてください。「The audio seems to be working」と表示されてテスト完了です。エンターキーを押すとウィンドウが閉じます。
・次にWiFiが正しく機能しているかどうかをチェックします。デスクトップの「Check WiFi」をダブルクリックしてください。「The WiFi connection seems to be working」と表示されたら成功です。
Google Cloud Platform(GCP)に接続する
・Google Assistant APIを使うためには、Google Cloud Platform(以下、GCPと略します)にサインインして、APIを有効化する必要があります。
・ブラウザから「AIY Projects/voice」にアクセスしてください。
・画面をスクロールして探してもよいですが、サイドメニューから「User's Guide」→「Setting to Google Cloud Platform」を選ぶと直ぐに移動できます。「Cloude Console」のリンクをクリックしてください。
・googleアカウントでログインしてください。googleアカウントを持ってない場合や、新たに作りたい場合は「Create account(アカウントを作成)」を選んでください(詳しい説明は省略します)。
・Google Cloud Platformのページが表示されますので、画面上部のプルダウンメニューから「create project」を選んでください。
・プロジェクト名をつけて「Create」をクリックしてください。
・メニューから「APIs & Services」→「library」を選んでください。
・APIのリストが表示されますが、大量にあるので検索窓に「assistant」などと入力し、「Google Assistant API」を見つけだしましょう。
・「enable」をクリックして、Google Assistant APIを有効化してください。
・左メニューから「APIs & Services」→「Credentials(証明書)」をクリックしてください。
・プルダウンメニュー「Create credentials」から「OAuth client ID」を選んでください。
・製品情報を入力してくださいと言われるので、「Configure consent screen」をクリックします。
・「Product name shown to users(ユーザーから見える製品名)」の欄に、適当な名前を入力し、「save」をクリックします。他の入力欄は任意なので入力しなくて構いません。
・アプリケーションの種類を聞かれるので「other(そのほか)」を選んで「create」をクリックします。証明書が増えてくると混乱するので、わかりやすい名前をここでつけておくこともできます。
・ダウンロードされたファイルがあるフォルダーを開いてみましょう。
・Downloadsフォルダーに、「client_secret」から始まる長い名前のjson形式のファイルがあるはずです。
・マウスカーソルをファイルに合わせ、マウス右ボタンをクリックしてメニューから「rename」を選びましょう。
・「assistant.json」という名前に変えて「OK」します。
・「assistant.json」をマウスでドラッグ&ドロップして「home/pi」ディレクトリに移動してください。
・Activity Cotrol(アクティビティ管理)画面を表示してください。googleアカウントのページから「マイアクティビティ」→「アクティビティ管理」とジャンプすることもできます。
・アクティビティ管理のページが表示されたら、「ウェブとアプリのアクティビティ」「端末情報」「音声各ティビティ」をすべてONにしてください。たいていすでにすべてONになっていると思いますが、念のため確認してください。
スマートフォンからの設定
・voice kitを日本語に切り替えるためには、スマートフォンアプリからの設定が必要です。
・アプリストアで「グーグルアシスタント」アプリを探し、ダウンロードしてください。
・「グーグルアシスタント」アプリを立ち上げ、設定画面を開いてください。「デバイス」の中に「Voice Kit」があるので、クリックしてください。
自動起動設定する
・このままですと、ラズパイをリセットするたびにターミナル画面を開いてコマンドを打ち込まないとgoogle assistantが起動してくれないので、自動的に起動するようにします。
・ラズパイのデスクトップ画面からターミナルを開いてください。
・サンプルプログラムが置いてあるディレクトリ「cd AIY-projects-python/src/examples/voice」に移動しましょう。
$ cd AIY-projects-python/src/examples/voice
・lsコマンドでディレクトリの中身を見てみましょう。
assistant_grpc_demo.py
assistant_library_demo.py
assistant_library_with_button_demo.py
assistant_library_with_local_commands_demo.py
cloudspeech_demo.py
・自動実行したいファイルを「main.py」という名前に変更して、「src」ディレクトリの下にコピーします。ここでは「assistant_library_demo.py」を自動起動してみましょう。
$ sudo cp assistant_library_demo.py ~/AIY-projects-python/src/main.py
・2018年2月20日版のイメージファイルにはバグがあるので直しましょう。そのうち修正されたら、この作業は必要なくなります。まず自動起動設定ファイルが置いてある場所に移動します。
$ cd /lib/systemd/system/
・自動起動設定ファイル「voice-recognizer.service」をnanoなどのテキストエディターで開いてください。
$ sudo nano voice-recognizer.service
・11行目のpython3の場所が下記のようになっているかどうかを確認し、もしなっていなかったら修正してください。
# This service can be used to run your code automatically on startup. Look in
# HACKING.md for instructions on creating main.py and enabling it.
[Unit]
Description=voice recognizer
After=network.target ntpdate.service
[Service]
Environment=VIRTUAL_ENV=/home/pi/AIY-projects-python/env
Environment=PATH=/home/pi/AIY-projects-python/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ExecStart=/usr/bin/python3 -u src/main.py
WorkingDirectory=/home/pi/AIY-projects-python
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
・自動起動を有効化し、再起動しましょう。
$ sudo systemctl enable voice-recognizer.service
$ sudo reboot
・なお、自動起動をやめたいときは、下記のようにdisableします。
$ sudo systemctl disable voice-recognizer.service
Google Assistant に話しかけてみる
・ウェイクワード「OK Google」「Hey Google」を話しかけるとスイッチが光り、コマンド受付状態になります。カタカナ発音では受け付けてくれません。
・ちょっと便利なコマンド
・「いま何時?」
・「今日は何日?」
・「明日の天気は?」
・「3分タイマー」
・「つかれた」、「ほめて」、「眠れない」
・「サイコロ」、「コイントス」、「おみくじ」
・「◯◯座の今日の運勢教えて」
・「ダジャレ」、「面白い話」
・「歌って」
・残念ながら、この記事執筆時点では、以下のサービスには未対応のようです。
・音楽再生
・ニュース
・ラジオ