Bot Framework と Microsoft Graph で DevOps その 21 : コルタナを利用したボットアプリの音声対応

今回は音声対応について。Bot Framework の音声対応は二種類あります。 コルタナやエミュレーターなど音声出力をサポートするチャネル向け機能 Skype 向けの音声サポート Skype 向けの音声サポートは、これまで開発したコードの再利用ができないため今回は紹介しません。詳細はこちらをご覧ください。以降はコルタナなど音声出力をサポートするチャネル向け機能のみについて記載します。 音声の入出力 ユーザー視点では音声の入力と出力があります。BotBuilder は出力用の設定のみ可能で、実際に音声として出力されるかはチャネルの機能に依存します。また入力はチャネル側でテキストに変換してから送信する必要があります。尚、コルタナチャネルは現在英語のみサポートしています。 Speak プロパティ Acivity.Speak プロパティに音声出力用のデータを設定可能で、表示用と別に音声出力に最適な値が使えます。PromptDialog の場合には、speak/retrySpeak 引数に設定できます。値は単純な文字列、または Speech Synthesis Markup Language (SSML) が使えます。SSML を使うとボリュームやスピード、アクセントなど細かな制御が可能です。SSML の詳細はこちら。 インプットヒント インプットヒントを使うと、ユーザーに応答をした後、次のインプットを待機するか、終了するかを指示できます。 AcceptingInput: マイクはオフにして、音声の返信を待機しない。 ExpectingInput: マイクをオンにして、音声の返信を待機する。 IgnorningInput: テキスト入力およびマイク共にオフにして、入力を無視する。 既定値は処理によって変わります。 PromptDialog: プロンプトを使っているので回答を期待するため、ExpectingInput が既定。 単純な返信: AcceptingInput が既定。 連続した返信: 最後の返信を送るまでは、IgnorningInput。最後は AcceptingInput。 ボットアプリの構成 コルタナ対応のボットはマイクロソフトアカウントで登録する必要があります。 1. https://dev.botframework.com にログイン。 2. 登録済のボットを選択。 3. Add a channel よりコルタナを選択。… Read more