ワタナベ書店

読んだ本の感想とか美味しかったお店の紹介とかLinuxの知見とか好きなことを好きなだけ書くブログです。

「OK Google」ではなく、お好きなウェイクワードでGoogle Homeを起動させる

【国内代理店版】Google AIY Voice Kit V2

【国内代理店版】Google AIY Voice Kit V2

作りました。

プログラムの説明

ウェイクワード検知ライブラリとして、snowboyというサービスを使用しています。

snowboyを使うやり方ならいろいろ実例があるのですが、voicekitのプログラム(assistant_grpc_demo.py)を結構書き換える必要があり、
面倒だったので、できるだけプログラムの変更点を少なくできるように、snowboy公式のサンプル実装を参考にvoicekit専用snowboyモジュールを作りました。

(なので、すでにカスタマイズ済みのvoicekitにも機能追加しやすいし、voicekitのチュートリアル終わった人に対して、こんなカスタマイズするのはどう?と提案するときにも勧めやすいです)

あと、低レベルAPI(マイクから音声データを取得するAPI)をvoicekitのものに書き換えたり、ログの出力方式をvoicekitと合わせたりしてます

インストール方法

まずはvoicekitのチュートリアルを終わらしてください。話はそれからだ。

チュートリアルが完了したなら、assistant_grpc_demo.py というプログラムが問題なく動くはずです。

src/examples/voice/assistant_grpc_demo.py

snowboy 動作に必要なライブラリや、custom-hotword-for-aiy-voicekitをgithubからクローンします。

cd /home/pi/
sudo apt-get install libatlas-base-dev
git clone https://github.com/senyoltw/custom-hotword-for-aiy-voicekit

必要なモジュールやサンプルプログラムをvoicekitプログラムのディレクトリにコピー

cp -ipr custom-hotword-for-aiy-voicekit/mod AIY-projects-python/src/
cp -ip custom-hotword-for-aiy-voicekit/assistant_grpc_demo_snowboy.py AIY-projects-python/src/examples/voice/

コピーしたプログラムに実行権限を与えます

cd AIY-voice-kit-python
chmod a+x src/examples/voice/assistant_grpc_demo_snowboy.py

実行方法

assistant_grpc_demo.pyを実行する代わりにassistant_grpc_demo_snowboy.pyを実行してください。今回は「アレクサ」と呼ぶとGoogle Homeが起動します。

cd AIY-voice-kit-python
src/examples/voice/assistant_grpc_demo_snowboy.py src/mod/resources/alexa/alexa_02092017.umdl

オリジナルのウェイクワードで起動させる

公式サイトや、日本語で解説してるサイトがたくさんあるので、適当に調べてvoicekitが動いてるラズパイにscpなりで持っていきましょう。プログラムの引数に指定してやればお好きなホットワードで動作するようになります。