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 Statesen_US
英語United Kingdomen_GB
英語Australiaen_AU
英語Canadaen_CA
英語Indiaen_IN
英語Singaporeen_SG
スペイン語Latinoamerica?
スペイン語Espanaes_ES
デンマーク語Denmarkda_DK
ドイツ語Deutschlandde-DE
フランス語Francefr-FR
フランス語Canadafr-CA
ヒンディー語Indiahi-IN
インドネシア語Indonesiaid_ID?
イタリア語Italiait_IT
日本語Japanja_JP
韓国語Koreako_KR
オランダ語Nederlandsnl_NL?
ロシア語Rossiaru_RU?
スウェーデン語Swedensv_SE?
タイ語Thailandth_th?

コメントを残す

メールアドレスが公開されることはありません。