第二話 raspberrypi3B+ と Voice Kit がやって来た

Raspi3B+

raspberrypi 3B+(以後raspi3B+)がやって来たのは国内発売日2018年の1月なので2018年の3月くらいだったような気がします。Google AIY Projectsシリーズ第1弾を使って、日本語に対応した音声AIアシスタントアシスタント「Google Assistant」を作る予定でした。「Voice Kit」は2017年の12月ごろからキットとして発売されたと思いますが定かではありません。日本語対応も2018年に入ってからだと記憶しています。

Google Homeはリビングに設置済みでしたので raspi3B+ でも「OK Google」ができるのかーと早速購入した次第です。

raspi3B+の仕様は

  • SoC Broadcom BCM2837B0 SoC
  • CPU ARM Cortex-A53 クアッドコア
  • GPU デュアルコア VideoCore IV® マルチメディア コプロセッサ
  • メモリー 512MB DDR2 400MHz 低電圧 SDRAM
  • 電源 Micro USB Bソケット 5V 2.5A / 2.54mm ピンヘッダ
  • 消費電力 約12.5W
  • サイズ 86 × 56 × 17mm
  • 価格:$35(raspiB+と同じ4千円くらいだった)
  • インターフェース
  1.  イーサネット Gigabit Ethernet over USB 2.0  RJ45 ソケット
  2.  ビデオ出力 HDMI(rev. 1.3、1.4)、コンポジット 3.5mm 4極ジャック(PAL、NTSC)、DSI
  3.  オーディオ出力 3.5mm 4極ジャック、HDMI(ビデオ出力と共有)、I2Sピンヘッダ
  4.  USB     2.0 × 4
  5.  GPIO コネクター 40ピン 2.54mm ピンヘッダ
  • メモリーカードスロット micro SDメモリーカード(SDIO)

 

「Voice Kit」は
こんな感じで段ボールでしたので

バルザ材で手作りしました。

最初は添付の英文マニュアルで
Google Assistant SDK CHAPTER FIVE  BUILD A VOICE RECOGNIZER
Google Cloud Platform  CHAPTER SIX  VIOCE USER INTERFACE FOR YOUR PROJECT
結果
assistant_grpc_demo.py 
を実行して「OK Google」ができたことを覚えています。
Google Cloud Platformでの設定 手こずったですねー。
それから約1年6ケ月経過してraspi3B+は後述するミュージックサーバーの Volmio を構築するために「Voice Kit」は分解してしまいました。
ただ、raspi4B+(後述)を購入したため再度「Voice Kit」に戻したのですが残念「OK Google」と言ってもだんまりうんともすんとも答えてはくれませんでした。
Google AIY Voice Kit V2が発売されており変更内容を確認しつつ、
対策1 Google Cloud Platformで認証ファイルの作り直し ←NG(変わらず)
対策2 AIY Voice KIT用イメージファイルを2019-11-13 版にバージョンアップ←NG(変わらず)

Google Assistantが起動しない。(エラーが発生)
 Problems getting Assistant to work
コンソールで起動すると以下のようなエラーが発生します。
pi@raspberrypi:~/AIY-projects-python/src/examples/voice $ ./assistant_grpc_demo.py
———————————————————————
Traceback (most recent call last):
File “./assistant_grpc_demo.py”, line 57, in <module>
main()
File “./assistant_grpc_demo.py”, line 49, in main
language_code=args.language)
File “/home/pi/AIY-projects-python/src/aiy/assistant/grpc.py”, line 258, in __init__
super().__init__(language_code, volume_percentage)
File “/home/pi/AIY-projects-python/src/aiy/assistant/grpc.py”, line 94, in __init__
credentials = auth_helpers.get_assistant_credentials()
File “/home/pi/AIY-projects-python/src/aiy/assistant/auth_helpers.py”, line 151, in get_assistant_credentials
return _try_to_get_credentials(credentials_file)
File “/home/pi/AIY-projects-python/src/aiy/assistant/auth_helpers.py”, line 123, in _try_to_get_credentials
credentials = _credentials_flow_interactive(client_secrets)
File “/home/pi/AIY-projects-python/src/aiy/assistant/auth_helpers.py”, line 75, in _credentials_flow_interactive
webbrowser.register(‘chromium-browser’, None, webbrowser.Chrome(‘chromium-browser’), -1)
TypeError: register() takes from 2 to 3 positional arguments but 4 were given
——————————————————————

ここに対策がありました 。随分いろいろ探しました。<https://www.raspberrypi.org/forums/viewtopic.php?f=114&t=258687>
python/src/aiy/assistant/auth_helpers.py”, I changed the last argument in webbrowser.register() (line 75) from “-1” to “preferred=True”.
“-1″ を ”preferred=True”に変更
再度
pi@raspberrypi:~/AIY-projects-python/src/examples/voice $ ./assistant_grpc_demo.py
認証の画面が表示され「許可」で 「OK Google」 ができるようになりました。
ただし、assistant_library_demo.py のコマンド
を起動するとSegmentation faultが発生します。
cd /home/pi/AIY-projects-python/src/examples/voice
python3 assistant_library_demo.py
ライブラリのバージョン・ダウン
sudo pip3 install google-assistant-library==1.0.0
再度
cd /home/pi/AIY-projects-python/src/examples/voice
python3 assistant_library_demo.py ←OK
(ご注意)
AIY Voice KIT用のイメージ・ファイル 2020-11-20版 の場合(2020-12月時点)
インストール後自動アップデートしなければ問題なく「OK Google」ができます。
旧版では
python/src/aiy/assistant/auth_helpers.py”, I changed the last argument in webbrowser.register() (line 75) from “-1” to “preferred=True”.が必要ですが、
 “preferred=True”に変更されています。
ライブラリのバージョン・ダウンも必要ありませんでした。
あまり寝かせると再度「OK Google」の道のりはだんだん険しくなりそうです。
Google Cloud Platformの設定画面も大幅に変わっていますし、設定の仕方を探しても見当たらないです。設定は変わらないのでいじってはダメと言うことでしょうか。
ここを参考にさせていただきました。

●ボクにもわかる電子工作●
Google AIY Voice Kit V1 で「OK, Google」が出来なくなった対策。バージョンアップしたら Segmentation fault – ボクにもわかる電子工作のブログ (bokunimo.net)