TTS应用场景及痛点

场景

对时长的要求

对情绪的要求

现有方案痛点

短视频 AI 配音

与画面口型误差 <100 ms

夸张、带感

自回归模型“随缘”停;非自回归模型情绪平淡

互动游戏 NPC

多句台词总时长固定

喜怒哀乐随时切换

需提前录音或手工调参,无法零样本

有声书批量生产

章节总长度匹配纸质书页数

角色语气鲜明

情绪数据稀缺,迁移难

IndexTTS

B站自研的高性能语音合成引擎。能够将文字自然流畅地转换成语音。它在中文处理上特别出色,不仅能根据拼音自动纠正发音,还能通过标点精准控制语句停顿,有效解决了多音字和生僻字的读音问题。IndexTTS使用了大量中英文数据进行训练,累计超过3万小时,保证了生成语音的真实感和音色多样性。

技术原理

IndexTTS2 到底解决了什么痛点?——它让自回归 TTS 第一次既能 精确控制时长,又能 零样本复刻情绪,且一句话就能驱动

  • 混合建模方法:在中文场景下,IndexTTS 采用字符与拼音混合建模的方式。通过结合汉字和拼音,系统能快速纠正多音字和长尾字符的发音错误,提高语音合成的准确性和可控性。

  • 语音编码与解码优化:IndexTTS 引入了基于 Conformer 的条件编码器和 BigVGAN2 语音解码器。Conformer 编码器能够更好地捕捉语音的音色特征,BigVGAN2 解码器则提升了音质和音色相似性。

  • 零样本语音克隆:IndexTTS 在零样本语音克隆方面表现出色,能在没有目标语音样本的情况下生成高质量的语音。扬声器相似性(SS)高达 0.776,MOS 评分达到 4.01,远超现有系统。

  • 高效的训练与推理:系统经过数万小时的数据训练,训练过程简单且稳定,推理速度快。与 XTTS、CosyVoice2、Fish-Speech 和 F5-TTS 等系统相比,IndexTTS 在自然度、内容一致性和零样本语音克隆方面表现出色。

架构总览

image-zdbn-vyet.png

核心模块

IndexTTS2由三个核心模块组成:

  1. Text-to-Semantic(T2S)模块

    • 基于Transformer的自回归结构,负责将输入文本、音色提示、风格提示以及可选的目标语音token数量转换为语义token序列。

    • 引入了时间编码机制和情感控制机制,支持通过指定语音token数量实现毫秒级时长控制,并能从风格提示中提取情绪特征。

  2. Semantic-to-Mel(S2M)模块

    • 采用非自回归结构,将T2S模块生成的语义token和音色提示作为输入,预测出梅尔频谱图。

    • 引入GPT模型的潜在表示以增强强烈情绪下的语音清晰度。

  3. BigVGANv2声码器

    • 将S2M模块输出的梅尔频谱图转换为高质量的语音波形,保证输出音频的自然度与细节丰富度。

模块

输入

输出

关键 trick

T2S(Text-to-Semantic)

文本+音色 prompt+可选 token 数

语义 token 序列

位置嵌入与时长嵌入共享矩阵,强行对齐

S2M(Semantic-to-Mel)

语义 token+音色 prompt

mel 谱

把 T2S 最后一层 GPT hidden state 拿来加噪再融合,咬字更清楚

Vocoder

mel 谱

24 kHz 波形

BigVGANv2,老伙计,稳定

关键技术特性

  • 情感与音色解耦:通过梯度反转层(GRL)等技术,将音色特征与情感特征从语义表示中分离,实现独立调控。

  • 多模态情感输入:支持情感参考音频、情感描述文本或情感向量等多种输入方式,提升情感表达的灵活性。

  • 精确时长控制:在自回归架构中首次引入时间编码,实现语音时长的精准控制,满足音视频同步需求。

主要创新点:

  • 提出自回归TTS模型的时长自适应方案。IndexTTS2是首个将精确时长控制与自然时长生成结合的自回归零样本TTS模型,方法可扩展至任意自回归大模型。

  • 情感与说话人特征从提示中解耦,设计特征融合策略,在高情感表达下保持语义流畅与发音清晰,并开发了基于自然语言描述的情感控制工具。

  • 针对高表达性语音数据缺乏,提出高效训练策略,显著提升零样本TTS情感表达至SOTA水平。

  • 代码与预训练权重将公开,促进后续研究与应用。

环境配置

  1. 请确保已安装 gitgit-lfs

在仓库中启用Git-LFS:

git lfs install
  1. 下载代码:

git clone https://github.com/index-tts/index-tts.git && cd index-tts
git lfs pull  # 下载大文件
  1. 安装 uv 包管理器必须 使用uv保证依赖环境可靠。

快速安装方法:

uv安装方式多样,详见官网。也可快速安装:

pip install -U uv

本文档仅支持uv安装。其他工具如conda/pip无法保证依赖正确,可能导致偶发bug、报错、GPU加速失效等问题。

uv比pip快115倍,强烈推荐。

  1. 安装依赖:

使用uv安装依赖时,会创建虚拟环境,将所有依赖安装到.venv目录:

uv sync --all-extras

如中国大陆地区用户下载缓慢,可选用国内镜像:

uv sync --all-extras --default-index "https://mirrors.aliyun.com/pypi/simple"

uv sync --all-extras --default-index "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"

可选功能:

  • --all-extras:安装全部可选功能。可去除自定义。

  • --extra webui:安装WebUI支持(推荐)。

  • --extra deepspeed:安装DeepSpeed加速。

Windows注意: DeepSpeed在部分Windows环境较难安装,可去除--all-extras

Linux/Windows注意: 如遇CUDA相关报错,请确保已安装NVIDIA CUDA Toolkit 12.8及以上。

下载模型

HuggingFace下载:

uv tool install "huggingface-hub[cli,hf_xet]"

hf download IndexTeam/IndexTTS-2 --local-dir=checkpoints

ModelScope下载:

uv tool install "modelscope"

modelscope download --model IndexTeam/IndexTTS-2 --local_dir checkpoints

image-txcf.png

可运行脚本检测机器是否有GPU,以及是否安装了GPU版本的PyTorch。(如PyTorch版本不对,可能使用CPU启动,推理会非常慢)

uv run tools/gpu_check.py

IndexTTS2快速体验

🌐 Web演示

uv run webui.py

浏览器访问 http://127.0.0.1:7860 查看演示。

可通过命令行参数开启FP16推理(降低显存占用)、DeepSpeed加速、CUDA内核编译加速等。可运行以下命令查看所有选项:

uv run webui.py -h

可以愉快的使用了:

参考

  • IndexTTS

    • Github仓库:https://github.com/index-tts/index-tts

    • arXiv技术论文:https://arxiv.org/pdf/2502.05512

  • IndexTTS2

    • 项目官网:https://index-tts.github.io/index-tts2.github.io/

    • HuggingFace模型库https://huggingface.co/IndexTeam/IndexTTS-2

    • arXiv技术论文:https://arxiv.org/pdf/2506.21619

  • 模型下载