音声の詳細設定

このセクションでは、音声機能に関する追加の詳細設定について説明します。これらの詳細設定は、[エージェントの設定] > [音声と IVR] > [音声入力] > [音声の詳細設定] に移動してオンとオフを切り替えることができます。

これらの設定は、エージェントの設定(エージェント全体に適用されます)、フローの設定(フロー全体に適用され、エージェントの設定をオーバーライドします)、ページの設定(ページに適用され、フローとエージェントの設定をオーバーライドします)、フルフィルメントの設定(フルフィルメントに適用され、ページ、フロー、エージェントの設定をオーバーライドします)で利用できます。これらの設定のサブセットは、レベルの設定の関連性に応じて、各レベルで使用できます。

これらの設定を下位レベルで構成するには、まずエージェントの設定で [音声の詳細設定を有効にする] を選択します。

[カスタマイズ] オプションが下位レベルで選択されている場合、更新されたエージェント レベルの設定は、フローレベル、ページレベル、フルフィルメント レベルに反映されません。[カスタマイズ] オプションが複数の設定を網羅していて、一部の設定だけを更新したい場合、他の設定をエージェント レベル設定と同じにする場合にそれらの設定を更新する必要もあります。

フローで [音声の詳細設定を有効にする] をオフにすると、フローはエージェントの音声設定または割り込み設定を継承しません。エージェント設定を継承するフロー(Default Start Flow など)では、このオプションを選択したままにします。

レベル別の設定の可用性

次の表に、各レベルで利用可能な音声の詳細設定を示します。

設定名 エージェント フロー ページ フルフィルメント
モデル選択(音声入力) ✔ ✔ ✔
音声終了の感度 ✔ ✔ ✔
高度なタイムアウト ベースの音声終了感度 ✔ ✔ ✔
スマート エンドポイントを有効にする ✔
音声のタイムアウトなし ✔ ✔ ✔
割り込み ✔ ✔ ✔
部分的なレスポンスの再生をキャンセルできるようにする ✔
音声エクスポート バケット ✔ ✔
DTMF ✔ ✔ ✔

モデル選択(音声入力)

エージェント、フロー、ページのレベルで設定できます。

音声認識に使用する音声モデルを設定します。この設定は言語固有であるため、言語ごとに異なるモデルを選択できます。[リクエスト レベルの音声モデルをオーバーライドする] を選択することもできます。このオプションでは、リクエストまたは ConversationProfile のモデルではなく、エージェント、フロー、ページのモデルが適用されます。

双方向ストリーミング セッション(BidiStreamingAnalyzeContent)では、エージェント、フロー、ページで同じ Speech-to-Text バージョンを使用します。同じセッションで Speech-to-Text V2(chirp_3)と Speech-to-Text V1 モデル(telephony_short や latest_short など)を混在させないでください。

Dialogflow CX Phone Gateway については、制限事項をご覧ください。 詳細については、音声モデルをご覧ください。

音声終了の感度

エージェント、フロー、ページのレベルで設定できます。

エンドユーザーの音声入力で音声の終わりを認識する感度を制御します。値の範囲は、0(低い感度で、音声を終了する可能性が低い)から 100(高い感度で、音声を終了する可能性が高い)です。

次の推奨事項に留意してください。

  • Speech-to-Text V2 chirp_3 を使用する場合は、[音声終了の感度] の値を 75 に設定するか、ノイズの多い 8 kHz の電話音声の場合は 80 に設定します。値を 100 に設定しないでください。ノイズの多い回線で誤認識が発生する可能性があります。コンソールで [高度なタイムアウト ベースの音声終了感度を有効にする] を有効のままにします。API リクエストで、useTimeoutBasedEndpointing を true に設定します。
  • ConversationProfile を使用する場合は、エージェント、フロー、ページの設定で音声終了の感度の値を確認します。35 などの低い値を指定すると、数秒のエンドポイント遅延が発生する可能性があります。

高度なタイムアウト ベースの音声終了感度

エージェント レベルで設定し、フローレベルとページレベルで無効にできます。

この設定が有効になっている場合、[音声終了の感度] の設定値は、相対的な音声無音タイムアウトを確立して音声の終了を判断するためのゲージとして使用されます。この設定が無効になっている場合(デフォルト)、[音声終了の感度] の設定値を使用して、 Google Cloud Speech-to-Text 提供の ML モデルによって音声の終了が判別されます。

一方、[音声終了の感度] 設定のデフォルトで en-US 言語タグの phone_call 音声モデルのみがサポートされる場合、[高度なタイムアウト ベースの音声終了感度を有効にする] 設定により、Dialogflow でサポートされているすべての言語と音声モデルに対して音声終了の感度を構成できます。

スマート エンドポイントを有効にする

エージェント レベルでのみ設定できます。

この設定が有効になっている場合、Dialogflow CX は部分的なユーザー入力を分析して音声の終了を判断します。たとえば、ユーザーが「I would like to」と言って一時停止すると、Dialogflow CX はユーザーがその文を続行するのを待ちます。

これは、数値パラメータを収集する場合に特に便利で、ユーザーは「1234」と言って一時停止してから「5678」と言う場合があります。特定のパラメータにこの設定を適用するには、パラメータのフォームでスマート エンドポイントを設定する必要があります。

この設定は en-US 言語タグでのみ使用でき、デフォルトでは無効になっています。

音声のタイムアウトなし

エージェント、フロー、ページのレベルで設定できます。

Dialogflow CX がエンドユーザーの音声入力の待機を停止する時間(秒)。デフォルトは 5 秒で、最大値は 60 秒です。このタイムアウトに対して、Dialogflow CX は no-input イベントを呼び出します。

Speech-to-Text V2 chirp_3 を使用する場合は、音声なしのタイムアウトを 8 秒に設定することをおすすめします。

割り込み

エージェント、フロー、フルフィルメントのレベルで設定できます。

有効にすると、エンドユーザーは Dialogflow CX レスポンス音声を中断できます。中断されると、Dialogflow CX は音声の送信を停止し、次のエンドユーザー入力を処理します。

メッセージ キューに複数のメッセージがあり、割り込みが有効なページ、フロー、エージェントに関連付けられたフルフィルメントによりメッセージがキューに登録された場合、キュー内の後続のメッセージすべてに割り込みが有効になります。この場合、統合により割り込みが有効になっているキュー内のすべてのメッセージが再生されなくなります。

カスタム テレフォニーまたはストリーミング統合で割り込みを使用する場合は、次のガイドラインに従ってください。

  • ターンごとの StreamingAnalyzeContent 呼び出し: 会話のすべてのターンで InputAudioConfig に barge_in_config を含めます。以降のターンで barge_in_config を省略すると、最初のターンの後に割り込みが機能しなくなります。
  • 事前録音された .wav プロンプト: <audio> タグ内の事前録音された音声ファイルから末尾の無音部分をトリミングします。末尾の無音部分により再生時間が長くなり、割り込みの対象となるタイミングや無音タイムアウトが遅れる可能性があります。

部分的なレスポンスの再生をキャンセルできるようにする

フルフィルメント レベルでのみ設定できます。

この設定は、[エージェントの設定] > [音声と IVR] で音声の詳細設定を有効にするボックスがオンになっていて、フルフィルメント レベルで部分的な回答が有効になっている場合に有効にできます。この設定により、部分的なレスポンスの再生をキャンセルできます。

キャンセルを許可するフルフィルメントによってメッセージ キュー内のメッセージが作成された場合、別のメッセージがキューに追加されると、メッセージの再生がキャンセルされます。これは、最初のメッセージの再生を開始したいが、最初のメッセージの再生が完了する前に動作中の Webhook が別のメッセージを生成した場合、その再生をキャンセルするときに役立ちます。

音声エクスポート バケット

エージェントとフローのレベルで設定できます。

指定した場合、リクエストに関連付けられた音声データが Cloud Storage バケットに保存されます。

保存された音声 該当するリクエスト
エンドユーザーの音声入力 DetectIntent, StreamingDetectIntent, AnalyzeContent, StreamingAnalyzeContent
レスポンス用に合成されたテキスト読み上げ(TTS)音声 AnalyzeContent, StreamingAnalyzeContent

ストレージ オブジェクト作成者ロールを、プロジェクト内の次のサービス アカウントに付与してください。

  • 形式が「one-click@df-cx-ALPHANUMERIC_VALUE-ALPHANUMERIC_VALUE.」のサービス アカウント(パートナー組み込みのテレフォニー統合を使用する場合)。

  • Dialogflow CX Phone Gateway の統合を使用する場合、service-PROJECT_NUMBER@gcp-sa-dialogflow. 形式のサービス アカウント。IAM でこのサービス アカウントを見つけるには、[Google 提供のロール付与を含める] オプションをオンにします。

Chirp 3: HD 音声のストリーミング テキスト読み上げ

Chirp3-HD 音声のストリーミング テキスト読み上げを使用するには、アクセス承認が必要です。承認後、[エージェントの設定] > [音声と IVR] > [テキスト読み上げ] で [ストリーミング テキスト読み上げを有効にする] を選択します。ストリーミング合成では、StreamingSynthesize を使用して、長いレスポンスのレイテンシを短縮します。

次の動作に注意してください。

  • 割り込みでストリーミング テキスト読み上げを使用するには、BidiStreamingAnalyzeContent を使用します。割り込みを伴うストリーミング テキスト読み上げは、ターンごとの StreamingAnalyzeContent 呼び出しではサポートされていません。
  • 1 回のターン内で、Dialogflow CX は連続するテキスト responseMessages を 1 つのテキスト読み上げ合成リクエストに連結します。

DTMF

この機能の詳細については、DTMF(デュアルトーン多重周波数シグナリング)のドキュメントをご覧ください。

StreamingDetectIntent クライアントが帯域外 DTMF 数字をインターセプトする場合は、アクティブな gRPC 音声ストリームをキャンセルしないでください。ハーフクローズせずにストリームをキャンセルすると、無音タイムアウトが期限切れになるまでサーバー ストリームが開いたままになります。代わりに、音声フレームの送信を停止し、同じストリームで DTMF queryInput を送信して、ストリームをハーフクローズします。