You need to enable JavaScript to run this app.
导航
语音合成配置
最近更新时间:2025.11.18 19:15:17首次发布时间:2025.05.29 11:18:34
复制全文
我的收藏
有用
有用
无用
无用

在实时对话式 AI 场景中,你需要配置语音合成(TTS)能力,将大模型生成的文本转换为自然流畅的语音输出,实现智能体与真人用户的语音交互。RTC 提供一站式接入方案,只需在 StartVoiceChat 接口配置 TTSConfig 即可完成语音合成能力接入。本文将详细介绍不同服务的配置参数、注意事项及适用场景,帮助你根据需求选择合适的方案。

注意

当通过 StartVoiceChat 接口中的 S2SConfig 参数启用端到端语音模型时,系统的语音合成能力将由端到端模型内部处理。此时,本文档描述的 TTSConfig 相关配置将无效。关于端到端模型的配置,请参见接入端到端语音模型

选择语音合成服务

火山引擎提供以下几种语音合成接入方案,分别适用于不同场景:

服务商模型优势/适用场景
火山引擎 TTS语音合成生成速度快,满足常规语音播报需求,适合短语或标准回复(如提醒、系统反馈)。
语音合成大模型(非流式输入流式输出)支持 SSML 标记语言,相较于传统语音合成技术,更自然连贯、情感更强。详细功能特性,参看大模型语音合成
语音合成大模型(流式输入流式输出)流式逐字级别输入级输出,更生动、更具情感表现力,且支持过滤 Markdown 格式、播报 Latex 公式。详细功能特性,参看大模型语音合成
声音复刻大模型(非流式输入流式输出)支持复刻真人音色,语音合成速度更快,适用于需要定制化音色的文本场景(如企业客服、虚拟主播)。详细功能特性,参看大模型声音复刻
声音复刻大模型(流式输入流式输出)支持复刻真人音色,语音合成效果更自然。详细功能特性,参看大模型声音复刻
第三方 TTSMiniMax 语音合成支持多语言、混合音色和特殊发音标注。详细功能特性,参看 MiniMax 语音生成
自定义语音合成将自定义语音合成服务接入边缘大模型网关后,即可在实时对话式 AI 方案中使用该服务进行语音合成,实现自定义需求。

配置语音合成

火山语音合成

  • 核心参数
    使用 StartVoiceChat 接口配置火山引擎语音合成时,需通过 Config.TTSConfig 结构设置参数,以下为核心配置参数说明:

    完整参数及说明可参看 StartVoiceChat 接口文档

    参数名类型是否必填示例值说明
    IgnoreBracketTextInt[][1, 2]过滤大模型返回内容中指定标点符号中的文字后再进行语音合成。
    ProviderStringvolcano语音合成服务提供商,固定取值 volcano
    ProviderParams.app.appidString94****11开通火山引擎语音合成服务后获取的 App ID,用于标识应用。你可登录豆包语音控制台获取。
    ProviderParams.app.clusterStringvolcano_tts已开通语音合成服务对应的集群标识(Cluster ID)。你可登录豆包语音控制台开通服务后获取。
    ProviderParams.audio.voice_typeStringBV001_streaming已开通音色对应的音色种类(Voice_type)。你可登录豆包语音控制台购买音色后获取。
    ProviderParams.audio.speed_ratioFloat1.0语速。取值 [0.2,3],默认 1.0,值越大语速越快。
    ProviderParams.audio.volume_ratioFloat1.0音量。取值 [0.1,3],默认 1.0,值越大音量越高。
    ProviderParams.audio.pitch_ratioFloat1.0音高。取值 [0.1,3],默认 1.0,值越大音调越高。
  • 请求示例
    你可参看以下示例,使用火山引擎语音合成:

    {
        "TTSConfig": {
            "IgnoreBracketText":[
                1,
                2
            ],
            "Provider": "volcano",
            "ProviderParams": {
                "app": {
                    "appid": "94****11",
                    "cluster": "volcano_tts"
                },
                "audio": {
                    "voice_type": "BV001_streaming",
                    "speed_ratio": 1.0,
                    "volume_ratio": 1.1,
                    "pitch_ratio": 1.0
                }
            }
        }
    }
    

火山语音合成大模型(非流式输入流式输出)

  • 核心参数

    完整参数及说明可参看 StartVoiceChat 接口文档

    参数名类型是否必填示例值说明
    IgnoreBracketTextInt[][1,2]过滤大模型返回内容中指定标点符号中的文字后再进行语音合成。
    ProviderStringvolcano语音合成服务提供商,固定取值 volcano
    ProviderParams.app.appidString94****11开通火山引擎语音合成大模型服务后获取的 App ID,用于标识应用。你可登录豆包语音控制台获取。
    ProviderParams.app.clusterStringvolcano_tts已开通语音合成大模型服务对应的集群标识(Cluster ID)。你可登录豆包语音控制台开通服务后获取。
    ProviderParams.audio.voice_typeStringzh_female_meilinvyou_moon_bigtts已开通音色对应的音色种类(Voice_type)。你可登录豆包语音控制台购买音色后获取。
    ProviderParams.audio.pitch_rateInteger0音调。取值 [-12, 12],默认 0,值越大音调越高。
    ProviderParams.audio.speech_ratioFloat1.0语速。取值 [0.2,3],默认 1.0,值越大语速越快。
  • 请求示例
    你可参看以下示例,使用火山引擎语音合成大模型(非流式输入流式输出)进行语音合成:

    {
        "TTSConfig": {
            "IgnoreBracketText":[
                1,
                2
            ],
            "Provider": "volcano",
            "ProviderParams": {
                "app": {
                    "appid": "94****11",
                    "cluster": "volcano_tts"
                },
                "audio": {
                    "voice_type": "zh_female_meilinvyou_moon_bigtts",
                    "pitch_rate": 2,
                    "speech_ratio": 1.0
                }
            }
        }
    }
    

火山语音合成大模型(流式输入流式输出)

  • 核心参数

    完整参数及说明可参看 StartVoiceChat 接口文档

    参数名类型是否必填示例值说明
    IgnoreBracketTextInt[][1,2]过滤大模型返回内容中指定标点符号中的文字后再进行语音合成。
    ProviderStringvolcano_bidirection语音合成服务提供商,固定取值 volcano_bidirection
    ProviderParams.app.appidString94****11开通火山引擎语音合成大模型服务后获取的 App ID,用于标识应用。你可登录豆包语音控制台获取。
    ProviderParams.app.tokenStringOaO****ws1与语音合成大模型服务 App ID 对应的 AccessToken,用于身份认证。你可登录豆包语音控制台获取。Access Token 查找方式,可参看如何获取 Token
    ProviderParams.audio.voice_typeStringBV001_streaming已开通音色对应的音色种类(Voice_type)。你可登录豆包语音控制台购买音色后获取。
    ProviderParams.audio.speech_rateInteger0语速。取值范围为 [-50, 100]100 代表 2.0 倍速,-50 代表 0.5 倍速。默认值为 0。取值越大,语速越快。
    ProviderParams.Additions.disable_markdown_filterBooleantrue是否过滤 Markdown 标记。
    ProviderParams.Additions.enable_latex_tnBooleantrue是否播报 Latex 公式(需 disable_markdown_filtertrue 生效)。
    ProviderParams.ResourceIdStringvolc.service_type.10029调用服务的资源信息 ID,该参数固定取值:volc.service_type.10029
  • 请求示例

    你可参看以下示例,使用火山语音合成大模型(流式输入流式输出)进行语音合成:

    {
        "TTSConfig": {
            "IgnoreBracketText":[
                1,
                2
            ],
            "Provider": "volcano_bidirection",
            "ProviderParams": {
                "app": {
                    "appid": "94****11",
                    "token": "OaO****ws1",
                },
                "audio": {
                    "voice_type": "BV001_streaming",
                    "speech_rate": 20
                },
                "Additions": {
                    "enable_latex_tn": true,
                    "disable_markdown_filter": true
                },
                "ResourceId": "volc.service_type.10029"
            }
        }
    }
    

火山声音复刻大模型(非流式输入流式输出)

注意

使用前请参看声音复刻下单及使用指南声音复刻2.0-最佳实践了解如何实现声音复刻最佳效果。

  • 核心参数

完整参数及说明可参看 StartVoiceChat 接口文档

参数名类型是否必填示例值说明
IgnoreBracketTextInt[][1,2]过滤大模型返回内容中指定标点符号中的文字后再进行语音合成。
ProviderStringvolcano语音合成服务提供商,固定取值 volcano
ProviderParams.app.appidString94****11开通火山引擎声音复刻大模型服务后获取的 App ID,用于标识应用。你可登录豆包语音控制台获取。
ProviderParams.app.clusterStringvolcano_icl已开通声音复刻大模型服务对应的集群标识(Cluster ID)。你可登录豆包语音控制台开通服务后获取。
ProviderParams.audio.voice_typeStringS_N****T7k1声音复刻声音 ID。你可登录豆包语音控制台获取。
ProviderParams.audio.speed_ratioFloat1.0语速。取值 [0.2, 3],默认 1.0,值越大语速越快。
  • 请求示例

你可参看以下示例,使用火山声音复刻大模型(非流式输入流式输出)进行语音合成:

{
    "TTSConfig": {
        "IgnoreBracketText":[
            1,
            2
        ],
        "Provider": "volcano",
        "ProviderParams": {
            "app": {
                "appid": "94****11",
                "cluster": "volcano_icl"
            },
            "audio": {
                "voice_type": "S_N****T7k1",
                "speed_ratio": 1.0
            }
        }
    }
}

火山声音复刻大模型(流式输入流式输出)

注意

使用前请参看声音复刻下单及使用指南声音复刻2.0-最佳实践了解如何实现声音复刻最佳效果。

  • 核心参数

    完整参数及说明可参看 StartVoiceChat 接口文档

    参数名类型是否必填示例值说明
    IgnoreBracketTextInt[][1,2]过滤大模型返回内容中指定标点符号中的文字后再进行语音合成。
    ProviderStringvolcano_bidirection语音合成服务提供商,固定取值 volcano_bidirection
    ProviderParams.app.appidString94****11开通火山引擎声音复刻大模型服务后获取的 App ID,用于标识应用。你可登录豆包语音控制台获取。
    ProviderParams.app.tokenStringOaO****ws1与开通声音复刻大模型服务 App ID 对应的 AccessToken,用于身份认证。你可登录豆包语音控制台获取。Access Token 查找方式,可参看如何获取 Token
    ProviderParams.audio.voice_typeStringS_N****T7k1声音复刻声音 ID。你可登录豆包语音控制台获取。
    ProviderParams.audio.speed_rateFloat1.0语速。取值范围为 [0.8, 2],默认值为 1.0,通常保留一位小数即可。取值越大,语速越快。
    ProviderParams.ResourceIdStringvolc.megatts.default调用服务的资源信息 ID,该参数固定取值:volc.megatts.default
  • 请求示例

    你可参看以下示例,使用火山声音复刻大模型(流式输入流式输出)进行语音合成:

    {
        "TTSConfig": {
            "IgnoreBracketText":[
                1,
                2
            ],
            "Provider": "volcano_bidirection",
            "ProviderParams": {
                "app": {
                    "appid": "94****11",
                    "token": "OaO****ws1",
                },
                "audio": {
                    "voice_type": "S_N****T7k1",
                    "speed_rate": 1.0
                },
                "ResourceId": "volc.megatts.default"
            }
        }
    }
    

MiniMax 语音合成

  • 核心参数

    完整参数及说明可参看 StartVoiceChat 接口文档

    参数名类型是否必填示例值说明
    IgnoreBracketTextInt[][1, 2]过滤大模型返回内容中指定标点符号中的文字后再进行语音合成。
    ProviderStringminimax语音合成服务提供商,固定取值 minimax
    ProviderParams.AuthorizationStringeyJhbG****SUzI1NAPI 密钥。前往 Minimax 账户管理-接口密钥获取。
    ProviderParams.GroupidString983*****669用户所属组 ID。前往 Minimax 账号信息-基本信息获取。
    ProviderParams.modelStringspeech-01-turbo模型版本(speech-01-turbo/speech-01-240228/speech-01-turbo-240228)。
    ProviderParams.URLStringhttps://api.minimax.chat/v1/t2a_v2请求语音合成 URL,该参数固定取值:https://api.minimax.chat/v1/t2a_v2
    ProviderParams.streamBooleanfalse是否流式输出。
    ProviderParams.voice_settingObject{"speed":1.0,"vol":1.0,"pitch":1.0}语速、音量、音调配置。
    ProviderParams.pronunciation_dictObject{"tone": ["处理/(chu3)(li3)", "危险/dangerous"]}特殊发音标注。
    ProviderParams.language_boostStringChinese,Yue语言偏好。取值范围:Chinese/Yue,默认值为 Chinese
    ProviderParams.timber_weightsArray[{"voice_id":"male-qn-jingying","weight":70},{"voice_id":"wumei_yujie","weight":30}]合成音色权重设置。
  • 请求示例

    你可参看以下示例,使用 MiniMax 语音合成进行语音合成:

    {
        "TTSConfig": {
            "IgnoreBracketText": [
                1,
                2
            ],
            "Provider": "minimax",
            "ProviderParams": {
                "Authorization": "eyJhbG****SUzI1N",
                "Groupid": "983*****669",
                "model": "speech-01-turbo",
                "URL": "https://api.minimax.chat/v1/t2a_v2",
                "stream": false,
                "voice_setting": {
                    "speed": 1.0,
                    "vol": 1.0,
                    "pitch": 1.0
                },
                "pronunciation_dict": {
                    "tone": [
                        "处理/(chu3)(li3)",
                        "危险/dangerous"
                    ]
                },
                "language_boost": "Chinese,Yue",
                "timber_weights": [
                    {
                        "voice_id": "male-qn-jingying",
                        "weight": 70
                    },
                    {
                        "voice_id": "wumei_yujie",
                        "weight": 30
                    }
                ]
            }
        }
    }
    

自定义语音合成

将自定义语音合成服务接入边缘大模型网关后,即可在实时对话式 AI 方案中使用该服务进行语音合成。
具体接入方式和说明可参看 自定义语音合成

FAQ

如何更换音色?

对于火山引擎的 TTS 服务,你可以按照以下步骤更换音色:

  1. 前往豆包语音控制台,选择你使用的语音合成服务,如语音合成大模型。
  2. 在服务详情页,单击音色购买,选择你需要的音色。
  3. 购买完成后,在服务详情页查找要更换音色的 Voice_type
  4. 调用 StopVoiceChat 接口停止当前智能体任务,使用 StartVoiceChat 接口,在 TTSConfig 中的 Voice_type 参数中填入更换音色的 Voice_type 重新启动智能体任务。