本文介绍 Sambert 语音合成服务中客户端通过 WebSocket 发送的客户端事件,包括 run-task(一次性提交待合成文本)的字段与发送时机。
**用户指南:**关于模型介绍和选型建议请参见语音合成。
说明:启动语音合成任务,设置模型、采样率等参数,并一次性发送待合成文本。
发送时机:建立 WebSocket 连接后立即发送。
响应事件:服务端返回 task-started 事件。
run-task
说明:启动语音合成任务,设置模型、采样率等参数,并一次性发送待合成文本。
发送时机:建立 WebSocket 连接后立即发送。
响应事件:服务端返回 task-started 事件。
Sambert 不支持流式输入,待合成文本需要在 run-task 的
input.text 中一次性发送。不支持 continue-task 和 finish-task 指令。| 参数 | 类型 | 说明 |
|---|---|---|
| header | object | (必选) |
| header.action | string | (必选) 指令类型,固定为 run-task。 |
| header.task_id | string | (必选) 客户端生成的任务 ID(UUID 格式),用于关联后续事件。 |
| header.streaming | string | (必选) 固定为 out |
| payload | object | (必选) |
| payload.task_group | string | (必选) 任务组,固定为 audio。 |
| payload.task | string | (必选) 任务类型,固定为 tts。 |
| payload.function | string | (必选) 功能类型,固定为 SpeechSynthesizer。 |
| payload.model | string | (必选) 模型名称,如 sambert-zhichu-v1。 |
| payload.input | object | (必选) 输入数据,包含 text 字段,直接传入待合成文本。 |
| payload.text | string | (必选) 待合成文本。 |
| payload.parameters | object | (必选) 语音合成参数。 |
| payload.parameters.text_type | string | (必选) 固定为 PlainText。 |
| payload.parameters.format | string | (可选) 音频编码格式。 取值范围:
|
| payload.parameters.sample_rate | integer | (可选) 音频采样率(Hz)。 取值范围:8000, 16000(默认), 22050, 24000。 |
| payload.parameters.volume | integer | (可选) 音量。 默认值:50。 取值范围:[0, 100]。 |
| payload.parameters.rate | float | (可选) 语速。 默认值:1.0。 取值范围:[0.5, 2.0]。 |
| payload.parameters.pitch | float | (可选) 音调。 默认值:1.0。 取值范围:[0.5, 2.0]。 |
| payload.parameters.word_timestamp_enabled | boolean | (可选) 是否开启字级别时间戳。 默认值:false。 适用范围:所有 Sambert 模型。 |
| payload.parameters.phoneme_timestamp_enabled | boolean | (可选) 是否开启音素级别时间戳。 默认值:false。 需要先开启 word_timestamp_enabled。 |