IndexTTS-2 具备强大的情绪控制能力,可精准调控合成语音的情绪表达。本文档涵盖全部可用的情绪控制方法及其应用场景。
概述
IndexTTS-2 支持多种情绪控制方式,可组合使用,实现细腻复杂的情绪表达:
- 直接音频参考:任意音频文件作为情绪参考源
- 角色语音:通过「角色语音节点」中的角色音频作为情绪参考
- 情绪向量:8 维情绪滑块手动调节,支持精确数值设置
- 文本情绪:基于 QwenEmotion 的 AI 文本描述分析,搭配动态模板
- 角色标签情绪:使用
[角色名:情绪参考]语法,对不同角色单独控制情绪
情绪控制优先级
引擎节点同一时间只能接入一种情绪控制源:音频、文本、向量三选一。
文本内的角色标签情绪(优先级最高):形如 [Alice:angry_bob] 的标签,会对该角色对应片段覆盖所有其他情绪设置。
方法 1:直接音频参考
将任意音频文件直接接入 IndexTTS-2 引擎的 emotion_control(情绪控制)输入端。
工作原理
IndexTTS-2 会提取参考音频的情绪特征,将该情绪风格应用到全部生成语音。 支持各类音频格式(WAV、MP3 等)。
最佳实践
- 选用情绪表达清晰的音频片段
- 参考音频音色保持统一,生成效果更佳
- 避免带有背景音乐、杂音的音频
示例: 音频节点 → IndexTTS-2 引擎(情绪控制端口)
方法 2:角色语音音频参考
使用 🎭角色语音节点 的 opt_narrator 输出作为情绪参考。
设置步骤
- 添加 🎭角色语音节点
- 选择带有目标情绪的音色
- 将
opt_narrator输出连接至 IndexTTS-2 引擎的情绪控制输入端
优势
- 复用你现有的音色库
- 基于角色实现稳定统一的情绪
- 便于管理与归类
示例工作流: 🎭角色语音(David_Attenborough) → opt_narrator → IndexTTS-2 引擎(情绪控制)
方法 3:情绪向量
使用 🌈IndexTTS-2 情绪向量节点,手动精细调节 8 种情绪。
可选情绪(取值范围 0.0–1.2):
- Happy(开心):喜悦、亢奋、积极
- Angry(愤怒):攻击性、烦躁、强烈情绪
- Sad(悲伤):忧郁、难过、低沉语调
- Surprised(惊讶):诧异、震惊、惊奇
- Afraid(恐惧):害怕、焦虑、紧张
- Disgusted(厌恶):反感、不悦、排斥感
- Calm(平静):安宁、放松、语调平稳
- Melancholic(怅然):深思式忧伤、惆怅
使用提示
- 数值大于 1.0,情绪表现力更强,但有可能降低克隆音色的还原度
- 可叠加多种情绪,实现复合情感(例:0.8 开心 + 0.3 惊讶 = 欣喜激动)
- 建议先单独调试单种情绪,再尝试组合
- 随机按钮可一键生成完全随机的情绪组合,但情绪强度可能过高
方法 4:文本情绪(动态分析)
使用🌈IndexTTS-2 文本情绪节点,借助 AI 进行情绪分析,搭配动态模板。
静态文本情绪
填写简单情绪描述,全局作用于所有文本片段: 输入:angry and frustrated(愤怒又沮丧) 效果:整段语音都采用愤怒、沮丧的情绪。
带 {seg} 的动态模板
使用占位符 {seg},对每一段文本单独做上下文情绪分析。
模板示例:
"Happy character speaking: {seg}"— 欢快的旁白角色"Angry boss yelling: {seg}"— 怒气冲冲的上司"Calm meditation guide: {seg}"— 平和的冥想引导者"Excited game show host: {seg}"— 充满活力的节目主持人
动态模板原理
IndexTTS-2 单独处理每一段文本; {seg} 会替换为当前片段原文; QwenEmotion 结合上下文与文本内容做情绪解析; 为每个片段生成独立情绪向量。
示例: 模板:"Worried parent speaking: {seg}" 文本片段:"Where have you been?" 分析内容:"Worried parent speaking: Where have you been?" 输出效果:焦虑、担忧的语音表达。
角色标签情绪控制
在文本内嵌入标签,为不同角色单独指定情绪,语法:[角色名:情绪参考]
语法
[角色名称:情绪参考]
情绪参考可选项:
- 音色库内任意角色名(调用该角色音频作为情绪参考)
- 自定义情绪引用
示例:
Hello everyone! [Alice:happy_sarah] I’m so excited to be here today! [Bob:angry_tom] That’s completely unacceptable behavior. [Narrator:David] Meanwhile, in a distant galaxy…
前提:happy_sarah、angry_tom、David 是音色文件夹中存在的别名或角色音频。
角色标签优先级
角色标签会覆盖该角色片段所有全局情绪设置; 其余角色继续沿用全局情绪; 同一段音频内可以混合多种情绪。
情绪强度系数(Emotion Alpha)
IndexTTS-2 引擎上的 emotion_alpha 参数,控制情绪施加强度:
- 0.0:不应用任何情绪(中性音色)
- 0.5:50% 情绪混合(轻微情绪影响)
- 1.0:满强度情绪(推荐标准值)
- 1.5:150% 增强情绪(戏剧感更强)
- 2.0:情绪拉满,表现力极强(戏剧化程度最高)
实操工作流示例
示例 1:多角色剧本,独立分配情绪
文本: [Alice:happy_sarah] Welcome to our cooking show! [Bob:serious_narrator] Today we'll be making pasta. [Alice:excited_sarah] I can't wait to get started!
设置: 无需全局情绪控制; 每个角色通过标签单独指定情绪; emotion_alpha=1.0,增强表现力。
示例 2:全局情绪 + 局部覆写
全局设置: 🌈IndexTTS-2 文本情绪:"Cheerful host presenting: {seg}" emotion_alpha=0.8
带覆写标签的文本: Welcome to our show! [Bob:serious_narrator] But first, a serious announcement. [Alice:excited_sarah] Now back to our regular programming!
效果: 默认文本段使用欢快主持人情绪; Bob 的台词使用严肃旁白情绪(覆盖全局); Alice 的台词使用兴奋情绪(覆盖全局)。
这套完备的情绪控制系统,可以让你自由创建富有表现力、情绪饱满的 TTS 语音,适配各类场景。