实时语音识别(Paraformer)服务端事件

更新时间:
复制 MD 格式

本文介绍 Paraformer 实时语音识别服务通过 WebSocket 推送给客户端的服务端事件,包括 task-started、result-generated、task-finished、task-failed 四类事件的数据结构与字段含义。

用户指南:关于模型介绍和选型建议请参见语音识别

事件交互流程:如需了解事件交互时序,请参见WebSocket API

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

属性

usageobject

payload.output.sentence.sentence_endfalse(当前句子未结束)时,usagenull

payload.output.sentence.sentence_endtrue(当前句子已结束)时,usage.duration为当前任务计费时长。

属性

durationinteger

任务计费时长(s)。

属性

sentenceobject

属性

begin_timeinteger

句子开始时间(ms)。

end_timeinteger

句子结束时间(ms)。

textstring

识别文本。

heartbeatboolean

若为 true,可跳过该结果(心跳包)。

sentence_endboolean

是否句子结束(true=最终结果,false=中间结果)。

emo_tagstring

重要

  • 仅 paraformer-realtime-8k-v2 支持该功能
  • 必须关闭语义断句(将run-task事件的semantic_punctuation_enabled设为false)才支持该功能
  • 只有在payload.output.sentence.sentence_end的值为true时才显示情感识别结果

当前句子的情感:

  • positive:正面情感,如开心、满意
  • negative:负面情感,如愤怒、沉闷
  • neutral:无明显情感

emo_confidencefloat

重要

  • 仅 paraformer-realtime-8k-v2 支持该功能
  • 必须关闭语义断句(将run-task事件的semantic_punctuation_enabled设为false)才支持该功能
  • 只有在payload.output.sentence.sentence_end的值为true时才显示情感识别结果

情感置信度,取值范围为[0.0, 1.0],值越大表示置信度越高。

wordsarray[object]

字时间戳信息。

属性

begin_timeinteger

字开始时间(ms)。

end_timeinteger

字结束时间(ms)。

textstring

识别文本。

punctuationstring

标点符号。

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "begin_time": 170,
        "end_time": null,
        "text": "好,我知道了",
        "heartbeat": false,
        "sentence_end": true,
        "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": {}
}