本文介绍 Fun-ASR-Realtime 实时语音识别服务通过 WebSocket 推送给客户端的服务端事件,包括 task-started、result-generated、task-finished、task-failed 四类事件的数据结构与字段含义。
task-started
任务启动成功,客户端可开始发送音频数据。
| 参数 | 类型 | 说明 |
|---|---|---|
| header | object | |
| header.task_id | string | 客户端生成的任务 ID(UUID 格式)。 |
| header.event | string | 事件类型,固定为 task-started。 |
| header.attributes | object | 附加属性(通常为空)。 |
| payload | object | 固定为{}。 |
result-generated
识别结果,包含中间结果(sentence_end=false)和最终结果(sentence_end=true)。其中,新句子的首个中间结果包含 sentence_begin=true。
句子开始结果:
| 参数 | 类型 | 说明 |
|---|---|---|
| header | object | |
| header.task_id | string | 客户端生成的任务 ID(UUID 格式)。 |
| header.event | string | 事件类型,固定为 result-generated。 |
| payload | object | |
| payload.output | object | |
| payload.output.sentence | object | |
| payload.output.sentence.begin_time | integer | 句子开始时间(ms)。 |
| payload.output.sentence.end_time | integer | 句子结束时间(ms)。 |
| payload.output.sentence.text | string | 识别文本。 |
| payload.output.sentence.heartbeat | boolean | 若为 true,可跳过该结果(心跳包)。 |
| payload.output.sentence.sentence_begin | boolean | 用于标识句子开始。 |
| payload.output.sentence.sentence_end | boolean | 是否句子结束(true=最终结果,false=中间结果)。 |
| payload.output.sentence.sentence_id | integer | 句子的序号标识。正常识别结果中,sentence_id 从 1 开始递增。当 heartbeat 为 true 时(即心跳包),sentence_id 固定为 0。 |
| payload.output.sentence.words | array[object] | 字时间戳信息。 |
| payload.output.sentence.words.begin_time | integer | 字开始时间(ms)。 |
| payload.output.sentence.words.end_time | integer | 字结束时间(ms)。 |
| payload.output.sentence.words.text | string | 识别文本。 |
| payload.output.sentence.words.punctuation | string | 标点符号。 |
| payload.usage | object | 当payload.output.sentence.sentence_end为false(当前句子未结束)时,usage为null。 当payload.output.sentence.sentence_end为true(当前句子已结束)时,usage.duration为当前任务计费时长。 |
| payload.usage.duration | integer | 任务计费时长(s)。 |
task-finished
任务正常结束,可关闭连接或复用连接。
| 参数 | 类型 | 说明 |
|---|---|---|
| header | object | |
| header.task_id | string | 客户端生成的任务 ID(UUID 格式)。 |
| header.event | string | 事件类型,固定为 task-finished。 |
| header.attributes | object | 附加属性(通常为空)。 |
| payload | object | 无需关注其中内容,通常为{}。 |
task-failed
任务失败,连接会被关闭,无法复用。
| 参数 | 类型 | 说明 |
|---|---|---|
| header | object | |
| header.task_id | string | 客户端生成的任务 ID(UUID 格式)。 |
| header.event | string | 事件类型,固定为 task-failed。 |
| header.error_code | string | 错误类型描述。 |
| header.error_message | string | 具体错误原因。 |
| header.attributes | object | 附加属性(通常为空)。 |
| payload | object | 固定为{}。 |