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

更新时间:
复制为 MD 格式

本文介绍 Paraformer 实时语音识别服务中客户端通过 WebSocket 发送给服务端的客户端事件,包括 run-task(启动任务)和 finish-task(结束任务)两类指令的数据结构与字段含义。

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

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

run-task

说明:启动语音识别任务,设置模型、音频格式、采样率等参数。

发送时机:建立 WebSocket 连接后立即发送。

响应事件:服务端返回 task-started 事件后才能发送音频。

header object (必选)

属性

action string (必选)

指令类型,固定为 run-task

task_id string (必选)

客户端生成的任务 ID(UUID 格式),用于关联后续事件。

streaming string (必选)

固定为 duplex

{
    "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": {}
    }
}

payload object (必选)

属性

task_group string (必选)

任务组,固定为 audio

task string (必选)

任务类型,固定为 asr

function string (必选)

功能类型。固定为recognition

model string (必选)

模型名称。

input object (必选)

固定为{}

parameters object (必选)

语音识别参数。

属性

format string (必选)

音频格式。

取值范围:

  • pcm

  • wav

  • mp3

  • opus

  • speex

  • aac

  • amr

重要

Paraformer须遵循如下约束:

  • opus/speex:必须使用Ogg封装

  • wav:必须为PCM编码

  • amr:仅支持AMR-NB类型

sample_rate integer (必选)

采样率(Hz)。

取值范围:

  • Paraformer(因模型而异):

    • paraformer-realtime-v2:支持任意采样率

    • paraformer-realtime-v1:仅支持 16000 Hz

    • paraformer-realtime-8k-v2:仅支持 8000 Hz

    • paraformer-realtime-8k-v1:仅支持 8000 Hz

vocabulary_id string (可选)

热词列表 ID。

disfluency_removal_enabled boolean (可选)

重要

Paraformer支持该参数。

是否过滤语气词。

默认值:false。

language_hints array[string] (可选)

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

取值范围:

  • Paraformer:

    • zh: 中文

    • en: 英文

    • ja: 日语

    • yue: 粤语

    • ko: 韩语

    • de:德语

    • fr:法语

    • ru:俄语

semantic_punctuation_enabled boolean (可选)

重要

Paraformer(v2)支持该参数。

是否启用语义断句。

默认值:false。

  • true:开启语义断句,关闭 VAD 断句。

  • false(默认):开启 VAD 断句,关闭语义断句。

语义断句准确性更高,适合会议转写场景;VAD(Voice Activity Detection,语音活动检测)断句延迟较低,适合交互场景。

max_sentence_silence integer (可选)

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

  • 仅在semantic_punctuation_enabled参数为false时生效。

VAD 断句静音阈值(ms)。当一段语音后的静音时长超过该阈值时,系统会判定该句子已结束。

默认值:1300。

取值范围:[200, 6000]。

multi_threshold_mode_enabled boolean (可选)

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

  • 仅在semantic_punctuation_enabled参数为false时生效。

是否启用多阈值模式。启用后可防止 VAD 断句切割过长。

默认值:false。

punctuation_prediction_enabled boolean (可选)

重要

Paraformer(v2)支持该参数。

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

默认值:true。

heartbeat boolean (可选)

重要

Paraformer(v2)支持该参数。

是否启用心跳包。

默认值:false。

  • true:在持续发送静音音频的情况下,可保持与服务端的连接不中断。

  • false(默认):即使持续发送静音音频,连接也将在60秒后因超时而断开。

inverse_text_normalization_enabled boolean (可选)

重要

Paraformer(v2)支持该参数。

是否启用逆文本正则化(ITN)。启用后,中文数字将转换为阿拉伯数字。

默认值:true。

finish-task

说明:通知服务端音频发送完毕,请求结束任务。

发送时机:所有音频数据发送完毕后。

响应事件:服务端返回 task-finished 事件。

header object (必选)

属性

action string (必选)

指令类型,固定为 finish-task

task_id string (必选)

客户端生成的任务 ID(UUID 格式),需与run-task事件中的 task_id 保持一致。

streaming string (必选)

固定为 duplex

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

payload object (必选)

属性

input object (必选)

固定为{}