帮你快速理解、总结文档立即下载

TTS 配置

最近更新时间:2026-10-29 21:43:33
我的收藏

功能概述

在 Cascade(三段式) 模式下,TTS(文本转语音)是对话链路的第三段,也是 AI 机器人的“嗓音”:接收 LLM 流式输出的回复文本,实时合成语音并回传到 TRTC 房间播报,同时支持被打断。
TTS 段采用 Provider + Params 接入模式,支持:
TRTC 自研 TTS(trtc,默认):即开即用,无需开通第三方服务,推荐绝大多数场景直接使用。
第三方 TTS(minimax / azure ):满足指定音色、特定厂商音质的需求。
自定义 TTS(custom):自研 TTS、私有化部署 TTS,基于 OpenAI TTS 标准协议对接。
说明:
S2S(端到端)模式下,音频由端到端模型直接生成,不存在独立的 TTS 段,无需配置 TTSConfig。

配置结构

创建 AI 对话任务时,通过 TTSConfig 指定 TTS 配置:
字段名
必选
类型
描述
Provider
是
String
TTS 厂商标识:trtc(默认)/ minimax / azure / custom。
Params
是
String
厂商专属参数,JSON 字符串。

TRTC 自研 TTS

Params 参数说明(Provider = trtc)

字段名
类型
必选
描述
Model
String
是
音色模型(TTS 模型参数,仅支持填写"flow_02_turbo")。
VoiceId
String
是
音色 ID。对于不同的语言,需要填写特定的音色 ID,详细参见 VoiceId 音色说明。
Speed
Float
否
语速,默认 1.0。
Volume
Float
否
音量,范围 0.0-2.0,默认 1.0。
Pitch
Float
否
音高(半音),默认 0.0。

VoiceId 音色说明

VoiceId 为音色 ID,不同语言需填写对应的音色 ID,支持的音色如下:
语言
男生音色
女生音色
中文(zh)
v-male-s5NqE0rZ
v-female-R2s4N9qJ
英语(en)
v-male-X6h4TvP9
v-female-P6q9LmR2
日语(ja)
v-male-J3n8DxK2
v-female-J3k7NxR2
粤语(yue)
v-male-D7p4XcL2
v-female-C5t1QxH9
印度尼西亚语(id)
v-male-B5f2CnS3
v-female-W5n8HgB2
泰语(th)
v-male-B5f2CnS3
v-female-W5n8HgB2
越南语(vi)
v-male-B5f2CnS3
v-female-W5n8HgB2
马来语(ms)
v-male-Q6p8ZxL3
v-female-C8k4NxL6
说明:
印度尼西亚语(id)、泰语(th)、越南语(vi)共用同一组音色。

配置示例

"TTSConfig": {
"Provider": "trtc",
"Params": "{\\"Model\\":\\"flow_02_turbo\\",\\"VoiceId\\":\\"v-female-R2s4N9qJ\\",\\"Speed\\":1.0}"
}

第三方 TTS 接入

将 Provider 设置为对应厂商标识(minimax / azure ),并在 Params 中传入该厂商的专属参数(鉴权、模型、音色、语速等),参数规范以对应厂商文档为准。如需接入其他 TTS 厂商,请联系商务。

Minimax 接入示例(Provider = minimax)

点击查看 Minimax 官网文档 。
配置示例:
"TTSConfig": {
"Provider": "minimax",
"Params": "{\\"provider\\":\\"minimax\\",\\"api_key\\":\\"<your-api-key>\\",\\"model\\":\\"speech-2.6-hd\\",\\"url\\":\\"https://api.minimaxi.com/v1/t2a_v2\\",\\"voice_setting\\":{\\"voice_id\\":\\"male-qn-qingse\\"}}"
}

Azure 接入示例(Provider = azure)

Params 字段说明:
字段名
含义
subscription_key
密钥。
url
API 地址。
voice
音色 ID。
lang
语言。
rate
语速。
volume
音量。
pitch
语调。
style
情感风格。
点击查看 Microsoft 官网。
配置示例:
"TTSConfig": {
"Provider": "azure",
"Params": "{\\"voice\\":\\"zh-CN-XiaoxiaoNeural\\",\\"subscription_key\\":\\"<your-subscription-key>\\",\\"url\\":\\"https://southeastasia.api.cognitive.microsoft.com\\"}"
}

自定义 TTS 接入(Provider = custom)

客户可提供自研 TTS、私有化部署 TTS 或第三方 TTS 服务作为 AI 对话的语音合成模块。接口协议基于 OpenAI TTS 标准协议构建,并针对实时对话场景做了必要扩展(如 PCM 流式输出、采样率/声道控制)。

协议规范

项目
要求
请求方式
HTTP POST
请求路径
/v1/audio/speech(OpenAI TTS 标准路径)
请求格式
JSON Body
鉴权
Authorization: Bearer {api_key}(api_key 由 Params 透传)
响应格式
HTTP 200 + PCM 音频二进制流(Chunked Transfer Encoding)
音频格式
有符号 16-bit Little-Endian PCM

Params 参数说明(Provider = custom)

字段名
类型
必选
描述
url
String
是
TTS 服务 HTTP 接入点。
api_key
String
否
鉴权密钥(映射为 Authorization: Bearer)。
model
String
是
模型标识(如 cosyvoice-v1)。
voice
String
否
音色 ID。
speed
Float
否
语速,范围 0.25-4.0,默认 1.0。
sample_rate
Integer
否
采样率:8000 / 16000(默认)/ 24000 / 48000。
channel
Integer
否
声道:
1(默认,单声道);
2(双声道)。
custom_headers
Object
否
自定义请求头。
custom_fields
Object
否
厂商扩展参数黑盒透传。

配置示例

"TTSConfig": {
"Provider": "custom",
"Params": "{\\"url\\":\\"https://your-tts-service/v1/audio/speech\\",\\"api_key\\":\\"<your-api-key>\\",\\"model\\":\\"cosyvoice-v1\\",\\"voice\\":\\"your-voice-id\\",\\"speed\\":1.0,\\"sample_rate\\":16000,\\"channel\\":1}"
}

接入要点

1. TRTC 侧对 Params 做 JSON 合法性校验但不解析内部字段语义,具体字段映射关系由 AI 后台的自定义 TTS 适配器实现。
2. 建议业务侧 TTS 服务做好流式输出,避免首包延迟过大影响对话体验。
3. 自定义 TTS 服务需按协议返回 HTTP 200 + PCM 二进制流(Chunked),非 200 响应视为合成失败。

音频回传房间

TTS 合成的音频由后台通过回推机器人推入 TRTC 房间,回推机器人通过 AgentConfig.TTSPushRoomParams 指定:
字段名
必选
类型
描述
UserId
是
String
回推机器人的 UserId,长度 1-120(UserSig 由后台自动生成)。
"AgentConfig": {
"UserId": "ai-bot-001",
"TTSPushRoomParams": { "UserId": "tts-bot-001" }
}
说明:
对话机器人(AgentConfig.UserId)与回推机器人(TTSPushRoomParams.UserId)需使用不同的用户 ID,客户端订阅回推机器人的音频流即可听到 AI 的回复。

播报内容控制

除 LLM 回复文本外,以下文本同样经 TTS 合成播报:
内容
配置位置
说明
欢迎语
DialogConfig.WelcomeMessage
主播进房后自动播报。
静音追问
DialogConfig.SilenceFollowUpText
静音超时后 Bot 主动追问。
LLM 失败兜底
LLMConfig.FailureMessage
LLM 调用失败时播报,避免对话断档。
括号内容过滤
AgentConfig.FilterBracketsContent
过滤 (微笑)、[开心] 等动作情绪标记,避免被 TTS 念出,详细参见 LLM 配置 > 输出控制。

注意事项

1. TTS 配置不支持热更新:任务创建后无法通过修改任务接口变更 TTSConfig;如需更换音色或厂商,请结束当前任务并重新创建。
2. 仅 Cascade 模式需要配置:S2S 模式由端到端模型直接生成音频,无需 TTSConfig。
3. 音色与语言需匹配:VoiceId 需填写与对话语言对应的音色 ID,语言与音色不匹配会导致合成失败或发音异常。
4. 打断配合:TTS 播报中收到打断指令(自动 / 手动 / 关键词打断)会立即停止播放并清空待播队列,详细参见 (客户端)打断指令。