2年前に購入してそれなりに楽しんでいたGoogle AIY Voice Kit。その後、いっとき触らずにいたのですが、最近久々にAIY Voice Kitを使いたくなり、動かしてみたのですが、かなり変わっていて驚きました。本日はGoogle AIY Voice Kitのお話です。
現在販売中のGoogle Voice Kit V2
Google AIY Voice Kitは、自分で組み立てるGoogle Homeという感じの商品です。現在はVoice Kit V2として販売が継続しており、Raspberry Pi Zero WHがセットで付属し、さらにセットアップもスマホから簡単にできるという仕様になっているようです。
我が家のは2年前に購入のVoice Kit
一方我が家のものは、2年前に購入したバージョン1のVoice Kit。ラズパイは同梱されておらず、手持ちのラズベリーパイを使用して組み立てる方式のものでした。こちらとほぼ同じバージョンですね。
購入当初は日本語化に試行錯誤してみたり、いろいろ頑張っていたのですが、その後、放置気味に。それで今回久しぶりにVoice Kitでやりたいことが出てきたので、再び稼働させてみたのです。
動かない…
そしたら、動かない…。
いや、正確にいえば、ラズパイとしてはOSとしては動くのです。ですが、OKグーグル的なところが稼働しません。まぁ、そうですよね。最後に触ったのいつだ?って感じだったし(たぶん2018年1月が最後かも…)、やり直せってことだよね。と思って、ウェブページから最新版のOSをダウンロードしてみました。
最新版のOSをダウンロード
こちらがVoice Kitのページですが、
V1のVoice Kitをお持ちの方なら、Githubから最新のイメージファイルをダウンロードしてもいいかも。
あるいは、手持ちのRaspbianOSにVoice Kitの機能をインストールしたいよという場合は、こちらの手順に従うという方法(英語)もあります。
今回私は、Githubから最新のイメージファイル(2019年11月13日更新版)をダウンロードしました。
そして、SDメモリカードフォーマッターでSDカードをフォーマットしたのち、BalenaEtcherでイメージファイルの書き込みを行いました。
BalenaEtcherだと、イメージファイルが圧縮された状態(拡張子がimg.xz)でもそのまま書きこみができます。一方で、一度ファイルを手持ちのパソコンで解凍して拡張子をimgにした状態なら、Win32DiskImagerでも書き込みができます。どちらでもお好きな方で。
スマホのアプリから簡単接続は使えず
なお、Voice Kitのページを見ると分かるのですが、最新のV2のVoice Kitではスマホのアプリから簡単にWifi接続までの設定ができるようになっております。ですが、手持ちのV1のVoice Kitに最新のVoice Kit用のOSをインストールしても、スマホで簡単アプリ機能は使えませんでした。
もっともアプリを用いてできるのは、SSHの有効化とWifi設定までです。なので、ラズパイ3B+に、HDMIケーブルとマウスとキーボードをつないで設定するか、遠隔操作用のSSHファイル等を入れて設定すればよいだけ(ラズパイ遠隔操作についてはこちらの記事を参照)なので、アプリはそこまで必須ではないんですけどね。
マイクとスピーカーのテストはOK
いざ、SSH接続。なお、今回はSSH接続とケーブルで直繋ぎと両方でやっていました。
スピーカーとマイクがちゃんとつながるかな、のテストです。
/home/pi/AIY-projects-python/checkpoints/check_audio.py
相変わらずマイクで録音した音量はとっても小さいですが、きちんと動いているみたいでよかった。
また、再生されるスピーカーの音量が無駄にデカいので、それはこちらから調整可能です。
alsamixer
こんな音量調整画像が出てくるので、キーボードの矢印(↑↓)ボタンで音量を調整します。OKならESCキーを押して終了。
Google Cloud Platformから認証情報の設定
そして、次はGoogleのCloudPlatformに行き、認証情報のファイルをゲットしてきます。
すると、「2019年6月28日以降、以前使用されていたGoogle Assistant Library for Pythonが廃止されたから、代わりにGoogle Assistant Serviceを使え!」という警告メッセージが出ていました。以前のプログラムが機能しなくなったのはここが原因かもしれません。
あらたにGoogle Assistant Serviceに変わって何が変わったんだろうって、細かい技術的なことはワタクシ一切分からないんですが、どうやら、以前は使用できていたホットワード(OKグーグルと音声で呼びかけるやつ)が使用できなくなって、ボタン押しの対応のみになったよう(間違っていたらゴメンなさい)。
とにかく、プロジェクトも何も新規に作成した方がよさそうだなと思い、新規で作成してイチから認証を取ることにしました。
あとの手順は、以前とあまり変わっていません。Google Assistant APIの設定はこちらの記事をご参照ください。
日本語対応は自動的にされるみたい
以前は日本語化にいろいろ奔走していたのですが、現在はラズベリーパイの言語設定を「日本語」にしていると自動的に日本語のGoogleさんが出てきてくれるようです。
ラズパイの言語設定の変更は、SSH接続からだと
sudo raspi-config
4.Localisation options → I1 Change Locale
から行えますが、最終的にだーっと言語の長いリストが出てきて、どこに日本語あるのよ…(探すの面倒)、となるので、個人的に直接接続かVNC接続でラズパイのGUI画面に入り、
Preference→Raspberry Pi Configurationと行って、
LocalisationからLocaleでLanguageをJa(Japanese)にする方が簡単かなと思っています(手間の問題ですが)。
クラウドスピーチは特に変更なさそう
もう一つのプログラムCloudspeech.pyの方はあまり変更点はなさそうです。
ただ、日本語設定になっていると、英語版のcloudspeech.pyでは音声をうまく認識してくれないので、プログラムを日本語に書き換えるか、設定を英語に戻すかした方がよさそうです。
ホットワードの利用はできないのかしら
さて、これで、再び使えるようになりました。以前のバージョンと比べてホットワードでのグーグルさんの使用ができなくなってしまったのは少し寂しいですが…。
ホットワードの利用については、Snowboyという仕組みを用いて独自のホットワードで動かすという試みを見かけました。
このあたりの試みは、もんごんたさんの「ラズパイズキノニッキ」ブログがお詳しいです。
ただ、2019年12月現在、私が試した限りは、上手くいきませんでした。2019年6月末にGoogle Assistant Library for Pythonが廃止になってしまったことが原因でしょうか。技術系の知識が本当にない私ですので、よく分かっていないのですが、現在別のプロジェクトを考え中なので、Google Assistant APIを使わない方向で、Snowboyを利用したホットワードの利用にトライしてみたいと思います。
(2019年12月30日追記)
もんごんたさんが作成したプログラムファイル( assistant_grpc_demo_snowboy.py)を、snowboydecoder.py やsnowboydetect.pyが入っているフォルダ内に移動して実行したらできました(^^♪。Snowboyを使用して、アレクサや任意のワードでGoogle Home Assistantを動かす方法は現在でも有効です。
コメント