GoogleAIYVoiceKitV2のSnowboyデモでLEDを光らせる。
以前の記事で紹介したsnowboyを組み込んだサンプルでは、LEDが光らないため状態が把握できませんでした。また、言語の指定もしやすいようにカスタマイズもしてみました。
●以前の記事
Snowboyを入れてHotwordで起動できるようにする。
Snowboyで好きなHotwordを使う。
ラズパイ関連の目次へ戻る(工事中)
動作環境
★AIY KitsのOSは2018-11-16が最新ですが、APIが変わっているので、snowboyが今のところ上手く動きません。(´・ω・`)
2週間ぐらい調べていますが、難航しています。
光らせてみた感じ
下記のように色で状態が分かるようにしました。
待ち受け時:緑
録音時:青
応答時:黄色
インストール方法
ファイルのコピー
GitHubに公開したのでそちらからcloneして手動でコピーしてください。まだMakefileが作れません。(爆)
sudo apt-get install libatlas-base-dev
git clone https://github.com/mongonta0716/custom-hotword-for-aiy-voicekit
# デモプログラムと関連ファイルのコピー
cp -ipr custom-hotword-for-aiy-voicekit/mod AIY-projects-python/src/
cp -ip custom-hotword-for-aiy-voicekit/assistant_grpc_demo_snowboy_with_leds.py ~/AIY-projects-python/src/examples/voice/
スクリプトに実行権限を与える
cd ~/AIY-projects-python
chmod a+x src/examples/voice/assistant_grpc_demo_snowboy_with_leds.py
使い方
オプションで–modelを指定して実行します。(省略するとalexaで起動するようになっています。)
実行
AIY-projects-shell.sh
src/examples/voice/assistant_grpc_demo_snowboy_with_leds.py --model=src/mod/resources/alexa/alexa_02092017.umdl
その他のオプション
AIY Kits2018-11-16の変更点も少し入れてみました。
–language [言語コード]
起動するときに文字コードを指定すると、好きな言語でアシスタントが応答するようになります。省略するとOSに設定されたロケールで起動します。
- 日本語 ja_JP
- 英語 en_US
その他の言語は補足を見てください。
サービスとして自動起動したい場合
サービスとして起動したい場合はUnitfileをsystemdに登録する必要があります。また、終了時にLEDを消灯するためにleds_reset.pyを使用します。
sudo cp -ip custom-hotword-for-aiy-voicekit/assistant_grpc_demo.service /etc/systemd/system/
cp -ip custom-hotword-for-aiy-voicekit/leds_reset.py ~/AIY-projects-python/src/examples/
sudo systemctl daemon-reload
sudo systemctl enable assistant_grpc_demo.service
まとめ
LEDが点灯すると状態がわかるので、VoiceKitV2もだいぶ使いやすくなりました。デモプログラムはまだ改良途中です。機能アップしたらまた公開していこうと思います。
【補足】利用できる言語コード
2018/12時点で利用できそうな言語コードをまとめました。ただし、’?’と書かれている言語は確認時にエラーが出たのでまだ対応していないのかもしれません。
言語 | 国 | 文字コード |
---|---|---|
英語 | United States | en_US |
英語 | United Kingdom | en_GB |
英語 | Australia | en_AU |
英語 | Canada | en_CA |
英語 | India | en_IN |
英語 | Singapore | en_SG |
スペイン語 | Latinoamerica | ? |
スペイン語 | Espana | es_ES |
デンマーク語 | Denmark | da_DK |
ドイツ語 | Deutschland | de-DE |
フランス語 | France | fr-FR |
フランス語 | Canada | fr-CA |
ヒンディー語 | India | hi-IN |
インドネシア語 | Indonesia | id_ID? |
イタリア語 | Italia | it_IT |
日本語 | Japan | ja_JP |
韓国語 | Korea | ko_KR |
オランダ語 | Nederlands | nl_NL? |
ロシア語 | Rossia | ru_RU? |
スウェーデン語 | Sweden | sv_SE? |
タイ語 | Thailand | th_th? |