プロジェクトで Google アシスタントが使用可能になったら、次のことを試すことができます。
プロジェクトとアシスタントとのやり取り方法をカスタマイズします。たとえば、ボタンを押すとアシスタントを起動したり、音声を再生する際に LED を点滅させたりします。アシスタントの音声認識の文字起こしをディスプレイに表示することもできます。
カスタム コマンドを使用してプロジェクトを制御します。たとえば、アシスタント搭載のモクテル メーカーに、お好みの飲み物を作ってもらいます。
プロジェクトとアシスタントのやり取りをカスタマイズする
アシスタントを起動する
Google Assistant Service API を使用すると、アシスタント リクエストをトリガーするタイミングを制御できます。これを制御するには、サンプルコードを変更します(ボタンの押したときなど)。アシスタントのリクエストをトリガーするには、EmbeddedAssistant.Assist
にリクエストを送信します。
ユーザー リクエストの音声文字変換結果を取得する
Google Assistant SDK は、ユーザー リクエストをテキストとして文字起こしします。これを使用して、テキストをディスプレイにレンダリングして、ユーザーにフィードバックを提供できます。また、デバイス上でローカル アクションを実行するなど、よりクリエイティブなものにすることもできます。
この文字起こしは SpeechRecognitionResult.transcript
フィールドにあります。
アシスタントのレスポンスのテキストを取得する
Google Assistant SDK では、アシスタントのレスポンスのプレーン テキストが返されます。これを使用して、テキストをディスプレイにレンダリングして、ユーザーにフィードバックを提供します。
このテキストは DialogStateOut.supplemental_display_text
フィールドにあります。
アシスタントの視覚的レスポンスを取得する
Google Assistant SDK では、特定のクエリに対する視覚的レスポンスの場合に、アシスタントの応答をディスプレイにレンダリングできます。たとえば、「マウンテンビューの天気は?」というクエリを実行すると、現在の気温、天気の画像、関連クエリの候補が表示されます。この機能が有効な場合、この HTML5 データ(存在する場合)は ScreenOut.data
フィールドに配置されます。
これは、pushtotalk.py
と textinput.py
のサンプルでは --display
コマンドライン フラグを使用することで有効にできます。データはブラウザ ウィンドウにレンダリングされます。
テキスト入力によってクエリを送信する
テキスト インターフェース(キーボードなど)がデバイスに接続されている場合は、config
フィールドに text_query
フィールドを設定します(AssistConfig
を参照)。audio_in_config
フィールドは設定しないでください。
サンプルコードには textinput.py
ファイルが含まれています。このファイルを実行すると、テキスト入力でクエリを送信できます。
音声ファイル入力によってクエリを送信する
サンプルコードには audiofileinput.py
ファイルが含まれています。このファイルを実行すると、音声ファイル経由でクエリを送信できます。そうすると、アシスタントのレスポンスを含む音声ファイルが出力されます。
カスタム コマンドでプロジェクトを制御する
カスタム コマンドをアシスタントに追加すると、音声でプロジェクトを操作できるようになります。
これには次の 2 通りの方法があります。
デバイス アクションを追加して Google アシスタント サービスのサンプルを拡張します。
アシスタントの IFTTT レシピを作成します。次に、アシスタント コマンドに応じて選択したエンドポイントにカスタム HTTP リクエストを送信するように IFTTT を構成します。これを行うには、Maker IFTTT アクションを使用します。