以前、スマホとRaspberry Piを使ってスマートスピーカー(AIスピーカー)を作りました。
音声認識から始まり、赤外線リモコンによるテレビ操作、音楽再生、YouTube再生などをできるようにしてきました。
勢いで作ってはみましたが、本物のAIスピーカーが家にあったら一体どんな感じなのだろうと、ずっと気になっていました。
しかし、カミさんから実物を買う許可は下りません。
どうしようかなと思っていたところ、本屋さんで「ラズパイ&無料ソフトでAIスピーカーを作る」という本を見つけたため、本を読みながら自分で作ってみることにしました。
↓をクリックするとAmazonの商品ページが開きます。

ラズパイ&無料ソフトでAIスピーカーを作る (日経BPパソコンベストムック)
- 作者: 日経Linux
- 出版社/メーカー: 日経BP社
- 発売日: 2018/07/31
- メディア: ムック
- この商品を含むブログを見る
この本にはAmazon EchoとGoogle Homeの作り方が載っていますが、 まずはGoogle Homeを作ってみます。
Google Homeは、Raspberry PiにGoogle Assistant SDKを導入することで実現できます。
実は、Google Assistant SDKを使えば、AIスピーカーを作れることは知っていましたが、「英語しか使えない」とか「回数制限がある」とか誤った認識をしていたため、手を出していませんでした。
今回、上記の本を立ち読みしたら、そのような制限は書いていなかったので、やってみようと思ったわけです。
作り方は本に丁寧に書いてあります。
Raspberry PiへのOSのインストールから、マイクとスピーカーの設定、Googleアシスタントの導入まで、本の通りにやればできます。
それでも私は2か所ほど躓きましたので、お知らせしたいと思います。
1.OAuthの設定が必要
Raspberry PiにGoogle Assistant SDKをインストールした後、Raspberry PiをGoogleデバイスとして認証する必要があります。
このとき、事前にhttps://console.developers.google.com/apis/credentialsの「OAuth同意画面」でメールアドレスを入力して保存しておかないと、google-oauthlib-toolコマンドで表示されたURLをブラウザで見ようとしても「500. That’s an error. There was an error. Please try again later.」のエラーになります。
これは結構はまりました。
エラーメッセージをWebで検索しても英語の情報しか見つからず、「OAuth setup」だとか「OAuth config」とか書かれても何の事を指しているか分からなくて辛かったです。
2.対話に使う言語を日本語にする
作ったGoogle Homeに話しかけてみて、英語で回答が返ってきた場合、スマホのGoogleアシスタントの設定で言語を日本語にすればよいと、本に書いてありました。しかし、GoogleアシスタントはAndorid 4.4.x以前には対応していません。
私の今使っているスマホは4.4.2だったので、インストールできませんでしたが、手元にAndroid 5.1のタブレットがあったので、Googleアシスタントをインストールし、「設定」→「デバイス」でRaspberry PiのGoogleアシスタントを選び、言語を日本語にしました。
なお、この対処をしているとき、Googleアシスタントはスマホやタブレットでも使えるので、わざわざRaspberry Piで作らなくてもGoogle Homeのような体験ができることに気づきました。手軽に体験するには、スマホやタブレットで良いと思います。
上記のことをクリアし、とりあえずGoogle Homeができました。
まず、さかなクンの本名を聞いてみたところ、ちゃんと答えてくれました。
明日の天気などもばっちりです。これは面白いかも。
今回はRaspberry Pi2とサンワサプライのUSBマイクとダイソーのUSB電源スピーカーで作りました。
今後はこれを使って色んな機能を使えるようにしていきたいと思います。