2017/11/12

[googlehome]dialogflowを少しだけ使った

意外と私の中で長持ちしているGoogle Home mini。
しゃべるのめんどくさいだろう、と思っていたのだけど、思ったより使っている。
音楽流すのと、タイマーと、目覚ましくらいしか使っていない気もするが・・・。


IFTTTとつないで、しゃべった言葉をslack投稿し、slackbotがそれを読んでTTSに投げ、その結果をcastするしくみだけ作った。
そうすると、作業場にslackbotを立ち上げておくと、家でしゃべったら、それを向こう側でしゃべる、ということが、一応できている。
まあ、同じ場所にいないので、本当にしゃべってるかどうかは確認したことがないのだが・・・。


しかし、どうにもまだるっこしいので、別のやり方も知っておきたい。
Actions on Googleでdialog flowというやつをつかうと、似たようなことができるらしい。
以前はapi.aiと呼んでいたものが、今はdialog flowと呼ぶようになったそうだ。

Actions on Googleでapi.aiを使ってGoogle Homeに何か言わせてみる - Qiita

だいたい、この通りにやると動いてくれた。
最初に試したときは別のサイトを見ていたのだが、どこかわからなくなってしまった。。。



  • App informationの「Pronunciation」に書いた文字が、「xxxと話す」みたいにして始まったときに読み上げられる名前。
  • 「xxxと話す」のxxxは、デフォルトはAssistant app nameになる。デフォルトと書いたけど、変更できるかどうかは知らん。
  • 一度動くようにした後、SAVEで設定を変更しただけではテスト動作に反映されない?
    • Simulatorに行って、「CHANGE VERSION」をすると確実に反映してくれそうだった。


この「xxx」だが、何を指定するかが難しい。
たとえば「じゃくそん」だと反応してくれないが「ジャクソン」だと反応してくれた。
日本語だと、解釈して変換した後の文字列が一致しないとダメな気がする。
英語で試してみたいところだが、あいにく私の英語は日本語レベルでしかしゃべれない。。。


IFTTTのキーワードと同じにしたら、IFTTTの方が先に動作した。
これが必ずなのか、何か設定があるのかはわからん。


あと、これは個人の感想だが、声がいつものGoogle Homeの人ではなく、アプリの人の声になるのだが、ちょっと聞き取りづらい。
会話用の音声というのは難しいのだろうねぇ。


Dialogflowのintegrationにnode.jsがあった。
これを使うと、IFTTT経由でSlackのSlackBot用チャネルに書込み、それによってSlackBotが立ち上がってnode.jsを起動し、そこでgoogle-home-notifierが動く、という中間の部分がいらなくなるんじゃなかろうか、と期待した。

が、書いてあるとおりにやると、node.jsのアプリからDialogflowに問い合わせて結果が返ってくるだけだった。
待つ方のサンプルはあるのだろうか。。。


Dialogflowだけでなく、SDKなんかも使えるようなので、そっちを見に行った方が良いのかもしれんね。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。