Skip to main content

Fun-ASR-Realtime 伺服器端事件

本文介紹 Fun-ASR-Realtime 即時語音辨識服務通過 WebSocket 推送給用戶端的服務端事件,包括 task-started、result-generated、task-finished、task-failed 四類事件的資料結構與欄位含義。

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)。其中,新句子的首個中間結果包含 sentence_begin=true。
headerobject

屬性

task_idstring用戶端產生的任務 ID(UUID 格式)。eventstring事件類型,固定為 result-generated。
payloadobject

屬性

outputobject

屬性

sentenceobject

屬性

begin_timeinteger句子開始時間(ms)。end_timeinteger句子結束時間(ms)。textstring識別文本。heartbeatboolean若為 true,可跳過該結果(心跳包)。sentence_beginboolean用於標識句子開始。sentence_endboolean是否句子結束(true=最終結果,false=中間結果)。sentence_idinteger句子的序號標識。正常識別結果中,sentence_id 從 1 開始遞增。當 heartbeat 為 true 時(即心跳包),sentence_id 固定為 0。wordsarray[object]字時間戳記資訊。

屬性

begin_timeinteger字開始時間(ms)。end_timeinteger字結束時間(ms)。textstring識別文本。punctuationstring標點符號。
usageobject當payload.output.sentence.sentence_end為false(當前句子未結束)時,usage為null。當payload.output.sentence.sentence_end為true(當前句子已結束)時,usage.duration為當前任務計費時間長度。

屬性

durationinteger任務計費時間長度(s)。
句子開始結果:
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "begin_time": 0,
        "end_time": null,
        "text": "",
        "sentence_begin": true,
        "sentence_end": false,
        "sentence_id": 1,
        "words": []
      }
    },
    "usage": null
  }
}
最終結果:
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "begin_time": 170,
        "end_time": 920,
        "text": "好,我知道了",
        "heartbeat": false,
        "sentence_end": true,
        "sentence_id": 1,
        "words": [
          {
            "begin_time": 170,
            "end_time": 295,
            "text": "好",
            "punctuation": ","
          },
          {
            "begin_time": 295,
            "end_time": 503,
            "text": "我",
            "punctuation": ""
          },
          {
            "begin_time": 503,
            "end_time": 711,
            "text": "知道",
            "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": {}
}
Fun-ASR-Realtime 伺服器端事件 - Alibaba Cloud Model Studio