配置 TTS
功能简介
为匹配不同的人设和场景,您可能需要:
- 选择不同的文本转语音(TTS)厂商,例如火山引擎、MiniMax、阿里云等,
- 配置不同的音色。
- 针对 TTS 的音频做个性化调整,例如音量、语速、语调等;
- 特殊规则过滤 TTS 的内容。例如“(开心地说)今天天气真好呀”,过滤括号内容。
前提条件
- 开通 AI Agent 服务
- 开通对应 TTS 厂商服务:
- 方式1:直接通过 zego_test 账号体验
- 方式2:通过 ZEGO 购买 TTS 服务。请联系 ZEGO 商务获取账号及鉴权信息
- 方式3:自行购买 TTS 服务,获取密钥信息等
使用方式
目前可通过 4 个接口设置 TTS 相关参数:
接口 | 说明 |
---|---|
注册智能体 | 设置厂商、音色、语速等参数。 |
创建语音智能体实例 创建数字人智能体实例 | 设置厂商、音色、语速等参数。 说明 如果不设置,默认会使用注册 Agent 智能体(RegisterAgent)携带的 TTS 参数。 |
修改智能体实例 | 设置音色、语速等参数。 注意 不支持修改 FilterText 参数。 |
TTS 参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
Vendor | String | 是 | 文本转语音(TTS)服务提供商。可选值:
说明 此参数在更新智能体实例时无法更新 |
Params | Object | 是 | TTS 配置参数,格式为 JSON 对象。包含 app 参数(用于认证)和其他参数(用于调整 TTS 效果)。详见下方 Params 参数说明。 |
FilterText | Array of Object | 否 | 过滤指定标点符号中的文字后,再进行语音合成。例如:要过滤 [] 中的内容,则设置成[{"BeginCharacters": "[", "EndCharacters": "]"}] 说明 此参数在更新智能体实例时无法更新 |
TerminatorText | String | 否 | 可用于设置 TTS 的终止文本。若输入 TTS 的文本中出现匹配 TerminatorText 字符串的内容,则本轮 TTS 从 TerminatorText 字符串(包含)开始的内容将不再进行语音合成。 说明 双向流式只能设置一个字符。最大长度:4 个字符。 |
Params 参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
app | object | 是 | 用于 TTS 服务鉴权,不同的 Vendor 值要求传入的 app 参数的结构不同。详见下方各厂商 app 参数说明。 |
其他参数 | - | 否 | 除 app 参数外,还可以传入其他 TTS 配置参数来调整语音合成效果,这些参数会直接透传给对应的 TTS 服务提供商。 您可以根据 Vendor 的值,参考如下服务提供商的官方文档获取所需信息:
|
app
参数及 其他 TTS 参数在不同厂商的定义都不一样,请参考下方各厂商的参数说明。
FilterText 参数说明
FilterText 是一个 Object 数组。其中的每个 Object 包含两个字符串类型的参数:BeginCharacters 和 EndCharacters。
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
BeginCharacters | string | 是 | 过滤文本的开始标点符号。例如,如果要过滤 () 中的内容,请设置为 (。 |
EndCharacters | string | 是 | 过滤文本的结束标点符号。例如,如果要过滤 () 中的内容,请设置为 )。 |