さて、ずいぶんとご無沙汰していたラズパイのGoogle AIY Voice Kitのテーマ。
スペインに帰ってきてから、新しいパソコンを設定したり、家族のことで追われたりしているうちにすっかり時間が過ぎてしまいました。
そんな折に、「ブログだいちゃん」のだいちゃんさんから、
「Voice Kitの最新イメージファイルが2月21日付けでアップされています、このイメージファイルをインストールしたところディフォルトで日本語を話しました、試してみて下さい。」
というコメントをいただきました。
おぉ、それは何としても試してみなければ!!!と再び一念発起して、新しいイメージファイルを入れてみることにしました。
えっと、その前に、、、と。
下準備
現在のイメージファイルのバックアップ
まずは、念の為、いままで使用していたイメージファイルをバックアップしておきます。新しいイメージファイルをSDカードに入れると、前のデータが全て消えてしまいますのでね。
最初に、PC内にファイルを保存したいフォルダに、空のイメージファイルを作ります。
いろいろやり方はあると思うのですが、私は新規でテキストファイルを作成して、保存する時に、「名前を付けて保存」→「ファイルの種類を『全てのファイル』に変更」→「好きな名前に拡張子をimgに変えて保存。今回は、raspbkup_13mar2018.imgとして保存」って感じにしました。
それから、Win32diskimagerを開いて(ソフトが入っていない場合は、こちらからダウンロード)、青いフォルダの絵をクリックして、先程作成したイメージファイルを選択します。
そして、「read」をクリック!writeじゃなくてreadの方です。お間違いのないよう。
すると「Are you sure you want to overwrite the specified file?(本当に、該当するファイルの上書きをおこなっても良いですか?)」と聞いてくるので、Yesとすると、SDカードの情報の読み込みが始まります。
私のSDカードは16GBですが、右下に所要時間が15分と出てきました。しばらく時間が掛かりますので、他のことをやったりまったりと過ごしましょう。
SDカードのフォーマット
完了したら、イメージファイルはPCにしまっておいて、SDカードのフォーマットを行ないます。
この辺のプロセスからは以前に書いた記事の手順と一緒です。
最新のVoice Kit OSイメージファイルをコピー
最新のOSイメージファイルは、同じAIY ProjectsのページのVoice Kit SD imageをクリックすると最新のバージョンがダウンロードできます。
新しいイメージファイルの書き込みは、以前はEtcherでやったのですが、今回は、Win32 Diskimagerでやってみました。なんとなくですが、私にはWin32 Diskimagerの方が使い勝手が良い気がしています。所要時間が分かるためか、短く感じられます。
ダウンロードした新しいAIYプロジェクトのファイルは圧縮されているので、解凍しておきます。
今度は、フォーマットしたSDカードにデータを書き込むので、「write」の方を選んで、クリック。イメージファイルの書き込みが始まりました。
所要時間、今度は5分35秒になってますね。所要時間はSDカードの性能で異なってくるのでしょう。ちなみに、私が今回使用しているSDカードは、我が家の初代ラズパイであるPhisical computing labさんのスターターキットに付属していたSandiskのClass10の16GBのカードです。
余談になりますが、ラズパイのSDカードといえば、Sandisk Ultraのほか、SamsungのEvo Plusも良いです。
ですが、Samsungの方は、カードに付属していたPCスロットへのSDカードアダプターの作りが微妙でした(T_T)。EvoのSDカードを使う時も、SandiskのSDカードアダプターを使う方が安心です。細かいところにケチつけてスミマセン。
さて、そんなこと言ってる間に、どうやら、カードへの書き込みが完了したようです。
SSH接続とWifi接続を有効にする
さて、カードを抜き取る前に、ラズパイを遠隔操作するための設定をしておきます。ここは、ラズパイを直接、LANやモニターにつなぐ場合は必要ないので、その場合は、ここの項目は飛ばしちゃってくださいませ。
wpa_supplicant.confファイルの追加
さて、ラズパイの遠隔操作の方法は、以前の記事で書いたのとだいたい同じですが、今回は、SSL接続をしてからVNCの設定をすることにします。
SDカード内のフォルダを見ると、sslは有効になっているようなので、我が家のWifiのコネクションの設定を追加するために、wpa_supplicant.confっていうファイルのみをルート(SDカード直下)に追加します。
wpa_supplicant.confファイルは、下記のページより簡単に生成できます。
SSH接続でVNCの有効化
さて、ファイルを追加したらパソコンからSDカードを抜き取って、ラズパイに挿入してみます。既にWifiは有効になっているので、Puttyなどのソフトを利用して、SSH接続できるはずです。
手元のルーターからラズパイのつながっているIPアドレスをチェックして(私の場合、今までと変わっていませんでした)。Puttyで接続。当たり前ですが、ログインのIDとパスワードはデフォルトに戻っています(つまり、IPが「pi」で、パスワードが「raspberry」)。無事、接続できた後は、パスワードを変更しておきましょう。
さて、SSHで接続できたら、
sudo raspi-config
と入力します。
すると、メニュー画面みたいなのが出てくるので、
そこで、「5.Interfacing opcions」を選び、次の画面で「P3 VNC」を選ぶと、
「Would you like to VNC Server to be enabled?(VNCサーバーを有効化しますか)」と聞いてくるので、「Yes」を選ぶと、VNCサーバーの有効化が完了です。一旦、SSL接続を終了して、VNC接続をすると…
ようやく画面が出てきました!!!
いざ、新しいOSイメージファイルを使ってみる
オーディオとWifiのチェック
さっそく、Check AudioとCheck Wifiのファイルをクリックして試してみると、どちらも問題なく動作しています。
ここからの設定は、過去記事にあるとおりなのですが…
これまでAIY Kitを触ってきた方々は、既にもろもろの設定をしていますので、最小限の設定でOKのようです。
実際、プロジェクトは既に作成済みだし、APIとサービスのところでは、OAuth 2.0 クライアント IDが既にあります。
なので、Google Cloud Platformにアクセスをして、「左上の三本線メニュー」→「APIとサービス」→「認証情報」へ行き、「OAuth 2.0 クライアント ID」から、この前作ったjsonファイルをダウンロードして、assistant.jsonに名称変更し、pi直下に置くだけでした。
そして、assistant_library_demo.pyを実行するわけですが、前回は、「src/assistant_library_demo.py」と入力すれば良かったけれど、確かファイルの場所が変わっていたような。。。
フォルダを見てみると、
/home/pi/AIY-voice-kit-python/src/examples/voice/assistant_library_demo.py
に該当ファイルがあるので、「Start dev terminal」をクリックして、ターミナル画面が出てきたら、
src/examples/voice/assistant_library_demo.py
と入力します。
(追記)
2019年12月現在、OKグーグルと呼びかける形(いわゆるホットワード)はVoice Kitでは機能しなくなっているようです。上のプログラムの代わりに、ボタンを押してコマンドを言うパターンの以下のプログラムで試してみましょう。
cd src/examples voice/assistant_grpc_demo.py
すると、出てきた!ブラウザ画面が表示されて、Voice Assistantを許可するか尋ねてきました。
ここでAllowをクリックすると、
「OK Googleって話しかけてね。終わる時はCtrl+Cを押してね」というメッセージが出てきました。
画面上は英語で表示されていますけれど、ここで「OK Google、こんにちは」と話してみると、「こんにちは。XXXさん、なにか御用はありますか」といきなり日本語で来ました!!!!だいちゃんさんがおっしゃっていたとおりだわ。
しかも、OK Googleって言う時に、Voice Kitの上のボタンが光るんです、光るんです。これは嬉しい!
さらに、assistant_library_with_button_demo.pyを実行すると、
src/examples/voice/assistant_library_with_button_demo.py
OKグーグルと音声で言うのにくわえて、上のボタンを押して、コマンドを言えます。
(追記)
上のプログラムも同様に、ホットワードを使用するタイプのものは2019年12月現在、機能しないようです。
やはり、このボタンを使えてこそ、Google AIY Voice Kitの醍醐味ですからね。今回は、ボタンも光るし、ボタンを押して、日本語でコマンドを言えるようになったし、大満足です。
ただ、マイクの感度が以前より低くなったような。結構、大きめの声で話さないと聞こえてない?(Voice Kitと私の距離は2メートルくらい)と感じました。軽くググったら、音声で「OK Google、音量を最大にして」と言ったら、治ったよ、みたいなコメントを(英語ですが)見かけたのですが、音量を最大にしても、聞こえが悪いような気がしました。
Google Home Miniのマイクの感度が良すぎるからかしら、でも、昔はVoice Kitのマイクの感度ももっと良かったような…。
他にもどんなことができるのか、これから色々さわって試してみたいと思います。
新しいVoice Kitが日本語を話さなかった場合
(追記)
2019年12月現在は、ラズベリーパイの言語設定を「日本語」にしていると、自動的に日本語対応になるようです。
なお、手持ちのスマホのGoogle Home(あるいはGoogle Assistant)のアプリを見ると、「三本線のメニュー」→「その他の設定」→「デバイス」のところに、「Voice Kit」が追加されていました。さきほど、Googleで認証をしたからでしょうね。
この「Voice Kit」のところをクリックすると、
「アシスタントの言語」と、言語を選択できるメニューが現れるので、もし、新しいVoice KitのOSをインストールした場合で、日本語で話さなかった場合は、こちらの設定を変更してみると良いかもしれません。
コメント
日本語で話したようですね、私の環境だけではなかったようで安心しました。
もし、起動音を入れるようでしたら私の記事からダウンロードできるように設定しましたので、よろしかったらどうぞ。
だいちゃんさん、コメントありがとうございます。記事拝見しました。起動音、良いですね~\(^o^)/。ダウンロードさせていただきますね!
こんにちは、私もトライしてなんとか日本語で喋ったのですが、その後でsudo apt-get updateと
upgradeをしたらマイクが使えなくなりました。ご注意ください。
ソーセイジさん、コメントありがとうございます。
実は、私も昨日の朝、突然マイクが機能しなくなりました。ブレッドボードを接続したりしていたので、てっきりハードがやられたかと思い焦ったのですが、OSを再インストールしたら治りました。原因はさっぱり分からなかったのですが、確かにsudo apt-get updateのコマンドを行なった記憶はあります。それが原因だったのでしょうか…。もし、それが原因なら、今後、アップデートができないというのは困ったものですね。