🚀 Index-TTS 云端部署教程(Google Colab 版)

适合想体验语音克隆、但没有高性能硬件和显卡的用户
本教程演示如何在 Google Colab 免费环境 部署并运行 Index-TTS 项目,实现云端语音合成或语音克隆。


🧩 一、项目简介

Index-TTS 是一个BiliBili开源的高保真语音合成(Text-To-Speech, TTS)模型,具备以下特性:

  • 支持多语言语音克隆与情感控制
  • 实现了情感表达与说话人身份的解耦,可独立控制音色和情感
  • 在零样本设置下,模型能准确复刻目标音色(来自音色提示)
  • 在零样本设置下,完美还原指定的情感语调(来自风格提示)

💡 二、环境准备

  1. 打开 Google Colab
  2. 点击左上角:文件 → 新建笔记本 ,将下方的代码复制到单元格中
  3. 通过网盘下载Jupyter Notebook文件:
    IndexTTS_Colab_Final_T4.ipynb 提取码: gc96
    谷歌云盘下载Jupyter Notebook文件:
    IndexTTS_Colab_Final_T4.ipynb
  4. 将运行时类型切换为 GPU(免费用户选择 T4):

⚙️ 三、脚本下载与运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# ==========================================================
# 🚀 一键部署 Index-TTS(Colab版)| by Laomingong
# ==========================================================

# ⚙️ 克隆项目与安装依赖
!apt -y install git-lfs
!git clone https://github.com/index-tts/index-tts.git /content/index-tts
%cd /content/index-tts
!git lfs pull
!pip install uv --quiet
!uv sync --all-extras

# ✅ 下载模型
import os, requests, urllib.request
from tqdm.auto import tqdm

def download_model(repo_id="IndexTeam/IndexTTS-2", folder="./checkpoints"):
os.makedirs(folder, exist_ok=True)
url = f"https://huggingface.co/api/models/{repo_id}"
data = requests.get(url).json()
for f in tqdm(data["siblings"], desc="Downloading"):
name = f["rfilename"]
dest = os.path.join(folder, repo_id.split('/')[-1], name)
os.makedirs(os.path.dirname(dest), exist_ok=True)
if os.path.exists(dest) and os.path.getsize(dest) > 0: continue
urllib.request.urlretrieve(
f"https://huggingface.co/{repo_id}/resolve/main/{name}", dest)
print("✅ Model saved to", os.path.abspath(folder))

download_model()


# ==========================================================
# 🛠 自动修改 webui.py 启动参数(强制替换 demo.launch)
# ==========================================================
import re

p = "/content/index-tts/webui.py"
txt = open(p).read()

# 用正则确保无论 launch 有什么参数,都改成 share=True, debug=True
txt = re.sub(r'demo\.launch\(.*?\)', 'demo.launch(share=True, debug=True)', txt)

with open(p, "w") as f:
f.write(txt)

print("✅ 已强制修改 webui.py,使其 share=True, debug=True")


# ✅ 使用项目 venv 启动(确保依赖正确)
!bash -c "source /content/index-tts/.venv/bin/activate && python /content/index-tts/webui.py --model_dir '/content/index-tts/checkpoints/IndexTTS-2'"

运行成功后,会出现类似以下输出:

Running on public URL: https://xxxx.gradio.live

复制该链接,即可在浏览器中打开并体验在线语音克隆!