コンピューター好きのブログ

主にコンピューター・電子工作・オーディオ関連の記事を書いています。

MENU

Actions on Googleを使ってGoogle Homeにダジャレを言わせる方法

スマートスピーカーの画像

 

以前、AIスピーカーのGoogle HomeをRaspberry Piで作りました。

そのままでも、知りたいことを尋ねたり、タイマーをセットしたり、といったことはできますが、今回は、独自の受け答えができるようにしてみます。

 

 

実現したいこと

「ギャグを聞かせて」とお願いしたら、心が温まるようなダジャレを聞かせてくれる。

 

実現方法

Googleが提供しているActions on Googleという仕組みを使います。

クラウド上にGoogleアシスタントから呼び出せる機能を登録できるもののようです。色んな事ができるはずですが、使い始めたところなのでよくわかりません。おいおい勉強していきます。

今回は、「ギャグを聞かせて」と話しかけると、「ふとんがふっとんだ」か「東京ガスでがす」を返してくれるようにします。

 

実現手順

以下の20ステップで実現できます。多く感じるかもしれませんが、難しいことはありません。

  1. Actions on Googleのサイト(https://developers.google.com/actions/)にアクセスし、右上にある「GO TO ACTIONS CONSOLE」を押下します。
  2. Google Assistant SDKを登録したGoogleアカウントでサインインします。
  3. Add/import project」を押下してプロジェクトを作ります。
  4. Project name に英数字の適当な名前を入力、language を Japanese に、contry of region を Japan にして「CREATE PROJECT」 を押下します。私はProject nameを「toomath」にしました。
  5. 「Welcome to your project, <プロジェクト名>!」というページが開くので、とりあえず「SKIP」します。
  6. Overviewのページになるので、Quick setupの「Decide how your is invoked」を押します。
  7. Inovocationのページになるので、Display nameにGoogleアシスタントから呼び出す際の名前を指定し、Google Assitant voiceで音声を選びます。Maleが男声、Femaleが女声です。その後「SAVE」を押下します。私はDisplay nameを「傷だらけ」にしました。これで「OK Google 傷だらけにつないで」と言えば、ダジャレ機能を呼び出せます。
  8. 左のメニューでBUILDのActionsを選びます。No Actions yetと書いてあるので、「ADD YOUR FIRST ACTION」を押下します。
  9. CREATE ACTIONのダイアログが出るので、Custom intentを選んで「BUILD」を押下します。
  10. Dialogflowのページが開きます。DEFAULT LANGUAGEをJapanese-jaにして「CREATE」を押します。
  11. Intentsのページになるので、「CREATE INTENT」を押下します。
  12. Intent nameにIntentの名前を指定します。私は「床の間」にしました。
  13. Training phrasesの「ADD TRAINING PHRASES」を押下します。呼びかける言葉をAdd user expressionと表示されているところに指定します。私は「ギャグを聞かせて」にしました。
  14. Responsesの「ADD RESPONSE」を押下します。返事となる言葉をEnter a text responseと表示されているところに指定します。私は「ふとんがふっとんだ」と「東京ガスでがす」にしました。これで「ギャグを聞かせて」とお願いすると「ふとんがふっとんだ」か「東京ガスでがす」のどちらかを返してくれます。
  15. 上の方にある「SAVE」を押下します。左メニューのDialogflowの下の歯車の回転が止まったらSAVE完了です。
  16. 左メニューのIntegrationsを選びます。Integrationsのページの「Google Assitant」を押下します。
  17. ダイアログが開くので、DiscoveryのExplicit invocationの × を押下すると自分の作ったIntentが表示されるので、それを選びます。私の場合は「床の間」です。そして、下にあるTESTを押下します。
  18. Auto-preview changeのダイアログが出るので、ONにして「CONTINUE」します。
  19. 作成したIntentをテストするページが開きます。下の方のテキスト入力欄にキーボード入力で話かけられます。また、マイクアイコンを押せば音声対話もできます。
  20. Suggested inputに表示されている通り、「傷だらけにつないで」と話かけます。すると、「はい。 傷だらけのテストバージョンです。」と返事が返ってきます。そこですかさず「ギャグを聞かせて」とお願いすると、「ふとんがふっとんだ」と言ってくれました!

 

上記だけで、2.でサインインしたGoogleアカウントを使っているGoogle HomeやスマホのGoogleアシスタントでダジャレ機能を使えるようになっています。

Raspberry Piで作ったGoogle HomeやAndroidタブレットのGoogleアシスタントでもダジャレを聞けました。

 

今後

なかなか面白いので、どんなことが出来そうか考え中です。

今考えているのは、Raspberry PiのターミナルにGoogleアシスタントとのやり取りが出力されることを利用して、特定のやりとりが行われたら、何らかのアクションを起こすという仕組みです。

Pythonからsubprocessでgooglesamples-assitant-hotwordコマンドをコールして標準出力が取れれば、実現できそうな気がします。