Skip to main content

Fun-ASR-Realtime サーバーイベント

Fun-ASR-Realtime リアルタイム音声認識サービスは、WebSocket を介してサーバー側イベントをクライアントにプッシュします。このトピックでは、task-started、result-generated、task-finished、task-failed の 4 種類のイベントのデータ構造とフィールドについて説明します。

task-started

タスクが正常に開始されました。クライアントは音声データの送信を開始できます。
headerobject

プロパティ

task_idstringクライアントによって生成されたタスク ID (UUID フォーマット)。eventstringイベントタイプ。この値は常に task-started です。attributesobject追加の属性。この値は通常、空です。
payloadobjectこの値は常に {} です。
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-started",
        "attributes": {}
    },
    "payload": {}
}

result-generated

認識結果。中間結果 (sentence_end=false) と最終結果 (sentence_end=true) が含まれます。
headerobject

プロパティ

task_idstringクライアントによって生成されたタスク ID (UUID フォーマット)。eventstringイベントタイプ。この値は常に result-generated です。
payloadobject

プロパティ

outputobject

プロパティ

sentenceobject

プロパティ

begin_timeinteger文の開始時刻 (ミリ秒単位)。end_timeinteger文の終了時刻 (ミリ秒単位)。textstring認識されたテキスト。heartbeatbooleanこの値が true の場合、結果はハートビートパケットであり、無視できます。sentence_endboolean文が終了したかどうか (true = 最終結果、false = 中間結果)。sentence_idinteger文のシーケンス識別子。通常の認識結果では、sentence_id は 1 から増分します。heartbeat が true (つまり、ハートビートパケット) の場合、sentence_id は常に 0 です。wordsarray[object]単語レベルのタイムスタンプ情報。

プロパティ

begin_timeinteger単語の開始時刻 (ミリ秒単位)。end_timeinteger単語の終了時刻 (ミリ秒単位)。textstring認識されたテキスト。punctuationstring句読点。
usageobjectpayload.output.sentence.sentence_end が false (現在の文が終了していない) の場合、usage は null です。payload.output.sentence.sentence_end が true (現在の文が終了した) の場合、usage.duration は現在のタスクの請求対象の持続時間です。

プロパティ

durationinteger請求対象のタスクの持続時間 (秒単位)。
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "begin_time": 170,
        "end_time": 920,
        "text": "OK, got it.",
        "heartbeat": false,
        "sentence_end": true,
        "sentence_id": 1,
        "words": [
          {
            "begin_time": 170,
            "end_time": 295,
            "text": "OK",
            "punctuation": ","
          },
          {
            "begin_time": 295,
            "end_time": 503,
            "text": "got",
            "punctuation": ""
          },
          {
            "begin_time": 503,
            "end_time": 711,
            "text": "it",
            "punctuation": ""
          },
          {
            "begin_time": 711,
            "end_time": 920,
            "text": "",
            "punctuation": "."
          }
        ]
      }
    },
    "usage": {
      "duration": 3
    }
  }
}

task-finished

タスクは正常に終了しました。接続を閉じるか、再利用できます。
headerobject

プロパティ

task_idstringクライアントによって生成されたタスク ID (UUID フォーマット)。eventstringイベントタイプ。この値は常に task-finished です。attributesobject追加の属性。この値は通常、空です。
payloadobjectこのフィールドは無視できます。この値は通常 {} です。
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-finished",
        "attributes": {}
    },
    "payload": {
        "output": {},
        "usage": null
    }
}

task-failed

タスクは失敗しました。接続は閉じられ、再利用できません。
headerobject

プロパティ

task_idstringクライアントによって生成されたタスク ID (UUID フォーマット)。eventstringイベントタイプ。この値は常に task-failed です。error_codestringエラータイプの詳細。error_messagestringエラーの具体的な原因。attributesobject追加の属性。この値は通常、空です。
payloadobjectこの値は常に {} です。
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-failed",
        "error_code": "CLIENT_ERROR",
        "error_message": "request timeout after 23 seconds.",
        "attributes": {}
    },
    "payload": {}
}