索引
EmbeddedAssistant
(インターフェース)AudioInConfig
(メッセージ)AudioInConfig.Encoding
(列挙型)AudioOut
(メッセージ)AudioOutConfig
(メッセージ)AudioOutConfig.Encoding
(列挙型)ConverseConfig
(メッセージ)ConverseRequest
(メッセージ)ConverseResponse
(メッセージ)ConverseResponse.EventType
(列挙型)ConverseResult
(メッセージ)ConverseResult.MicrophoneMode
(列挙型)ConverseState
(メッセージ)
EmbeddedAssistant
Google Assistant API を実装するサービス。
Converse | |
---|---|
埋め込みアシスタント サービスとの会話を開始または継続します。呼び出しごとにメッセージが 1 回往復します。すなわち、音声リクエストがサービスに送信され、音声レスポンスが受信されます。双方向ストリーミングを使用して、音声を送信しながら 会話は 1 つまたは複数の gRPC 接続であり、それぞれの接続が複数のストリーミング リクエストとレスポンスで構成されます。たとえば、ユーザーが「ショッピング リストに追加して」と言うと、アシスタントが「何を追加しますか?」と答えます。最初の gRPC メッセージのストリーミング リクエストとレスポンスの順序は次のとおりです。
次に、ユーザーが「ベーグル」と言うと、アシスタントは「わかりました。ベーグルをショッピング リストに追加しました」と答えます。これは、
レスポンスが正確にこの順序で届くことは保証されませんが、連続した ConverseResponse.audio_out メッセージには常に連続した音声部分が含まれます。
|
AudioInConfig
後続のリクエストで提供される audio_in
データの処理方法を指定します。推奨設定については、Google Assistant gRPC API のベスト プラクティスをご覧ください。
フィールド | |
---|---|
encoding |
必須。すべての |
sample_rate_hertz |
必須。すべての |
エンコード
音声メッセージで送信されるデータの音声エンコード。音声は 1 チャンネル(モノラル)である必要があります。サポートされている言語は「en-US」のみです。
列挙型 | |
---|---|
ENCODING_UNSPECIFIED |
指定なし。結果 google.rpc.Code.INVALID_ARGUMENT を返します。 |
LINEAR16 |
非圧縮 16 ビット符号付きリトル エンディアンのサンプル(Linear PCM)。このエンコードにはヘッダーは含まれず、生の音声バイトのみが含まれます。 |
FLAC |
FLAC (Free Lossless Audio Codec)は、ロスレスであり、認識が損なわれないため、LINEAR16 の約半分の帯域幅しか必要としないため、推奨されるエンコードです。このエンコードには FLAC ストリーム ヘッダーが含まれ、その後に音声データが続きます。16 ビットと 24 ビットのサンプルをサポートしていますが、STREAMINFO のすべてのフィールドがサポートされているわけではありません。 |
AudioOut
クエリに対するアシスタントのレスポンスを含む音声。音声データのシーケンシャル チャンクは、連続した ConverseResponse
メッセージで受信されます。
フィールド | |
---|---|
audio_data |
出力のみ。クエリに対するアシスタントのレスポンスを含む音声データ。音声データの連続したチャンクは、連続した |
AudioOutConfig
サーバーが audio_out
メッセージを返す際に使用する形式を指定します。
フィールド | |
---|---|
encoding |
必須。すべての |
sample_rate_hertz |
必須。 |
volume_percentage |
必須。デバイスの音声出力の現在の音量設定。有効な値は 1 ~ 100(1% ~ 100% に対応)です。 |
エンコード
音声メッセージで返されるデータの音声エンコード。すべてのエンコードは、下記の例外を除き、ヘッダーのない生の音声バイトです。
列挙型 | |
---|---|
ENCODING_UNSPECIFIED |
指定なし。結果 google.rpc.Code.INVALID_ARGUMENT を返します。 |
LINEAR16 |
非圧縮 16 ビット符号付きリトル エンディアンのサンプル(Linear PCM)。 |
MP3 |
MP3 音声エンコード。サンプリング レートはペイロードでエンコードされます。 |
OPUS_IN_OGG |
ogg コンテナでラップされた Opus エンコード形式の音声。結果は、Android や Chrome などのブラウザでネイティブに再生できるファイルになります。ビットレートが同じ場合、エンコードの品質は MP3 よりもかなり高くなります。サンプリング レートはペイロードでエンコードされます。 |
ConverseConfig
ConverseRequest
メッセージの処理方法を指定します。
フィールド | |
---|---|
audio_in_config |
必須。後続の受信音声の処理方法を指定します。 |
audio_out_config |
必須。返される音声の形式を指定します。 |
converse_state |
必須。現在のダイアログの状態を表します。 |
ConverseRequest
クライアントから送信される最上位レベル メッセージ。クライアントは、少なくとも 2 つ、通常は多数の ConverseRequest
メッセージを送信する必要があります。最初のメッセージには必ず config
メッセージが含まれ、audio_in
データが含まれることはありません。後続のすべてのメッセージには必ず audio_in
データが含まれ、config
メッセージが含まれることはありません。
フィールド | ||
---|---|---|
共用体フィールド converse_request 。各 ConverseRequest で、これらのフィールドのいずれか 1 つのみを指定する必要があります。converse_request は次のいずれかになります。 |
||
config |
|
|
audio_in |
認識する音声データ。音声データの連続したチャンクは、連続した |
ConverseResponse
クライアントが受信する最上位レベル メッセージ。一連の ConverseResponse
メッセージがストリーミングされ、クライアントに返されます。
フィールド | ||
---|---|---|
共用体フィールド converse_response 。各 ConverseResponse には、これらのフィールドのいずれか 1 つのみが入力されます。converse_response は次のいずれかになります。 |
||
error |
出力のみ。設定された場合、オペレーションのエラーを指定する |
|
event_type |
出力のみ。イベントのタイプを示します。 |
|
audio_out |
出力のみ。クエリに対するアシスタントのレスポンスを含む音声。 |
|
result |
出力のみ。ユーザーが発話したクエリのセマンティック結果。 |
EventType
イベントの種類を示します。
列挙型 | |
---|---|
EVENT_TYPE_UNSPECIFIED |
イベントは指定されていません。 |
END_OF_UTTERANCE |
このイベントは、サーバーがユーザーの発話の終わりを検出し、これ以上発話が続くことはないと推測したことを示します。したがって、サーバーは以降の音声を処理しません(ただし、後で追加の結果を返すことがあります)。クライアントは以降の音声データの送信を停止し、gRPC 接続を半分閉じて、サーバーが gRPC 接続を閉じるまで追加の結果を待機する必要があります。 |
ConverseResult
ユーザーの音声クエリのセマンティック結果。
フィールド | |
---|---|
spoken_request_text |
出力のみ。ユーザーの発話の認識された音声文字変換。 |
spoken_response_text |
出力のみ。アシスタントの音声レスポンスのテキスト。IFTTT アクションの場合にのみ返されます。 |
conversation_state |
出力のみ。後続の |
microphone_mode |
出力のみ。この |
volume_percentage |
出力のみ。更新された音量レベル。「音量を上げて」や「音量を 4 に設定して」などの音声コマンドが認識された場合、値は 1~100 になります(新しい音量レベル 1% から 100% に対応します)。それ以外の場合、値は 0 に設定されるか、省略されます(変更なしを意味します)。通常、クライアントは |
MicrophoneMode
Converse
RPC が完了した後のマイクの状態。
列挙型 | |
---|---|
MICROPHONE_MODE_UNSPECIFIED |
モードが指定されていません。 |
CLOSE_MICROPHONE |
サービスはユーザーから続きの質問は来ないと推測しました。ユーザーが再びマイクを作動させるまで、マイクはオフのままになります。 |
DIALOG_FOLLOW_ON |
サービスはユーザーから続きの質問が来ると推測しました。AudioOut の再生が完了したら(新しい音声を送信するための新しい Converse RPC 呼び出しを開始して)マイクを再度開く必要があります。 |
ConverseState
現在の対話の状態に関する情報を提供します。
フィールド | |
---|---|
conversation_state |
必須。以前の |