IndexTTS
是一个基于 XTTS 和 Tortoise 的 GPT 风格文本到语音(TTS)模型。该项目主要针对中文场景进行了优化,并引入了多项改进,使其在发音准确性、音色相似度和音频质量方面表现出色。根据项目页面的描述,该系统经过数万小时数据训练,在性能上超越了当前流行的 TTS 系统,如 XTTS
、CosyVoice2
、Fish-Speech
和 F5-TTS
。
核心特性:
中文发音纠正 :
- 引入了“字符-拼音混合建模”方法,可以通过拼音来快速纠正中文生僻字或易错字的发音问题。
增强的模型架构 :
灵活控制语句节奏 :
大规模训练数据 :
开源与评测集发布 :
技术亮点总结:
改进点 | 描述 |
字符-拼音混合建模 | 提高中文发音准确性,支持快速纠正错误发音 |
Conformer Conditioning Encoder | 提升语音特征表示能力 |
BigVGAN2 解码器 | 显著提高音频质量和合成稳定性 |
多样化测试集公开 | 包括主观、客观及多音字测试集,方便评估 |
Index-TTS 高级参数推荐表
参数名 | 说明 | 建议值 | 使用建议 |
temperature | 控制采样随机性,数值越高语音越“创造性”,越低越稳定 | 0.6 ~ 1.2 | <br>• 低值(0.60.8)适合正式播报<br>• 高值(1.01.2)适合富有表现力的语气(如讲故事) |
length_penalty | 控制语音长度,影响语速和停顿 | 0.8 ~ 1.2 | <br>• >1:语速变慢,适合抒情/缓慢语气<br>• <1:语速加快,适合快节奏内容 |
repetition_penalty | 抑制重复发音,避免语音中的卡顿或重复现象 | 1.0 ~ 1.5 | <br>• 提高该值可减少语音重复问题<br>• 值过高可能导致语音不自然 |
top_p | 核采样(nucleus sampling)概率阈值,用于限制采样范围 | 0.8 ~ 0.95 | <br>• 较高值保留更多候选词,增强多样性<br>• 较低值更保守,语音更稳定 |
top_k | 从 top-k 个最可能的 token 中采样 | 50 ~ 100 | <br>• 控制生成语音的多样性和稳定性<br>• 数值过小容易导致语音单调 |
prompt_temperature | 控制参考语音(prompt)的风格提取强度 | 0.3 ~ 0.7 | <br>• 高值提取更多风格特征(适合模仿特定语气)<br>• 低值保持通用音色 |
prompt_length_penalty | 调整参考语音对整体语速的影响 | 0.9 ~ 1.1 | <br>• 接近1表示完全保留原语速<br>• 稍微调整可用于适配不同文本长度 |
phoneme_level | 是否启用拼音/音素级别控制(用于纠正发音) | False / True | <br>• True 可手动输入拼音以修正生僻字<br>• 适合中文发音复杂场景 |
emotion | 情感标签(实验性),指定语音情感类别 | "neutral", "happy", "sad", "angry" 等 | <br>• 当前为实验功能,需配合训练数据使用<br>• 可尝试切换情绪表达 |
speaker_id | 多说话人支持,选择不同的预训练音色 | int , 如0, 1, 2... | <br>• 不同 ID 对应不同性别/年龄/口音<br>• 查看模型文档获取具体音色描述 |
speed | 整体语速控制(非实时倍速) | 0.8 ~ 1.2 | <br>• 类似 length_penalty,但更直接<br>• 适合与播放器同步使用 |
noise_scale | 添加语音噪声,增加自然度 | 0.3 ~ 0.7 | <br>• 增加轻微波动使语音更真实<br>• 过大会引入杂音 |
noice_w | 控制语音波形的随机扰动程度 | 0.8 ~ 1.2 | <br>• 影响语音的“呼吸感”和自然度<br>• 默认值即可满足多数场景 |
正常语音合成(默认配置)
{
"temperature": 0.8,
"length_penalty": 1.0,
"repetition_penalty": 1.2,
"top_p": 0.9,
"top_k": 80,
"prompt_temperature": 0.5,
"prompt_length_penalty": 1.0,
"noise_scale": 0.5,
"noise_w": 1.0,
}
发音纠错模式(含拼音输入)
{
"phoneme_level": True,
# 同时传入 text 和 phonemes 列表
}
表现力强的语音(如讲故事)
{
"temperature": 1.1,
"length_penalty": 1.1,
"top_p": 0.95,
"top_k": 50,
"emotion": "happy"
}
快速播报(新闻类)
{
"temperature": 0.7,
"length_penalty": 0.9,
"repetition_penalty": 1.4,
"top_p": 0.85,
"speed": 1.1
}
注意事项
- 所有参数需结合具体模型版本使用,请参考官方文档。
- 参数组合过多可能导致语音不稳定,建议逐步调试。
- 若使用了情感标签或多说话人,请确认模型已包含相应训练数据。
百度网盘: index-tts 提取码: bdq3
国外网盘: index-tts