先週、ついにGoogleHomeを買ったので大学の友達のアイデアを借りつつ早速機能を作ってみました。
成果物はこんな感じです。
ガッキーが「行ってらっしゃい/おかえりなさい」を言ってくれるBotを作ってたら土曜日が終わってた件 pic.twitter.com/P1jNO8LJNU
— Yuma (@ymk1102_1t) 2018年4月7日
ツールや環境など
- Dialogflow
- Actions on Google
- Firebase
作成手順
Firebase
今回、Firebaseは音声ファイル置き場として使います。
Firebaseの始め方なんかを参考に、Firebaseのプロジェクトを立ち上げて、ガッキーの音声ファイルを配置していきます。
音声ファイルはネット上に上がってる動画から該当箇所だけ音声切り出す形で取得しました^^;
Dialogflow
次に、Dialogflowで機能の土台をっていきます。
まず、適当にAgentを立てます。ここは特に指定などないです。
続いてIntents(実際の処理の内容)を埋めていきます。
これは言わせたいセリフのパターン分必要になります。
今回で言うと「行ってらっしゃい用」「お帰りなさい用」の2つ作りました。
次に、それぞれのTraining phrasesの中に反応してほしい言葉を入れていきます。「行ってきます」「いってきます」など。
※今回自分はEntity使わなかったですが、本当は揺らぎ対応は全部Entityに詰めた方がスマートですね。
Training phrasesが終わったらResponsesの中に返してほしい内容をSSMLで入力していきます。
<speak>
<audio src="[firebase上の音声ファイルのURL].mp3"></audio>
</speak>
ここまで来れば処理の内容はほぼほぼ完成です。
Saveすると右上のところからテストができるのでそこで動作確認をした上で次のステップに進みましょう。
Actions on Google
ここではアプリを呼び出すための設定や実際の動作確認ができます。
1番大事なのはApp informationです。
ここでアプリの名前や呼び出し方を指定できます。
今回の場合は、「みくりさん」という名前にしました。
Ovewviewまで戻って「Surface capabilities」にまでチェックがついていれば実際に動かすことができます。
画面から「TEST DRAFT」でテストをできますし、スピーカーからもアプリを呼び出すことができます。
スピーカーからうまく呼び出せない場合は、自分の言葉が意図したように読み取られていない可能性が大いにあるのでどう読み取られているかを画面上で確認することをおすすめします。
音声ファイルの取得からスピーカーでの出力までの流れは以上です。