本文介绍 Paraformer 实时语音识别服务中客户端通过 WebSocket 发送给服务端的客户端事件,包括 run-task(启动任务)和 finish-task(结束任务)两类指令的数据结构与字段含义。
用户指南:关于模型介绍和选型建议请参见语音识别。
事件交互流程:如需了解事件交互时序,请参见WebSocket API。
run-task
说明:启动语音识别任务,设置模型、音频格式、采样率等参数。
发送时机:建立 WebSocket 连接后立即发送。
响应事件:服务端返回 task-started 事件后才能发送音频。
headerobject(必选) 属性 actionstring(必选) 指令类型,固定为 run-task。 task_idstring(必选) 客户端生成的任务 ID(UUID 格式),用于关联后续事件。 streamingstring(必选) 固定为 duplex。 payloadobject(必选) 属性 task_groupstring(必选) 任务组,固定为 audio。 taskstring(必选) 任务类型,固定为 asr。 functionstring(必选) 功能类型。固定为recognition。 modelstring(必选) 模型名称。 inputobject(必选) 固定为{}。 parametersobject(必选) 语音识别参数。 属性 formatstring(必选) 音频格式。 取值范围:
pcm
wav
mp3
opus
speex
aac
amr
重要Paraformer须遵循如下约束:
- opus/speex:必须使用Ogg封装
- wav:必须为PCM编码
- amr:仅支持AMR-NB类型
sample_rateinteger(必选) 采样率(Hz)。 取值范围:
-
Paraformer(因模型而异):
- paraformer-realtime-v2:支持任意采样率
- paraformer-realtime-v1:仅支持 16000 Hz
- paraformer-realtime-8k-v2:仅支持 8000 Hz
- paraformer-realtime-8k-v1:仅支持 8000 Hz
vocabulary_idstring(可选) 热词列表 ID。 disfluency_removal_enabledboolean(可选) 是否过滤语气词。 默认值:false。 language_hintsarray[string](可选) 待识别音频语种。无默认值,不设置时模型自动识别。 取值范围:
-
Paraformer:
- zh: 中文
- en: 英文
- ja: 日语
- yue: 粤语
- ko: 韩语
- de:德语
- fr:法语
- ru:俄语
semantic_punctuation_enabledboolean(可选) 是否启用语义断句。 默认值:false。
- true:开启语义断句,关闭 VAD 断句。
- false(默认):开启 VAD 断句,关闭语义断句。
语义断句准确性更高,适合会议转写场景;VAD(Voice Activity Detection,语音活动检测)断句延迟较低,适合交互场景。 max_sentence_silenceinteger(可选) 重要
- 仅Paraformer(v2)支持该参数。
- 仅在
semantic_punctuation_enabled参数为false时生效。
VAD 断句静音阈值(ms)。当一段语音后的静音时长超过该阈值时,系统会判定该句子已结束。 默认值:1300。 取值范围:[200, 6000]。 multi_threshold_mode_enabledboolean(可选) 重要
- 仅Paraformer(v2)支持该参数。
- 仅在
semantic_punctuation_enabled参数为false时生效。
是否启用多阈值模式。启用后可防止 VAD 断句切割过长。 默认值:false。 punctuation_prediction_enabledboolean(可选) 是否在识别结果中添加标点符号。 默认值:true。 heartbeatboolean(可选) 是否启用心跳包。 默认值:false。
- true:在持续发送静音音频的情况下,可保持与服务端的连接不中断。
- false(默认):即使持续发送静音音频,连接也将在一定时间后因超时而断开。
inverse_text_normalization_enabledboolean(可选) 是否启用逆文本正则化(ITN)。启用后,中文数字将转换为阿拉伯数字。 默认值:true。 | {
"header": {
"action": "run-task",
"task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
"streaming": "duplex"
},
"payload": {
"task_group": "audio",
"task": "asr",
"function": "recognition",
"model": "paraformer-realtime-v2",
"parameters": {
"format": "pcm",
"sample_rate": 16000,
"disfluency_removal_enabled": false,
"language_hints": [
"en"
]
},
"input": {}
}
}
|
finish-task
说明:通知服务端音频发送完毕,请求结束任务。
发送时机:所有音频数据发送完毕后。
响应事件:服务端返回 task-finished 事件。
headerobject(必选) 属性 actionstring(必选) 指令类型,固定为 finish-task。 task_idstring(必选) 客户端生成的任务 ID(UUID 格式),需与run-task事件中的 task_id 保持一致。 streamingstring(必选) 固定为 duplex。 payloadobject(必选) | {
"header": {
"action": "finish-task",
"task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
"streaming": "duplex"
},
"payload": {
"input": {}
}
}
|