IndexTTS2:首个能与口型时长对齐的 TTS 模型
用大多数 TTS 模型给视频配音,最终都会撞上同一堵墙:生成的台词长了半秒,音频于是开始与画面中角色的嘴型错位。自回归 TTS 模型——也就是逐个生成语音 token、通常听起来最自然的那类模型——历来在这方面问题最严重,因为其生成长度无法预先锁定。来自 Bilibili Index 团队的 IndexTTS2,是首个为解决这一具体问题而构建的自回归 TTS 模型:它可以精确到毫秒级地控制一段生成语音的实际时长。
IndexTTS2 有哪些新变化
IndexTTS 2 是 Bilibili 继原始 IndexTTS 之后推出的后续版本。与其说它是一次渐进式更新,不如说它是面向专业配音和内容本地化工作流的一次重构。原始模型曾明确把情感范围有限和不支持指令式生成列为待解决问题,IndexTTS2 直接处理了这两点,同时增加了原始版本完全不具备的一项能力:精确控制生成台词的时长。
IndexTTS2 使用涵盖中文、英文和日文的约 55,000 小时多语言语音数据进行训练。作者称,它在与现有零样本 TTS 系统的比较中,于词错误率、说话人相似度和情感保真度这三项指标上同时达到当前最佳水平——而在其他模型中,这三项指标往往会顾此失彼。
精确时长控制:核心亮点
这是 IndexTTS2 的核心贡献,直接针对自回归 TTS 的结构性局限。由于此类模型在没有固定目标长度的情况下逐个生成语音 token,要匹配特定时长——例如正好用 3.2 秒把一句配音放进现有视频片段——过去通常需要反复试错、重新生成,或在后期做会降低音质的时间拉伸处理。
IndexTTS2 引入了一套时长适配方案,提供两种不同的生成模式:
- 指定时长模式。 明确设置生成 token 的数量,以达到精确的目标长度。这一模式面向视听配音,需要让台词准确落在特定时间窗口内,以匹配嘴部动作或场景节奏。
- 自由时长模式。 不施加 token 数量约束,让模型自然生成,同时仍忠实复现输入提示的韵律特征。当自然节奏比命中精确时长更重要时,这种模式更合适。
尤其值得注意的是,作者将它设计为一种可应用于 IndexTTS2 之外其他自回归 TTS 架构的通用方法,而不是仅适用于这一模型的狭窄技巧。
情感与音色解耦
第二项主要新增能力,是把声音“像谁”与声音“感觉如何”分离开来。在大多数克隆模型中,你提供的参考片段既决定说话人的身份,也会隐式决定其情感语气——你很难克隆一位平静说话者的声音,再让这个声音令人信服地说出愤怒台词。IndexTTS2 将这两个维度分开,允许独立指定音色来源和情感来源,包括使用两个完全不同的参考片段。
情感输入支持四种独立方式:仅使用参考音频、使用与不同目标文本配对的独立情感音频提示、使用自然语言情感描述(例如“听起来焦虑而急促”),或直接使用情感向量。自然语言描述路径由微调后的 Qwen3 模型提供支持,它充当软指令层,专门用于降低情感控制门槛,让用户不必理解基于向量的参数。为了在强烈情感表达中保持语音清晰——这类场景常会因情感过强而降低可懂度——模型加入了 GPT 潜在表示,旨在维持情感压力下的稳定性。
IndexTTS2 入门
- 克隆仓库。 运行
git clone https://github.com/index-tts/index-tts.git,并确保继续操作前,系统中已安装git和git-lfs。 - 使用
uv安装依赖。 项目建议使用uv包管理器,而不是手动配置 pip/conda:uv sync --all-extras会拉取完整的依赖集。 - 下载 IndexTTS2 checkpoint。
hf download IndexTeam/IndexTTS-2 --local-dir=checkpoints会专门获取该模型权重。不要复用 IndexTTS-1.5 的 checkpoint 目录,因为两者不能互换。 - 使用 v2 推理类。 在 Python 中,从
indextts.infer_v2而不是原始infer模块导入,然后使用说话人音频提示和目标文本调用.infer(),生成基础音频片段。 - 为配音加入时长或情感控制。 基础生成正常工作后,在推理调用中加入目标时长或情感音频提示——IndexTTS2 面向配音的优势真正体现在这里,而不是默认的单次生成中。
充分发挥 IndexTTS2 的技巧
- 凡是有画面时间约束的内容,都使用指定时长模式。 自由时长模式适合独立旁白,但任何要把音频与现有视频同步的项目——配音、重新配音、本地化广告——都应从一开始就使用明确的 token 数量模式,而不是在后期修正时间。
- 有意识地分开音色与情感来源。 如果你需要克隆某个特定人物的声音,并让它呈现参考片段中原本没有的情感语气,应提供独立的情感音频提示,而不是试图从一段平淡的参考片段中强行诱导出情感。
- 如果你不是音频工程师,先尝试文本描述式情感输入。 Qwen3 驱动的自然语言指令路径,比情感向量更容易使用;在认定必须手动调整数值参数前,应先从这里开始。
- 关注高情感强度生成时的清晰度。 虽然 IndexTTS2 的 GPT 潜在表示旨在强烈情感表达下保持可懂度,但仍值得针对自己的具体内容抽查清晰度,而不要假定每种情感和语言组合都表现一致。
- 开展商业配音前确认许可证条款。 与原始 IndexTTS 一样,模型权重受 Bilibili 模型使用许可证约束,商业使用需要获得授权。基于它发布付费本地化或配音产品前,请确认许可证覆盖你的项目。
IndexTTS2 与 IndexTTS(原始版)对比
| IndexTTS2 | IndexTTS(1.0 / 1.5) | |
|---|---|---|
| 时长控制 | 精确到毫秒级(两种模式) | 不支持 |
| 情感控制 | 与音色解耦,4 种输入方式 | 有限,已被列为弱点 |
| 指令式生成 | 支持,通过自然语言描述 | 不支持 |
| 训练数据 | 约 55,000 小时,中文/英文/日文 | 约 10,000+ 小时,中文/英文 |
| 最适合 | 视频配音、本地化、情感旁白 | 通用零样本克隆、中文发音准确性 |
| 发布时间 | 2025 年 9 月 | 2025 年 3 月(1.0)/ 2025 年 5 月(1.5) |
如果项目是没有严格时间要求的通用声音克隆,原始 IndexTTS 仍然是一种能力可靠、更加简单的选择。如果你要给视频内容配音,让台词落在特定时间窗口内——或者需要克隆声音令人信服地表达参考片段中没有的情感——IndexTTS2 正是为这类工作打造的版本。
常见问题
实际使用中,IndexTTS2 的“时长控制”是什么意思?
它意味着你可以精确指定生成台词应使用多少 token(进而大致决定耗时),这对配音工作至关重要,因为对白必须匹配现有视频的时间,而不能任由模型生成多长就播放多长。
IndexTTS2 能让克隆声音呈现与参考片段不同的情感吗?
可以——这正是情感-音色解耦功能。你可以提供独立于音色参考的情感来源(音频、文本描述或情感向量),因此平静的参考声音仍能说出焦虑或兴奋的台词。
IndexTTS2 与“IndexTTS 2”是同一个模型吗?
是的,两者指的是同一个模型。IndexTTS2(有时写作 IndexTTS 2)是 Bilibili 发布的第二代版本,与原始 IndexTTS(1.0/1.5)不同。
IndexTTS2 支持哪些语言?
它的训练数据涵盖中文、英文和日文,来自约 55,000 小时的多语言语音。
IndexTTS2 可以免费用于商业用途吗?
代码已经开源,但模型权重受 Bilibili 模型使用许可协议约束,商业使用需要事先授权;在付费产品中部署前,请检查当前许可条款。
在浏览器中把文字转换为语音
如果你希望完成相近的“文字 → 单人语音”流程,可以使用 Echora 的文字转语音。输入最多 5,000 个字符,选择内置音色或已保存的自定义音色,按需添加支持的表达标签并调整语音稳定度,然后试听结果并下载生成的 MP3。