Hair is dead. But today is wonderful.

薄毛のおっさんが買ったもの、おすすめの本などを紹介するブログです。

Raspberry PiとGoogle Assistant SDKを使ってAIスピーカーを作ってみたら、ちょっとはまりました

以前、スマホとRaspberry Piを使ってスマートスピーカー(AIスピーカー) もどきを作った記事を書きました。

www.toomath.net

 

音声認識から始まり、赤外線リモコンによるテレビ操作、音楽再生、YouTube再生などをできるようにしてきました。

(各機能の実現方法については、下記のカテゴリー記事一覧よりご覧ください。)

Raspberry Pi・電子工作 カテゴリーの記事一覧 - Hair is dead. But today is wonderful.

 

勢いでもどきを作ってはみましたが、本物が家にあったら一体どんな感じなのだろうと、ずっと気になっていました。

しかし、カミさんから実物を買う許可は下りません。

どうしようかなと思っていたところ、本屋さんで下記の本を見つけたため、自分で作ってみることにしました。

ラズパイ&無料ソフトでAIスピーカーを作る (日経BPパソコンベストムック)

ラズパイ&無料ソフトでAIスピーカーを作る (日経BPパソコンベストムック)

 

 

この本にはAmazon EchoGoogle 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電源スピーカーで作りました。

今後はこれを使って色んな機能を使えるようにしていきたいと思います。

 

ちなみに、「これでスマホで作ったAIスピーカーは用済みになるかも」とカミさんに話したら、「御意」※が聞けなくなるのは淋しいと言ってくれました。

なんだかんだ言いながら、愛着を持っていてくれたみたいで、うれしかったです。

※スマホが命令を受け付けつけたら、「御意」と応えるようにしていたためです。