お知らせ
過去にQiitaに投稿した内容のアーカイブです。
Raspberry Pi3じゃなくてもGoogle Assistantができるみたいなので、Raspberry Pi1で試してみました。 たぶんZeroでもできると思います。 (Zero W買えませんでした)
Python全くわかりませんが、手順に沿ったらできました。 「OK Google」は対応してないのかな?
参考サイト
- https://github.com/googlesamples/assistant-sdk-python/tree/master/google-assistant-sdk/googlesamples/assistant/grpc
- https://pypi.python.org/pypi/google-assistant-sdk
ハードウェア
- Raspberry pi1
- スピーカー … 100均で買った
- マイク … LogicoolのWebcam C200が手元にあった
セットアップ
Install Python 3
$ sudo apt-get update
$ sudo apt-get install python3 python3-venv
作業用ディレクトリの作成
$ cd ~
$ mkdir MyGoogleHome
$ cd MyGoogleHome
Create a new virtual environment (recommended):
$ python3 -m venv env
$ env/bin/python -m pip install --upgrade pip setuptools
$ source env/bin/activate
OAuthクライアントIDの作成とJSONファイルの入手
https://developers.google.com/assistant/sdk/prototype/getting-started-other-platforms/config-dev-project-and-account
を参考に、client_secret_<client-id>.json
を入手。
Authorization
$ pip install --upgrade google-auth-oauthlib[tool]
$ google-oauthlib-tool --client-secrets [jsonファイル] --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
コマンド実行後、「このURLにアクセスしてね」的なメッセージが出力され、コードの入力待ち状態になります。 ブラウザでURLにアクセスし、指示に従ってコードを入手。入手したコードをターミナルに貼り付ける。
サンプルプログラムの入手
$ sudo apt-get install portaudio19-dev libffi-dev libssl-dev
$ pip install --upgrade google-assistant-sdk[samples]
おそらく、google-assistant-sdkそのものもダウンロードしてくると思われます。 結構時間かかります。。。
サンプル実行
$ googlesamples-assistant-pushtotalk
$ googlesamples-assistant-pushtotalk
INFO:root:Connecting to embeddedassistant.googleapis.com
Press Enter to send a new request... ←エンターを入力して英語で質問開始。
INFO:root:Recording audio request.
INFO:root:End of audio request detected
INFO:root:Transcript of user request: "who is the first American President". ←自動で質問が終わったことを検知して、質問した内容が出力
INFO:root:Playing assistant response. ←音声出力
INFO:root:Finished playing assistant response.
Press Enter to send a new request... ←エンター待ちになって、繰り返す
すごーい
終わりに
英語が喋れなので、AndroidのGoogle翻訳アプリに喋ってもらいました。