Google Home mini を拡張出来る方法を調べてみた

Read More

Google Home Mini を衝動的に買ってみたのだが思っていたのと違うところと知っていたことが有るので色々試す前に書いておく。

ここで書くのは標準で出来ないことを整理してみた。
まだまだ感があるが以下の3つの方法を組合せて処理を作ることになる。Google Home 自身はとても Speech to Text として優れている(特にmicが素晴らしい、我が家の騒音の中でも小声できちんと拾ってくれる)ので実用的な物が作れる感じを受けている。

ただしく組合せていけば Slackの通知(mention)を読み上げたり、Gmailに来たメールをIfttt経由で読み上げたりすることが出来る。また時報を鳴らしたり、温度を聞いたらRaspberry pi のセンサー読み取って読み上げたりすることも出来る。

全体

  • Google Homeからの発話は出来ない(常に「OK Gooke」のリアクションとなる)
  • Google Home を見ると、Gmailアドレスに「音声」を紐付けられる。1台で6人分まで認識するっぽい。なので「今日の予定を教えて」は個別のGmailカレンダーを参照に行ってくれる(みたい、試してない)この辺りSDKなどでどう認識するかは調べられていない
  • Voice UI の場合には、「認証」がないのでこの識別は非常に重要

発話に対しての処理を増やす

  • Google Home は、IFTTT と連携するのが一番簡単な拡張、「OK Google XXXX」で処理を動かせる。
  • この場合、実際の処理はWebHookを利用して動かす。
  • 会話はできず基本的には応答はおきない

Home対応アプリケーションを作る

  • SDKを利用してHome用のアプリが作成できる。
  • この仕組は「Actino on Google」という名称でサービス提供されている。
  • これは「OK Google , XXXにつなげて」というwakeup wordで動く。
  • アプリに繋がった後は抜けるまではずっとアプリ側で入力を制御できるので会話が出来る。
  • 会話の制御には DialogFlow が提供されているが、WatsonのConversationなどにもつなげることが出来るので用途次第で。
  • アプリは「公開」しなければならず「公開」には審査がある。またパブリックのアプリになるため私的には利用しづらい
  • 試験モードがあるが「talk to my test app(テストアプリにつなげて)」となる。

  • 蛇足だが、アプリ公開したらTシャツとGCPの利用クーポン貰えたという情報あり

Google Home からの発話

  • Nodejsの google home notificationライブラリ(これはChromecastのプロトコルハッキングらしい)を使うと Google Homeから音声が出せる。
  • リアクションは出来ない(待受のアプリは作れず、一方向)
  • 連携するためには外部からRaspiのWebhookを動かさねばならない。
  • gnork使っているケースが多い、後 firebase の Database 利用してる例もあり。
  • 音声が、Google Home 標準の「声」ではない別の声が反応する。これはGCPのtext to speech の音声?
  • 音声はmp3を再生することが可能なので https://cloud.voicetext.jp/webapi などで音声を生成してから発話するなどがググると見つかる

一緒に購入すると面白そうなのはやはりリモコン系なので後で購入してみたいと思う。Chromecastをあわせて購入したが正直利用したいとおもうユースケースは思いつかなかった。やはり何かを操作する拡張が面白いと思われる

.