跳转到主要内容
Sambert

Sambert 服务端事件

Sambert 实时语音合成 WebSocket 服务端事件参考

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

task-started

当客户端发送 run-task 指令后,服务端返回 task-started 事件,标志任务已成功开启。
Example
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-started",
    "attributes": {}
  },
  "payload": {}
}
字段类型说明
header.task_idstring客户端生成的任务 ID。
header.eventstring事件类型,固定为 task-started
payloadobject无内容,为空对象。

result-generated

客户端发送文本后,服务端持续返回 result-generated 事件。该事件在 output.sentence 中直接返回完整的时间戳信息,包括字级别和音素级别时间戳(需启用相应参数)。
Example
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "begin_time": 0,
        "end_time": 1162,
        "words": [
          {
            "text": "床",
            "begin_time": 0,
            "end_time": 263,
            "phonemes": [
              {
                "begin_time": 0,
                "end_time": 119,
                "text": "ch_c",
                "tone": 2
              }
            ]
          }
        ]
      }
    },
    "usage": {
      "characters": 6
    }
  }
}
字段类型说明
header.task_idstring客户端生成的任务 ID。
header.eventstring事件类型,固定为 result-generated
payload.output.sentence.begin_timeinteger句子开始时间戳,单位:毫秒。
payload.output.sentence.end_timeinteger句子结束时间戳,单位:毫秒。
payload.output.sentence.wordsarray字级别时间戳信息数组。
payload.output.sentence.words[].textstring字的文本内容。
payload.output.sentence.words[].begin_timeinteger字对应音频的开始时间戳,单位:毫秒。
payload.output.sentence.words[].end_timeinteger字对应音频的结束时间戳,单位:毫秒。
payload.output.sentence.words[].phonemesarray音素级别时间戳信息数组(需启用 phoneme_timestamp_enabled)。
payload.output.sentence.words[].phonemes[].textstring音素文本。
payload.output.sentence.words[].phonemes[].toneinteger音调。
payload.output.sentence.words[].phonemes[].begin_timeinteger音素开始时间戳,单位:毫秒。
payload.output.sentence.words[].phonemes[].end_timeinteger音素结束时间戳,单位:毫秒。
payload.usage.charactersinteger截止当前累计的计费字符数。

task-finished

服务端返回 task-finished 事件,标志任务已结束。客户端可以关闭 WebSocket 连接或复用连接开启新任务。
Example
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-finished",
    "attributes": {
      "request_uuid": "0a9dba9e-d3a6-45a4-be6d-xxxxxxxxxxxx"
    }
  },
  "payload": {
    "usage": {
      "characters": 13
    }
  }
}
字段类型说明
header.task_idstring客户端生成的任务 ID。
header.eventstring事件类型,固定为 task-finished
payload.usage.charactersinteger截止当前累计的计费字符数。

task-failed

当任务失败时,服务端返回 task-failed 事件。客户端需要关闭 WebSocket 连接并处理错误。
Example
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-failed",
    "error_code": "InvalidParameter",
    "error_message": "[tts:]Engine return error code: 418",
    "attributes": {}
  },
  "payload": {}
}
字段类型说明
header.task_idstring客户端生成的任务 ID。
header.eventstring事件类型,固定为 task-failed
header.error_codestring错误码。
header.error_messagestring具体错误信息。