IndexTTS:本地部署的零样本语音合成,情感强度与语速都能用参数调

IndexTTS 给自己的定位写在仓库标题里——「工业级、可控、高效的零样本文本转语音系统」。三个形容词对应三件事:能上生产、能调参数、跑得快。它的克隆入口也很直接,一段参考音频就够了,不需要事先训练。

目前最新版本是 IndexTTS-2.5,支持中文、英语、日语、西班牙语与阿拉伯语,官方说明它在推理速度上比上一代 IndexTTS-2 更快,同时保留了跨语言与音色-情感解耦的能力。

IndexTTS 官方仓库的项目说明、Model Zoo 与 News 记录

版本演进:从 1.0 到 2.5

官方在更新记录里把这条线写得很清楚。最早是基础版 IndexTTS,之后 1.5 版本重点提升稳定性与英语表现;2 版本是第一个支持精确合成时长控制的自回归语音合成模型,不过官方在同一段说明里注明该功能在当次发布中尚未启用;到了 2.5,语言扩展到五种,拼音与音素的发音控制得到改进,语速控制与 vLLM 部署也补了上来。

仓库的模型库把四个版本并列列出,分别给出演示、论文与模型下载入口,选择哪个版本取决于你的场景需要哪些能力。

可控性:情感、语速、发音三条线

这是 IndexTTS 最有辨识度的部分。情感控制不止一种做法:可以单独给一段情感参考音频,用 emo_alpha 调整情感强度(有效范围 0 到 1,默认取满),也可以直接给一个长度为 8 的浮点向量,顺序固定为高兴、愤怒、悲伤、恐惧、厌恶、忧郁、惊讶与平静,还能用一段文字描述来指定情感。

语速用 duration_factor 控制,取值范围 0.5 到 2.0,默认 1.0;数值大于 1 语速变慢,小于 1 变快。这个参数在给视频配音时特别实用——画面长度固定,语音快慢需要对齐。

发音控制则针对中文拼音、英文 CMU 音素与日语假名三种场景,遇到多音字或者外文专有名词读错时,可以手工干预。

性能:单张 4090 上的实时率

官方在 4090 上开了 KV 缓存做基准测试。IndexTTS-2.5 用 bf16 半精度的整体实时率是 0.2065,fp32 是 0.2060;作为对比,IndexTTS-2.0 在 fp16 下是 0.3257、fp32 下是 0.3748。实时率数值越小,说明生成速度相对播放速度的余量越大,两代之间的效率差距从这组数字上能直接看出来。

装起来:用 uv 管依赖

IndexTTS 官方仓库的 Getting Started 与依赖安装说明

官方推荐的安装方式有点特别:先用 pip 装 uv,再用 uv 同步整个项目的依赖。这样做的好处是 uv 会自动创建虚拟环境并锁定 Python 与依赖版本,官方在文档里特意强调这是可靠安装的前提,同时也提醒不要手动激活环境,以免依赖冲突。

安装时可以按需选择组件:只要网页界面就加 webui 这一项,想要 DeepSpeed 加速再加对应项。官方还留了两条提醒——Windows 上 DeepSpeed 可能不好装,可以去掉一键安装全部组件的参数改为手动挑选;如果安装过程中报 CUDA 错误,需要确认系统已经装了 12.8 或更新版本的 CUDA 工具包。

下载模型与跑起来

IndexTTS 官方仓库的模型下载说明

模型需要单独下载,可以从 HuggingFace 或者 ModelScope 拉取,放进本地目录后由程序加载。官方提到示例音频会在网页界面首次启动时按需下载,所以不再需要 Git LFS,这对网络环境不太理想的人来说省了一步。

IndexTTS 官方仓库的显卡检测工具与 Web Demo 启动说明

跑起来之前可以先执行一个显卡检测脚本,确认环境里识别到了哪些 GPU。之后启动网页界面,浏览器打开本地页面就能试用,界面里还能切换半精度推理——官方说明 BF16 或 FP16 会更快并且占用更少显存,质量损失很小。

许可是需要单独看一眼的部分

IndexTTS 的代码是公开的,但许可协议不是常见的 MIT 或 Apache,而是 bilibili 模型使用许可协议,仓库里提供了中英文两份许可文件。也就是说,它的使用范围由这份协议界定,而不是通用开源许可。打算商用或者二次分发之前,建议把这份协议读一遍,确认自己的用法落在允许范围内。

它适合谁

如果你需要的是「把合成语音接进具体产品,并且要能调」,IndexTTS 的可控参数密度是比较高的:情感可以按向量或文本指定,语速可以精确缩放,发音可以逐字干预,还提供了 vLLM 部署路径,这些都不是玩具级项目常见的配置。

但它的门槛也不低:需要一张 NVIDIA 显卡、要装 12.8 以上版本的 CUDA 工具包、装依赖要走 uv 这一套工具链。另外,和所有声音克隆工具一样,用别人的声音制作内容涉及授权问题,尤其是公众人物的声音;语速、情感这些参数能调得越细,越需要自己清楚用在什么地方合适。

把可控性做细的代价是复杂度上升。参数越来越多的时候,决定作品好坏的就不再是模型能力,而是使用者对内容本身的理解。

IndexTTS下载地址
支持的操作系统: Windows Linux