跳转到主要内容
实时

实时语音识别(Paraformer)客户端事件

Paraformer 实时语音识别服务中客户端通过 WebSocket 发送给服务端的客户端事件,包括 run-task(启动任务)和 finish-task(结束任务)。

本文介绍 Paraformer 实时语音识别服务中客户端通过 WebSocket 发送给服务端的客户端事件,包括 run-task(启动任务)和 finish-task(结束任务)两类指令的数据结构与字段含义。 用户指南:关于模型介绍和选型建议请参见语音识别 事件交互流程:如需了解事件交互时序,请参见 WebSocket API

run-task

说明:启动语音识别任务,设置模型、音频格式、采样率等参数。 发送时机:建立 WebSocket 连接后立即发送。 响应事件:服务端返回 task-started 事件后才能发送音频。 示例
{
  "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": {}
  }
}
header 参数
参数类型是否必选说明
actionstring指令类型,固定为 run-task
task_idstring客户端生成的任务 ID(UUID 格式),用于关联后续事件。
streamingstring固定为 duplex
payload 参数
参数类型是否必选说明
task_groupstring任务组,固定为 audio
taskstring任务类型,固定为 asr
functionstring功能类型,固定为 recognition
modelstring模型名称。
inputobject固定为 {}
parametersobject语音识别参数,见下方。
payload.parameters 参数
参数类型是否必选说明
formatstring音频格式。取值:pcmwavmp3opusspeexaacamr
sample_rateinteger采样率(Hz)。因模型而异:
- 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]待识别音频语种。不设置时模型自动识别。取值:zh(中文)、en(英文)、ja(日语)、yue(粤语)、ko(韩语)、de(德语)、fr(法语)、ru(俄语)。
semantic_punctuation_enabledboolean是否启用语义断句。默认值:false
- true:开启语义断句,关闭 VAD 断句。
- false(默认):开启 VAD 断句,关闭语义断句。
语义断句准确性更高,适合会议转写场景;VAD 断句延迟较低,适合交互场景。
max_sentence_silenceintegerVAD 断句静音阈值(ms)。当一段语音后的静音时长超过该阈值时,系统判定该句子已结束。默认值:1300。取值范围:[200, 6000]。
multi_threshold_mode_enabledboolean是否启用多阈值模式。启用后可防止 VAD 断句切割过长。默认值:false
punctuation_prediction_enabledboolean是否在识别结果中添加标点符号。默认值:true
heartbeatboolean是否启用心跳包。默认值:false
- true:在持续发送静音音频的情况下,可保持与服务端的连接不中断。
- false(默认):即使持续发送静音音频,连接也将在 60 秒后因超时而断开。
inverse_text_normalization_enabledboolean是否启用逆文本正则化(ITN)。启用后,中文数字将转换为阿拉伯数字。默认值:true
  • Paraformer 须遵循如下音频约束:opus/speex 必须使用 Ogg 封装;wav 必须为 PCM 编码;amr 仅支持 AMR-NB 类型。
  • 仅 Paraformer 支持 disfluency_removal_enabled 参数。
  • 仅 Paraformer(v2)支持 semantic_punctuation_enabledmax_sentence_silencemulti_threshold_mode_enabledpunctuation_prediction_enabledheartbeatinverse_text_normalization_enabled 参数。
  • max_sentence_silencemulti_threshold_mode_enabled 仅在 semantic_punctuation_enabledfalse 时生效。

finish-task

说明:通知服务端音频发送完毕,请求结束任务。 发送时机:所有音频数据发送完毕后。 响应事件:服务端返回 task-finished 事件。 示例
{
  "header": {
    "action": "finish-task",
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "streaming": "duplex"
  },
  "payload": {
    "input": {}
  }
}
header 参数
参数类型是否必选说明
actionstring指令类型,固定为 finish-task
task_idstring客户端生成的任务 ID(UUID 格式),需与 run-task 事件中的 task_id 保持一致。
streamingstring固定为 duplex
payload 参数
参数类型是否必选说明
inputobject固定为 {}