Gadget Mania #6-3 – Google Home(IFTTTとの接続)

ハードウェアのGoogle Homeに話しかけた際に応答するのは「Google Assistant」というプログラム。このGoogle Assistantが使えるのは、2017年1月現在、

(1) Googleの新スマートフォン「Pixel」シリーズ – 英語のみ、日本未発売
(2) Google Home – 英語のみ、日本未発売
(3) メッセージングアプリ「Allo」 – 日本語対応

の3つ。

One Assistant - Google Chrome 2017-01-05 00.15.14

3番目のAlloは最初は英語だけだったが、最近日本語にも対応するようになった。ただし、同じGoogle Assistantと言っても、(2)と(3)では完成度が異なる。 例えば、ちょっと複雑な質問をした場合に、Wikipediaを引用して回答することがよくあるが、Google Homeは標準では画面出力が無いので、Wikipediaの内容を英語で読み上げる。一方、Alloは「Wikipediaにこのようなものがありました。」という回答の後にWikipediaの記事を表示する。 したがって、Google Homeの裏で動いているGoogle Assistantが日本語化されるまでにはまだ時間がかかるのではないかと想像する。Pixcelで動いているGoogle Assistantは見たことがないので想像にしか過ぎないが、Google Homeと同じまたは同等のものではないかと思う。

そういう訳で、これ以降の「Google Assistant」は特に明記しない限りは「Google Home」で使われているものとする。

Google Assistantには最初からいくつかのGoogleのサービスの情報を読み書きできるようになっている。例えば「OK Google, tell me my schedule.」とやると、Google Calendarのスケジュールをチェックして読み上げてくれる。カレンダーは当然、Google Homeをセットアップした際に紐付けたGoogleアカウントのカレンダーになる。このようにGoogle Assistantがお仕着せで持っている他のサービスとの連携は限られた僅かなものでしかない。

そこで使うのが「IFTTT」というサービス。IFTTTはいろいろなところで解説されているので詳しくは述べないが、「あるサービスの特定のイベントをトリガーにして、別のサービスにアクションさせる」という2つのサービスを組み合わせて実行させるサービス。IFTTTを使うと、「Instagramへ新しく投稿したら、写真をDropboxに保存する。」というような組み合わせ(アプレット)を自動実行させることができる。IFTTTは「If This Then That」で、この場合、Thisが「Instagramへの新しい投稿」、Thatが「Dropboxへの保存」となる。また、InstagramやDropboxのようにIFTTTで組み合わせできるサービスのことをチャンネルという。チャンネルによって、Thisになれるもの、Thatになれるもの、両方になれるものがある。

特筆すべきなのは、Google AssistantはIFTTTのThisになれるチャンネルで、音声をトリガーとしたIFTTTのアプレットを作ることができること。これによって、Google Homeの利用可能性がさらに広がる。

まずはIFTTTのアカウントを作る。すでに普段使いのアカウントを持っているが、Google Home用にGoogleアカウントも新しく作ったので、IFTTTアカウントも新しく作ってみた。

まず最初にやることは、IFTTTとGoogle Assistantとの接続。 IFTTTにログインして、「Google」で検索してみると幾つかヒットする中にGoogle Assistantがあるので選択する。

Screenshot_20170102-175256

「Connect」ボタンを押すとGoogleの画面に移ってアカウントを選択する画面になるので、Google Home用のアカウントを指定する。

Screenshot_20170102-175315

IFTTTからのリクエストをGoogle側で許可する。これでIFTTTとGoogle Assistantとの接続完了。

Screenshot_20170102-175359

IFTTTのサイトにはいくつものサンプルアプレットがあるので、そのうちの一つを使って動作をテストしてみる。使ったのは、Google Home(Google Assistant)へ話しかけた内容をGoogle Driveのスプレッドシートへ書き込むアプレット。まず、「Turn on」ボタンを押す。

Screenshot_20170102-180608

Google Driveのパーミッションが必要と表示されるので、「OK」を押して次へ進む。

Screenshot_20170102-180621

色々と許可を求めてくるので許可する。

Screenshot_20170102-180647

これで、サンプルアプレットが使えるようになった。

Screenshot_20170102-182838

Google Homeに向かって、「OK Google, take a note “this is a test message from Google Home.”」、続いて、「OK Google, take a note “May the force be with you.”」とやってみる。 Google Driveを見てみると、「Google」というフォルダが作られて、その中の「Google Assistant Notes」というファイルに先ほどのメッセージが記録されているのが分かる。

Google Assistant Notes - Google スプレッドシート - Mozilla Firefox 2017-01-04 23.25.05

このアプレットがどのように作られているか中身を見てみる。まず、「This」の部分はGoogle Assistantで、この命令を認識するおまじないの定型文が「take a note」または「take this note」または「note」。そして、それらに続くメッセージの文字列が「$」に納められる。 そして、「That」の部分はGoogle Driveで、単純にSpreadsheetに「$」の内容を1行追加するというもの。Spreadsheetのフォルダとファイル名は「Google/Assistant notes」と指定されている。

Screenshot_2017-01-04-22-34-06Screenshot_2017-01-04-22-33-42

このようにアプレットを作ることで、Google Homeでの音声入力をトリガーとして、関連付けたサービスに何かをさせるということが簡単にできる。ThisとしてのGoogle Assistantに用意されているのは、以下の4つ。

  • Say a shimple phase (おまじないの言葉だけ)
  • Say a phase with a text ingredient (上の例のように文字列と解釈する($)を持つもの)
  • Say a phase with a number(数字と解釈する(#)を持つもの)
  • Say a phase with both a number and a text ingredient (数字(#)と文字列($)の両方を持つもの)

現在、Google Assistantが英語しかサポートしていないので利用は限られるが、今後の可能性を感じさせる。


Gadget Mania 一覧

番号 タイトル マニア心刺激度 総合満足度
1 Ankar RoboVac 10 ★★ ★★★★
2 ボンマック エスプレッソメーカー BME-100 ★★★★★
3 デロンギ コーン式 コーヒーグラインダー KG364J ★★ ★★★★
4 エスプレッソ用タンパー ★★★★
5 コーヒードリッパー Kitclan ステンレスフィルター ★★★ ★★★★
6 Google Home (1)(2)(3) ★★★★★ ★★★★★