实时语音识别(Fun-ASR)客户端事件

更新时间:
复制为 MD 格式

本文介绍 Fun-ASR 实时语音识别服务中客户端通过 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": "fun-asr-realtime",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000
        },
        "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

sample_rate integer (必选)

采样率(Hz)。

取值范围:

  • 8k模型仅支持 8000 Hz,其他模型仅支持 16000 Hz

vocabulary_id string (可选)

热词列表 ID。

language_hints array[string] (可选)

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

系统仅读取数组中的首个值,多余值将被忽略。

取值范围:

  • zh: 中文

  • en: 英文

  • ja: 日语

semantic_punctuation_enabled boolean (可选)

是否启用语义断句。

默认值:false。

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

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

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

max_sentence_silence integer (可选)

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

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

默认值:1300。

取值范围:[200, 6000]。

multi_threshold_mode_enabled boolean (可选)

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

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

默认值:false。

heartbeat boolean (可选)

是否启用心跳包。

默认值:false。

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

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

speech_noise_threshold float (可选)

重要

Fun-ASR支持该参数。

语音与噪音的判定阈值,用于调整语音活动检测(VAD)的灵敏度。

取值范围:[-1.0, 1.0]。

取值说明:

  • 取值越接近 -1:降低噪音判定阈值,噪音被识别为语音的概率增大,可能导致更多噪音被转写

  • 取值越接近 +1:提高噪音判定阈值,语音被误判为噪音的概率增大,可能导致部分语音被过滤

此参数为高级配置参数,调整可能显著影响识别效果,建议:

  • 调整前充分测试验证效果

  • 根据实际音频环境小幅度调整(建议步长 0.1)

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 (必选)

固定为{}