跳转到主要内容
实时

Fun-ASR 服务端事件

Fun-ASR 实时语音识别 WebSocket 服务端事件参考

Fun-ASR 实时语音识别服务通过 WebSocket 向客户端发送四种服务端事件:task-startedresult-generatedtask-finishedtask-failed 用户指南:模型详情和选型建议请参见
  • 语音合成
    语音识别
    语音对话
    音乐生成
    图片翻译
    多模态向量
    平台 API
    语音识别模型。 交互流程:事件交互时序图请参见 WebSocket API。客户端事件请参见客户端事件

    task-started

    服务器处理 run-task 指令后返回此事件,表示可以开始发送音频。 示例
    {
      "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-started",
        "attributes": {}
      },
      "payload": {}
    }
    
    header 参数
    参数类型说明
    header.eventstring事件类型。值为 task-started
    header.task_idstring任务 ID。

    result-generated

    服务器产生识别结果时返回此事件,包含中间结果和最终结果。 示例
    {
      "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "result-generated",
        "attributes": {}
      },
      "payload": {
        "output": {
          "sentence": {
            "begin_time": 170,
            "end_time": 920,
            "text": "好的,我知道了",
            "heartbeat": false,
            "sentence_end": true,
            "words": [
              {
                "begin_time": 170,
                "end_time": 295,
                "text": "好的",
                "punctuation": ","
              },
              {
                "begin_time": 295,
                "end_time": 503,
                "text": "我",
                "punctuation": ""
              },
              {
                "begin_time": 503,
                "end_time": 711,
                "text": "知道",
                "punctuation": ""
              },
              {
                "begin_time": 711,
                "end_time": 920,
                "text": "了",
                "punctuation": ""
              }
            ]
          }
        },
        "usage": {
          "duration": 3
        }
      }
    }
    
    header 参数
    参数类型说明
    header.eventstring事件类型。值为 result-generated
    header.task_idstring任务 ID。
    payload 参数
    参数类型说明
    outputobjectoutput.sentence 包含识别结果,详见下方。
    usageobject语句未完成时(sentence_end = false)为 null。语句完成时(sentence_end = true),usage.duration 为计费时长(秒)。
    payload.usage 参数
    参数类型说明
    durationinteger计费时长,单位秒。
    payload.output.sentence 参数
    参数类型说明
    begin_timeinteger语句开始时间,单位毫秒。
    end_timeinteger | null语句结束时间,单位毫秒。中间结果为 null
    textstring识别文本。
    wordsarray词级别时间戳。
    heartbeatboolean | nulltrue 时跳过此结果。与 run-task 指令中的 heartbeat 设置对应。
    sentence_endboolean语句是否已结束。
    sentence_idinteger句子的序号标识。正常识别结果中,sentence_id 从 1 开始递增。当 heartbeat 为 true 时(即心跳包),sentence_id 固定为 0。
    channel_idinteger音频通道编号。单声道固定为 0。
    speaker_idinteger | null说话人编号。未启用说话人分离时为 null
    sentence_beginboolean是否为语句起始帧。
    stashobject服务端内部缓存信息,可忽略。
    payload.output.sentence.words 参数
    参数类型说明
    begin_timeinteger词开始时间,单位毫秒。
    end_timeinteger词结束时间,单位毫秒。
    textstring识别的词。
    punctuationstring词尾标点符号。
    fixedboolean是否为已确认词(不再变更)。
    speaker_idinteger | null说话人编号。未启用说话人分离时为 null

    task-finished

    服务器收到 finish-task 指令并处理完剩余音频后返回此事件。 示例
    {
      "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-finished",
        "attributes": {}
      },
      "payload": {
        "output": {}
      }
    }
    
    header 参数
    参数类型说明
    header.eventstring事件类型。值为 task-finished
    header.task_idstring任务 ID。

    task-failed

    任务处理过程中发生错误时返回此事件。收到后应关闭连接并处理错误。 示例
    {
      "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-failed",
        "error_code": "CLIENT_ERROR",
        "error_message": "request timeout after 23 seconds.",
        "attributes": {}
      },
      "payload": {}
    }
    
    header 参数
    参数类型说明
    header.eventstring事件类型。值为 task-failed
    header.task_idstring任务 ID。
    header.error_codestring错误类型。
    header.error_messagestring错误详情。