AI 语音克隆这两年发展很快,但真正好用的开源方案并不多。大多数模型要么只支持中文,要么克隆出来的声音像"念稿",情感平淡。想要一个既能复刻音色、又能带情绪、还支持多语言的本地方案,选择面一直很窄。
B 站(bilibili)的 IndexTTS 团队在 8 月 10 日发布了新一代 IndexTTS-2.5,直接把这条线拉高了。0.8B 参数的零样本语音克隆模型,给一条参考音频就能复刻音色,支持中文、英语、日语、西班牙语、阿拉伯语五种语言,情感、语速、发音细节全部可控,推理速度比上一代 IndexTTS-2 提升 2.28 倍。模型权重已经在 HuggingFace 和 ModelScope 同步放出,还支持 vLLM 生产部署。
这个项目在开源社区的积累相当厚实。index-tts/index-tts 仓库目前有 22.7k stars、2.8k forks,从 2025 年 3 月发布 IndexTTS-1.0 一路迭代:1.5 版本提升了英文稳定性和整体表现,2.0 版本加入了情感复刻和时长控制,2.5 版本把多语言和速度补了上来。一年多时间四个大版本,每个版本都有明确的升级方向,这在开源 TTS 项目里并不多见。团队背后是 B 站,官方渠道也一直在维护,社区问答、QQ 群、Discord 都有人响应。
一条音频克隆一个声音
IndexTTS 系列的核心卖点一直是"零样本克隆":不需要录几十分钟的样本,不需要训练,给一条几秒钟的参考音频,模型就能学会这个声音,然后读出任意文本。IndexTTS-2.5 把这个能力扩展到了五种语言。
最直接的使用场景是配音。以前给视频配音,要么找真人录音,要么用音色库里的固定声音。现在拿一条目标音色的音频,输入任意文本,就能让这个声音说任何话。游戏角色配音、短视频旁白、有声书、影视预演,都能用上。
和上一代相比,2.5 版本在克隆质量上保持了同样的水准。论文的评测里,中英文的说话人相似度和词错误率与 IndexTTS-2 持平,日语的说话人相似度甚至超过了真实录音的基准值。也就是说,克隆出来的声音更像原声,而且读得更准。
还有个容易被忽略的点:IndexTTS-2.5 的模型只有 0.8B 参数。这个体量意味着它对显存的要求不高,消费级显卡就能跑,不像那些动辄 8B、14B 的模型需要专门的推理环境。官方还提供了 BF16 半精度推理选项,进一步降低显存占用,RTX 4090 级别的显卡跑起来很轻松。
情感控制的多条路径
IndexTTS-2.5 的情感控制是它的差异化能力,而且提供了多种控制方式,按使用场景可以选。
最直观的方式是情感参考音频。给一段带情绪的声音样本(比如一段伤感的语音),再输入要朗读的文本,模型会把参考音频的情绪迁移到目标音色上。情绪强度还可以用 emo_alpha 参数调节,范围 0 到 1,默认是 1.0,也就是完全保留参考情绪;调到 0.6 左右会更自然。
如果不方便找情感参考音频,可以用情感向量。模型内置了八种基本情绪——开心、生气、悲伤、害怕、厌恶、忧郁、惊讶、平静,每种情绪用一个数值表示强度,组成一个八维向量。比如想要"悲伤但不太浓"的效果,把悲伤那一维设成 0.8,其他设成 0 就行。
还有两种更省事的路径:一种是直接让模型从文本内容自动推断情绪(use_emo_text),读到"快躲起来!"这样的文本会自动带上紧张感;另一种是单独提供一句情绪描述文本(emo_text),把"台词"和"情绪"分开控制,比如台词是"快躲起来!",情绪描述写"你吓死我了!你是鬼吗?",模型就能用后者的情绪读前者的内容。
速度翻倍的四板斧
IndexTTS-2.5 比上一代快 2.28 倍,不是简单优化了某个环节,而是四个组件一起动了刀。
第一是语义编解码器压缩。IndexTTS 2 的语义编解码器帧率是 50Hz,也就是每秒生成 50 个语义 token。2.5 版本把它压到 25Hz,序列长度直接减半,训练和推理的算力开销都跟着降下来,而且几乎不损失音质。
第二是 S2M 模块换架构。从语义 token 到梅尔频谱这一步,上一代用的是 U-DiT 结构,2.5 换成了更高效的 Zipformer。参数更少、生成梅尔频谱更快。论文里的消融实验显示,听众盲测里 Zipformer 版本在 56% 的对比中被认为更好,U-DiT 只有 40%。
第三是跨语言建模策略。这一项主要解决多语言混淆问题——中文和日语共享大量汉字,同一个字在不同语言里发音完全不同。团队设计了三种策略:语言边界标记、逐 token 语言标签、指令引导生成,让模型学会按语言区分发音。
第四是强化学习后训练。用 GRPO(组相对策略优化)对文本到语义模块做强化学习,用语音识别的词错误率当奖励信号,模型自己生成多个候选、选读得准的。这一步直接压低了 WER。
IndexTTS-2.5 保留 IndexTTS-2 的三阶段管线(T2S → S2M → 声码器),在四个组件上做了针对性升级
本地部署与 WebUI
想本地跑起来,流程很顺。先克隆 GitHub 仓库,用 uv 装依赖(uv sync --all-extras),然后下载模型权重放到 checkpoints 目录。官方推荐带 WebUI 的安装方式,装完直接运行 uv run webui.py,浏览器打开 http://127.0.0.1:7860 就能用图形界面操作。
WebUI 里可以调 BF16 半精度推理(省显存、速度快、质量损失很小)、DeepSpeed 加速、编译 CUDA 内核等选项。显卡要求不高,RTX 4090 上实测推理速度:2.5 版本 bf16 模式下整体 RTF 只有 0.2065,而 2.0 版本 fp16 是 0.3257,生成同样时长音频的耗时缩短约 37%。如果是长文本(200 字级别),2.5 的优势更明显。
环境要求上,需要 CUDA 12.8 或更新版本。模型权重在 HuggingFace 和 ModelScope 都有,国内网络环境直接用 ModelScope 下载更快。Python API 也很简洁,几行代码就能完成克隆和生成。
from indextts.infer_v2_5 import IndexTTS2
tts = IndexTTS2(cfg_path="checkpoints/config.yaml",
model_dir="checkpoints", use_bf16=True)
tts.infer(spk_audio_prompt='examples/voice_01.wav',
text="Hello world", lang="EN",
output_path="gen.wav", verbose=True)
五种语言的跨语种合成
IndexTTS-2.5 支持中文、英语、日语、西班牙语、阿拉伯语五种语言,而且能跨语言合成——用中文音色的参考音频,读出英语、日语甚至西班牙语的内容,音色和情感都能保持。这意味着同一个角色可以用中文配音,也能无缝切到英文版、日文版,对出海内容制作特别实用。
多语言的技术难点在于"共享字符"的发音歧义。日语文本里大量出现汉字,但发音规则和中文完全不同;同一个字在两种语言里要读不同的音。团队提出的三种策略各有权衡:语言边界标记最简单,但在长句子上容易失控;逐 token 语言标签最稳,但需要额外的语言识别模块;指令引导生成不需要外部模块,但在中英混说的场景下会有些冗余。论文评测显示逐 token 拼接在多数语言上效果最好。
情感跨语言迁移是另一个亮点。论文专门做了日语和西班牙语的情感合成评测,IndexTTS-2.5 在没有目标语言情感训练数据的情况下,仍能复刻参考音频的情感韵律。日语测试里它的情感相似度 0.846 明显超过对比模型的 0.806,自然度 MOS 4.11 对 3.48。西班牙语的情感相似度 0.924 对 0.883,词错误率 4.563 对 6.780,两项都占优。
语速控制也值得一提,官方参数 duration_factor 支持 0.5 到 2.0 倍范围。大于 1 放慢语速,小于 1 加快,默认 1.0 保持原速。比如做听力材料,把语速调到 0.8 倍让学生听清每个词;做快节奏广告旁白,调到 1.2 倍让声音更紧凑。这对内容生产来说是很实用的细节能力,很多开源 TTS 模型并不提供。
发音控制是另一个被低估的功能。多音字和生僻词一直是 TTS 的痛点——"他在银行里走了半天,发现这笔业务办不行"这句话,"行"字有三种读法,模型很难自己判断。IndexTTS-2.5 支持在文本里直接标注发音:中文用拼音标注(行|XING2>、行|HANG2>),英文用 CMU 音素标注,日语用假名标注。比如"他在银<行|XING2>里<行|HANG2>走了半天",模型就会按标注精确发音。这个能力对地名、人名、专业术语居多的文本特别重要,也是 2.5 相比 2.0 明显增强的部分——官方说明里专门提到拼音、CMU 音素、日语假名的可控性都有提升。
评测:0.8B 打更大模型
参数只有 0.8B,但 IndexTTS-2.5 在评测里面对的是 1.5B、2B、4B 甚至 8B 的对手。GitHub 放出的 CV3-Eval 零样本评测里,对比对象包括 VoxCPM2(2B)、OmniVoice(0.8B)、Moss-TTS 1.5(8B)、CosyVoice3(0.5B/1.5B)、FireRedTTS-2(1.5B)、Fish Audio S2 Pro(4B)、Qwen3-TTS(1.7B)。
五个语言平均下来,IndexTTS-2.5 的词错误率 6.75、说话人相似度 73.18;加了强化学习的 IndexTTS-2.5-RL 进一步降到 6.00 和 73.63。作为参照,8B 的 Moss-TTS 1.5 是 9.40 和 68.56,2B 的 VoxCPM2 是 7.22 和 72.02。0.8B 的模型在相似度上压过大部分更大参数的对手,读准率也处于第一梯队。
需要注意,这些是官方公布的评测数据,具体效果受参考音频质量和文本类型影响,实际体验建议自己跑一遍对比。TTS 的效果主观性很强,耳朵收货最靠谱。
IndexTTS 官方项目横幅(GitHub assets)
十万小时训练数据
IndexTTS-2.5 的训练语料大约 10 万小时:中文 3 万小时、英语 2.5 万小时、日语 4.2 万小时、西班牙语 2900 小时,外加 135 小时的高质量情感语音(其中 29 小时来自公开情感数据集 ESD,106 小时商业授权录制)。
数据来源不止是现成数据集。团队搭了一条多语言数据处理管线:从公开视频和有声书里采集,经过语音活动检测、自动语音识别、说话人分离、音源分离、片段合并、质量过滤六道工序。值得注意的是,分离工具只在对齐有伴奏的片段时使用,避免音质损伤;每段数据限制在 25 秒以内,保证单说话人。
情感数据是最难获取的部分。135 小时听起来不多,但情感语音的标注成本极高,而且情感迁移的效果往往就取决于这部分数据的质量。论文里日语和西班牙语的情感测试集也是从公开在线语音资源里专门构建的。
总结与展望
把 IndexTTS-2.5 放在一起看,它解决的是零样本语音克隆从"能克隆"到"好用"的最后一公里:语言覆盖面从单一中文扩到五种语言,情感从"能带点情绪"变成多种方式精确控制,速度从能用变成快一倍以上,而模型体量反而更小了。0.8B 参数能做到这个程度,说明架构效率和训练数据质量比单纯堆参数更重要。
局限也要说清楚。阿拉伯语虽然列在支持语言里,但论文的正式评测只覆盖了中英日西四语,阿拉伯语用的是内部测试集,实际效果需要自行验证。另外 TTS 克隆技术可能被滥用,B 站官方在仓库里放了免责声明和许可协议,商用前需要仔细阅读 bilibili Model Use License Agreement 的条款。
方向已经很清楚:语音克隆正在从"好玩"走向"可用"。当克隆成本降到一条音频、推理快到实时边缘、情感可控到逐字调节时,内容创作的门槛会再降一截。接下来值得关注的是流式生成和更低延迟的方向——IndexTTS 团队已经在往实时交互的场景走了。
获取方式
- • GitHub 代码仓库:https://github.com/index-tts/index-tts
- • HuggingFace 模型:https://huggingface.co/IndexTeam/IndexTTS-2.5
- • ModelScope 模型:https://modelscope.cn/models/IndexTeam/IndexTTS-2.5
- • 技术报告:https://arxiv.org/abs/2601.03888
- • 在线 Demo:https://index-tts.github.io/index-tts2-5.github.io/

