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

更新时间:
复制 MD 格式

本文介绍 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(可选)

重要Paraformer支持该参数。

是否过滤语气词。

默认值:false。

language_hintsarray[string](可选)

待识别音频语种。无默认值,不设置时模型自动识别。

取值范围:

  • Paraformer:

    • zh: 中文
    • en: 英文
    • ja: 日语
    • yue: 粤语
    • ko: 韩语
    • de:德语
    • fr:法语
    • ru:俄语

semantic_punctuation_enabledboolean(可选)

重要Paraformer(v2)支持该参数。

是否启用语义断句。

默认值: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(可选)

重要Paraformer(v2)支持该参数。

是否在识别结果中添加标点符号。

默认值:true。

heartbeatboolean(可选)

重要Paraformer(v2)支持该参数。

是否启用心跳包。

默认值:false。

  • true:在持续发送静音音频的情况下,可保持与服务端的连接不中断。
  • false(默认):即使持续发送静音音频,连接也将在一定时间后因超时而断开。

inverse_text_normalization_enabledboolean(可选)

重要Paraformer(v2)支持该参数。

是否启用逆文本正则化(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(必选)

属性

inputobject(必选)

固定为{}

{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}