Wipple CPaaS
メニュー
Function リファレンス / Gather

Gather

{
  "verb": "gather",
  "actionHook": "/collect",
  "input": ["digits", "speech"],
  "bargein": true,
  "dtmfBargein": true,
  "finishOnKey": "#",
  "numDigits": 5,
  "timeout": 8,
  "recognizer": {
    "vendor": "google",
    "language": "en-US",
    "hints": ["sales", "support"],
    "hintsBoost": 10
  },
  "say": {
    "text": "To speak to Sales press 1 or say Sales.  To speak to customer support press 2 or say Support"
  }
}

注意

音声入力を収集する際は、recognizer プロパティを指定して上書きしない限り、 アプリケーションのデフォルトの認識エンジンが使用されます。

パラメータ

actionHookstring必須

収集した数字または音声の送信先となる Webhook または WebSocket の URL。絶対 URL と相対 URL のどちらも指定できます(下記の注意を参照)。
Webhook の場合は POST リクエストで送信されます。
ペイロードの詳細は下記を参照してください。


actionHookDelayActionobject

Webhook または WebSocket アプリケーションの actionHook への応答が遅れた場合に適用する動作を記述するオブジェクト。


bargeinboolean

音声を収集する際にバージインを許可するかどうか(つまり、発信者が話し始めたら音声の再生を停止するかどうか)を示すブール値。


dtmfBargeinboolean

DTMF キーによるバージインを許可するかどうかを示すブール値。


fillerNoiseobject非推奨

Webhook または WebSocket アプリケーションの actionHook への応答が遅れた場合に発信者へ再生する音声を記述するオブジェクト。
(actionHookDelay の導入により非推奨)。


fillerNoise.enableboolean必須非推奨

フィラーノイズを有効にするか無効にするか。


fillerNoise.startDelaySecsnumber必須非推奨

リモートアプリケーションからの応答を待つ秒数を指定する整数値。


fillerNoise.urlstring必須非推奨

フィラーノイズとして再生する音声の HTTP(S) URL。


finishOnKeystring

受信した場合に DTMF 入力の終了を示す DTMF キー。


inputarrayデフォルト: ['digits']

許可する入力タイプを指定する配列: ['digits']、['speech']、または ['digits', 'speech']。


interDigitTimeoutnumber

minDigits 桁が入力された後、次の数字を待つ時間(秒)。


listenDuringPromptbooleanデフォルト: true

false の場合、ネストされた say または play コマンドが完了するまでユーザーの音声を聞き取りません。


maxDigitsnumber

収集する DTMF 数字の最大桁数。


minBargeinWordCountnumberデフォルト: 1

bargein が true の場合、この単語数が発話されるか、または最終的な文字起こし結果が返された場合にのみ音声を停止します。


minDigitsnumberデフォルト: 1

収集する DTMF 数字の最小桁数。


numDigitsnumber

収集する DTMF 数字の正確な桁数。


partialResultHookstring

中間の文字起こし結果の送信先となる Webhook。
部分的な文字起こし結果は、このプロパティが設定されている場合にのみ生成されます。


playobject

音声ファイルでユーザーにプロンプトを提示するために使用できる、ネストされた play Function。


recognizerobject

必要に応じてデフォルト設定を上書きする音声認識オプション。
recognizer を参照してください。


sayobject

音声合成でユーザーにプロンプトを提示するために使用できる、ネストされた say コマンド。


注意

actionHook プロパティには絶対 URL と相対 URL のどちらも指定できます。 相対 URL の場合は、Wipple CPaaS アプリケーションのベース URL を基準として解決されます。 一般的に actionHook プロパティには相対 URL を使用することが多く、WebSocket を使用する場合は 相対 URL の使用を強く推奨します。

actionHook のプロパティ

actionHook の URL に送信されるペイロードには、常に次のいずれかの値を持つ reason プロパティが含まれます。

  • speechDetected - ユーザーの音声が収集された
  • dtmfDetected - ユーザーの DTMF 入力が収集された
  • stt-low-confidence - ユーザーの音声が収集されたが、信頼度がしきい値を下回った
  • timeout - タイムアウトが満了するまでに音声も DTMF も収集されなかった
  • error - gather 操作中にエラーが発生した(音声認識エンジンに起因する可能性があります)

reason に応じて、ペイロードに追加のプロパティが含まれる場合があります。

speechDetected

ペイロードに speech オブジェクトが含まれます。speech オブジェクトには次のプロパティが含まれます。

  • language_code - 検出された発話言語
  • is_final - 最終的な文字起こしか中間的な文字起こしかを示すブール値
  • channel_tag - 文字起こしが発信者からのものであれば 1、着信側からのものであれば 2
  • alternatives - 候補となる文字起こし結果の配列。各要素は transcript と confidence の値を持ちます
  • vendor - 音声ベンダーから返された生のペイロード

例:

{
  "language_code": "en",
  "channel_tag": 1,
  "is_final": true,
  "alternatives": [
    {
      "confidence": 0.9848633,
      "transcript": "yes sorry setting up wi fi calling"
    }
  ],
  "vendor": {
    "name": "deepgram",
    "evt": {
      "type": "Results",
      "channel_index": [
        0,
        1
      ],
      "duration": 4.1899986,
      "start": 47.74,
      "is_final": true,
      "speech_final": true,
      "channel": {
        "alternatives": [
          {
            "transcript": "yes sorry setting up a wi fi calling",
            "confidence": 0.9848633,
            "words": [
              {
                  "word": "yes",
                  "start": 48.659542,
                  "end": 48.939404,
                  "confidence": 0.82470703
              },
              {
                  "word": "sorry",
                  "start": 48.939404,
                  "end": 49.259243,
                  "confidence": 0.98535156
              },
              {
                  "word": "setting",
                  "start": 49.259243,
                  "end": 49.61906,
                  "confidence": 0.9941406
              },
              {
                  "word": "up",
                  "start": 49.61906,
                  "end": 49.85894,
                  "confidence": 0.9848633
              },
              {
                  "word": "a",
                  "start": 49.85894,
                  "end": 49.97888,
                  "confidence": 0.94921875
              },
              {
                  "word": "wi",
                  "start": 49.97888,
                  "end": 50.178783,
                  "confidence": 0.80371094
              },
              {
                  "word": "fi",
                  "start": 50.178783,
                  "end": 50.418663,
                  "confidence": 0.99902344
              },
              {
                  "word": "calling",
                  "start": 50.418663,
                  "end": 50.918663,
                  "confidence": 0.9326172
              }
            ]
          }
        ]
      },
      "metadata": {
        "request_id": "b1bf1f58-ce74-42be-8b43-37f2f8331e72",
        "model_info": {
          "name": "phonecall-enhanced",
          "version": "2022-05-12.1",
          "arch": "polaris"
        },
        "model_uuid": "9a15c1cc-65e1-429a-9db6-f4ea6fbf822a"
      },
      "from_finalize": false
    }
  }
}

dtmfDetected

ペイロードに、収集された数字を含む digits プロパティが含まれます。

stt-low-confidence

speech オブジェクトが含まれます。例は speechDetected を参照してください。reason が stt-low-confidence の場合、 この文字起こし結果はユーザーが実際に発話した内容を正確に反映していない可能性が高いため、 慎重に扱うべきであることをアプリケーションに示します。

timeout

ペイロードに追加のプロパティは含まれません。

error

ペイロードに、エラーの説明を含む details プロパティが含まれます。