本文介绍 Sambert 语音合成服务通过 WebSocket 推送给客户端的服务端事件,包括 task-started、result-generated、task-finished、task-failed 四类事件的数据结构与字段含义。
**用户指南:**关于模型介绍和选型建议请参见语音合成。
当客户端发送
客户端发送文本后,服务端持续返回
服务端返回
当任务失败时,服务端返回
task-started
当客户端发送 run-task 指令后,服务端返回 task-started 事件,标志任务已成功开启。
| 参数 | 类型 | 说明 |
|---|---|---|
| header.task_id | string | 客户端生成的任务 ID。 |
| header.event | string | 事件类型,固定为 task-started。 |
| payload | object | 无内容,为空对象。 |
result-generated
客户端发送文本后,服务端持续返回 result-generated 事件。该事件在 output.sentence 中直接返回完整的时间戳信息,包括字级别和音素级别时间戳(需启用相应参数)。
| 参数 | 类型 | 说明 |
|---|---|---|
| header.task_id | string | 客户端生成的任务 ID。 |
| header.event | string | 事件类型,固定为 result-generated。 |
| payload.output | object | 输出信息。 |
| payload.output.sentence.begin_time | integer | 句子开始时间戳,单位:毫秒。 |
| payload.output.sentence.end_time | integer | 句子结束时间戳,单位:毫秒。 |
| payload.output.sentence.words | array | 字级别时间戳信息数组。 |
| payload.output.sentence.words.text | string | 字的文本内容。 |
| payload.output.sentence.words.begin_time | integer | 字对应音频的开始时间戳,单位:毫秒。 |
| payload.output.sentence.words.end_time | integer | 字对应音频的结束时间戳,单位:毫秒。 |
| payload.output.sentence.words.phonemes | array | (需启用 phoneme_timestamp_enabled) 音素级别时间戳信息数组。 |
| payload.output.sentence.words.phonemes.text | string | 音素文本。 |
| payload.output.sentence.words.phonemes.tone | integer | 音调。 |
| payload.output.sentence.words.phonemes.begin_time | integer | 音素开始时间戳,单位:毫秒。 |
| payload.output.sentence.words.phonemes.end_time | integer | 音素结束时间戳,单位:毫秒。 |
| payload.usage | object | 计费信息。 |
| payload.usage.characters | integer | 截止当前累计的计费字符数。 |
task-finished
服务端返回 task-finished 事件,标志任务已结束。客户端可以关闭 WebSocket 连接或复用连接开启新任务。
| 参数 | 类型 | 说明 |
|---|---|---|
| header.task_id | string | 客户端生成的任务 ID。 |
| header.event | string | 事件类型,固定为 task-finished。 |
| payload.usage.characters | integer | 截止当前累计的计费字符数。 |
task-failed
当任务失败时,服务端返回 task-failed 事件。客户端需要关闭 WebSocket 连接并处理错误。
| 参数 | 类型 | 说明 |
|---|---|---|
| header.task_id | string | 客户端生成的任务 ID。 |
| header.event | string | 事件类型,固定为 task-failed。 |
| header.error_code | string | 错误码。 |
| header.error_message | string | 具体错误信息。 |