网站品牌标志 IndexTTS 2.5 Windows 指南
0/15
IndexTTS
Windows 10/11 · IndexTTS v2.5.0 · 新手逐步操作

IndexTTS 2.5 安装、DeepSpeed 加速与视频中文配音指南

从“在搜索引擎里输入什么”开始,写到命令在哪里输入、正常会返回什么、哪里出错以及如何停止程序释放显存。教程以一台 RTX 4060 Laptop 8 GB 的实际成功环境为基准。

核对日期:2026-08-26 官方发布:v2.5.0 实测:Windows + CUDA 12.8 + PyTorch 2.8
先分清“官方原版”和“本机定制版” GitHub 官方 v2.5.0 提供 IndexTTS 与基础 WebUI;本文后半部分的“视频中文配音”标签、Shotcut 自动提取、SRT 整句重组和两种逐句情感模式,是本次对本地项目增加的功能。只下载官方 ZIP,不会自动出现这些定制功能。

0. 先看完整流程与版本边界

不要一上来就运行 uv sync --all-extras。对 Windows 新手,先让基础 WebUI 跑起来,再单独增加 DeepSpeed,最容易定位问题。

1. 下载代码确认官方仓库,下载 v2.5.0 ZIP 或使用 Git。
2. 打开 CMD必须进入包含 pyproject.toml 和 webui.py 的目录。
3. 安装基础版用 uv 创建 Python 3.11 虚拟环境并安装 WebUI。
4. 下载模型把 IndexTTS-2.5 权重放入 checkpoints。
5. 基础启动先确认网页、GPU、音频生成全部正常。
6. DeepSpeed对齐 PyTorch 2.8、CUDA 12.8 和 Windows wheel。
7. 配音使用普通文字转语音,或定制的视频中文配音。
8. 正确停止在 CMD 按 Ctrl+C,网页关掉并不等于模型已停止。
项目本教程固定基准为什么固定
IndexTTS2.5.0不同标签的依赖和参数可能变化。
Python3.11项目要求 3.10–3.11;本文 DeepSpeed wheel 是 cp311。
PyTorch2.8.0+cu128必须与 DeepSpeed wheel 的编译版本一致。
CUDA12.8PyTorch wheel 和 DeepSpeed wheel 均为 cu128。
DeepSpeed0.17.5+e1560d84本机使用预编译 Windows wheel,完整推理核心已安装。
稳定启动BF16/FP16 参数入口 + DeepSpeed + 24 steps另外三条实验加速默认关闭,减少 8 GB 显存和编译风险。
合法使用音色 只克隆你自己、已取得明确授权或许可允许使用的声音。不要把生成结果用于冒充、诈骗、绕过身份验证或损害他人权益。

1. 检查电脑、显卡和磁盘空间

先确认硬件,再下载十几 GB 文件。CPU 可以运行部分流程,但本教程的加速配置以 NVIDIA GPU 为前提。

项目最低建议本机实测说明
WindowsWindows 10/11 64 位Windows 10/11 系列系统必须为 64 位。
GPUNVIDIA,建议 8 GB 显存RTX 4060 Laptop 8 GB8 GB 可用 BF16 + DeepSpeed,但不要假设 OOM 会自动溢出到内存。
系统内存16 GB,建议 32 GB按本机配置运行加载模型、浏览器和视频工具会同时占用内存。
磁盘至少空闲 30–40 GB.venv 8.49 GiB;checkpoints 10.22 GiB还要给 uv/HuggingFace 缓存、输出音频和视频留空间。

在 CMD 检查 NVIDIA 驱动

CMD · 检查驱动
nvidia-smi
正常结果:出现 NVIDIA-SMI 表格、显卡名称、Driver Version 和 CUDA Version。这里显示的 CUDA Version 是“驱动最高支持版本”,不等于当前 nvcc 工具包版本。
看到 CUDA 13.x 不一定有问题 nvidia-smi 顶部显示 13.x,表示驱动有能力支持到该版本;真正决定 DeepSpeed 编译匹配的是 nvcc --versiontorch.version.cuda。这两项在本文配置里都应为 12.8。

2. 从 GitHub 找到并下载 IndexTTS

官方团队明确说明,唯一官方代码仓库是 github.com/index-tts/index-tts。先核对网址和仓库所有者。

方法 A:新手使用浏览器下载 v2.5.0 ZIP

  1. 打开浏览器,在搜索引擎输入 IndexTTS GitHub
  2. 点击标题含 index-tts/index-tts 的结果。地址栏必须是 https://github.com/index-tts/index-tts
  3. 在仓库页面右侧找到 Releases,点击进入。
  4. 选择 IndexTTS-2.5 / v2.5.0。也可以直接打开 v2.5.0 发布页
  5. 滚动到页面下方,展开 Assets,点击 Source code (zip)
  6. 浏览器通常把它保存到“下载”文件夹。右键 ZIP,选择全部解压缩
  7. 把解压后的目录移动到路径较短的位置,例如 C:\AI\index-tts-2.5.0。尽量避免 OneDrive、中文特殊符号和过深目录。
不要只停在外层同名文件夹 ZIP 解压后可能得到“外层文件夹/内层项目文件夹”。最终进入的目录必须直接看见 pyproject.tomluv.lockwebui.pyindexttstools
C:\AI\index-tts-2.5.0\ ├─ pyproject.toml ├─ uv.lock ├─ webui.py ├─ indextts\ ├─ tools\ ├─ assets\ └─ docs\

方法 B:安装 Git 后克隆代码

在你准备存放项目的父目录打开 CMD,然后输入:

CMD · 克隆官方代码
git clone --branch v2.5.0 --depth 1 https://github.com/index-tts/index-tts.git index-tts-2.5.0
cd index-tts-2.5.0
正常结果:先出现 Cloning into 'index-tts-2.5.0'... 和下载进度,随后命令提示符末尾变为 \index-tts-2.5.0>

如果你希望跟随开发中的最新版,可以在仓库首页点击绿色 Code 按钮,再点 Download ZIP;但 main 会变化,不保证与本文所有版本号完全一致。

旧教程为什么要求 Git LFS 早期 README 可能要求先运行 git lfs installgit lfs pull。当前 v2.5.0 中文 README 说明示例音频按需下载,不再要求 Git LFS;模型权重仍需按第 6 节单独下载。

3. 在项目目录里打开 CMD

后文没有特别注明时,所有命令都输入在这个黑色“命令提示符”窗口中。不要输入示例里提示符前面的目录文字。

最简单的方法:资源管理器地址栏输入 cmd

  1. 在资源管理器进入项目目录,确认能看见 webui.py
  2. 点击窗口顶部的地址栏,原路径会变成可编辑文字。
  3. 输入 cmd,按 Enter
  4. 黑色窗口打开后,提示符应显示项目路径,例如:
这是提示符,不需要重新输入
C:\AI\index-tts-2.5.0>

如果 CMD 已经打开:用 cd /d 切换目录

CMD · 切换到项目目录
cd /d "C:\AI\index-tts-2.5.0"

/d 允许同时从 C 盘切换到 D 盘;路径含空格时必须加英文双引号。

确认当前位置正确

CMD · 列出文件
dir webui.py pyproject.toml uv.lock
正常结果:三个文件都列出大小和日期。若出现“找不到文件”,说明 CMD 不在正确目录。
一条命令执行完,再输入下一条 当提示符重新出现时,上一条命令才结束。教程代码块中的 C:\...>、解释文字和“正常结果”都不要输入。命令只能使用半角英文引号,不能用弯引号。

4. 安装基础工具

ZIP 用户不强制需要 Git;所有用户都需要 uv。CUDA Toolkit 和 C++ 编译器在基础运行中不是必需,但 DeepSpeed 源码编译和其他内核可能需要。

4.1 Git(推荐)

  1. 打开 Git for Windows 下载页
  2. 下载 64-bit Git for Windows Setup。
  3. 运行安装程序;新手保留默认选项即可。完成后关闭并重新打开 CMD。
CMD · 验证 Git
git --version
正常结果示例:git version 2.55.0.windows.5。具体小版本不同没有关系。

4.2 uv(必须)

uv 会替项目下载合适的 Python,并创建隔离的 .venv。不建议再混用 Conda 或手动激活虚拟环境。

CMD · 安装 uv
py -m pip install -U uv
正常结果:最后出现 Successfully installed uv-...Requirement already satisfied
CMD · 验证 uv
uv --version
正常结果示例:uv 0.12.5。若提示不是内部或外部命令,关闭 CMD 后重新打开;仍不行时使用 py -m uv --version

4.3 NVIDIA CUDA Toolkit 12.8(DeepSpeed/编译加速建议安装)

  1. 打开 NVIDIA 的 CUDA Toolkit 12.8 下载页
  2. 依次选择 Windows、x86_64、你的 Windows 版本、exe (local)。
  3. 运行安装器。选择“自定义”时至少保留 CUDA Toolkit;如果已有更新的显卡驱动,不必强行降级驱动。
  4. 安装结束后关闭所有 CMD,打开一个新 CMD。
CMD · 查找当前 nvcc
where nvcc
nvcc --version
本文所需结果:第一条路径优先指向 CUDA\v12.8\bin\nvcc.exe;版本结尾应有 release 12.8

4.4 Visual Studio Build Tools(只在需要编译时安装)

  1. 打开 Visual Studio Build Tools,点击 Download Build Tools。
  2. 在 Visual Studio Installer 勾选使用 C++ 的桌面开发
  3. 确认右侧包含 MSVC v143、Windows 10/11 SDK、C++ CMake tools,然后安装。
  4. 验证时从开始菜单打开 x64 Native Tools Command Prompt for VS 2022,输入 cl
正常结果:出现 Microsoft C/C++ Optimizing Compiler 版本信息。普通 CMD 里 where cl 找不到并不代表没有安装,因为编译器环境变量通常只在 Developer Command Prompt 中加载。
使用本文 0.17.5 预编译 DeepSpeed wheel 时 正常推理不需要现场调用 cl.exenvcc 编译 Transformer 内核。安装 Build Tools 主要用于将来的 JIT 内核、FlashAttention 或其他源码包。

5. 先安装能运行的基础依赖

本节必须在项目目录的 CMD 中执行。先只安装 WebUI,暂时不碰 DeepSpeed、FlashAttention 和 torch.compile。

5.1 让 uv 准备 Python 3.11

CMD · 安装项目 Python
uv python install 3.11
正常结果:显示已找到或已安装 CPython 3.11。项目虽然允许 3.10,但本文 DeepSpeed wheel 要求 3.11。

5.2 安装核心依赖和网页界面

CMD · 基础安装
uv sync --extra webui
正常结果:uv 先显示 Resolved ... packages,随后下载并安装,最后没有红色 Failed。项目目录会出现 .venv 文件夹。

中国大陆下载 PyPI 较慢时,可以改用下面任意一个镜像;只选一条运行:

CMD · 阿里云 PyPI 镜像
uv sync --extra webui --default-index "https://mirrors.aliyun.com/pypi/simple"
CMD · 清华 PyPI 镜像
uv sync --extra webui --default-index "https://pypi.tuna.tsinghua.edu.cn/simple"

5.3 验证项目 Python 与 PyTorch

CMD · 版本检查
.venv\Scripts\python.exe --version
uv run python -c "import torch; print(torch.__version__); print(torch.version.cuda); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU')"
本文实测结果:Python 3.11.132.8.0+cu12812.8True、显卡名称。补丁版本可以稍有不同,但 PyTorch CUDA 应为 12.8。
为什么暂时不使用 --all-extras --all-extras 会同时安装 WebUI、DeepSpeed、FlashAttention/accel 和 torch.compile 依赖。Windows 上任意一个编译扩展失败,整个同步都会失败。基础版跑通后再逐项增加,出错时才能知道是哪一项。

6. 下载 IndexTTS-2.5 模型权重

代码和模型是分开的。ZIP 下载完成不代表模型已经存在;模型应放到项目的 checkpoints 文件夹。

方法 A:中国大陆优先使用 ModelScope

CMD · 安装 ModelScope 工具
uv tool install modelscope
uv tool update-shell

运行第二条后,关闭 CMD,在项目目录重新输入 cmd 打开新窗口。然后下载:

CMD · 从 ModelScope 下载模型
modelscope download --model IndexTeam/IndexTTS-2.5 --local_dir checkpoints
正常结果:持续出现文件名和下载百分比;最后回到提示符。网络慢时看起来可能长时间不动,不要重复启动多个下载进程。

方法 B:使用 HuggingFace

CMD · 安装 HuggingFace 工具并下载
uv tool install "huggingface-hub"
uv tool update-shell

重新打开 CMD 后运行:

CMD · HuggingFace 下载模型
hf download IndexTeam/IndexTTS-2.5 --local-dir checkpoints

访问 HuggingFace 困难时,可在当前 CMD 会话临时指定镜像,再运行下载:

CMD · HuggingFace 镜像
set HF_ENDPOINT=https://hf-mirror.com
hf download IndexTeam/IndexTTS-2.5 --local-dir checkpoints

检查模型是否完整

CMD · 查看关键模型文件
dir checkpoints\config.yaml checkpoints\gpt.pth checkpoints\s2mel.pth checkpoints\codec.pth
正常结果:四个文件都存在。实测中 gpt.pth 约 3.0 GiB,模型目录连同 HuggingFace 缓存约 10.22 GiB。
工具命令仍提示找不到 可以跳过全局 PATH,直接运行 uvx --from modelscope modelscope download --model IndexTeam/IndexTTS-2.5 --local_dir checkpoints。uvx 会临时准备工具并立即执行。

7. 第一次启动、打开网页与正确停止

第一次只启用半精度,不启用 DeepSpeed。这样可以确认代码、模型和显卡本身没有问题。

CMD · 基础启动 IndexTTS 2.5
uv run webui.py --version 2.5 --fp16 --host 127.0.0.1 --port 7860

IndexTTS 2.5 中,项目的 --fp16 参数入口会选择支持的半精度路径;在支持 BF16 的 NVIDIA GPU 上使用 BF16。它能显著减少显存,通常不会造成可察觉的质量下降。

正常过程:CMD 会打印加载配置、模型文件、CUDA/GPU 等信息。首次加载可能需要几分钟;最后出现包含 http://127.0.0.1:7860 的本地地址。
  1. 不要关闭 CMD。
  2. 打开浏览器,在地址栏输入 http://127.0.0.1:7860
  3. 如果网页没有自动刷新,等待模型加载完成后按一次刷新。

正确停止并释放内存/显存

  1. 回到正在运行 WebUI 的 CMD 窗口。
  2. Ctrl + C
  3. 等命令提示符重新出现。此时再关闭窗口。
只关闭网页不会停止 TTS 浏览器只是客户端。模型仍在 Python 进程中占用内存和 GPU。必须在启动它的 CMD 按 Ctrl+C,或者结束对应的 Python 进程。

端口占用时找到进程

CMD · 查询 7860 端口
netstat -ano | findstr :7860

最后一列是 PID。确认它确实属于 IndexTTS 后,才运行:

CMD · 强制结束指定 PID
taskkill /PID 这里替换成实际PID /T /F
不要照抄“这里替换成实际PID”,也不要结束不认识的系统进程。优先使用 Ctrl+C 正常停止。

8. 在 Windows 上正确安装 DeepSpeed 0.17.5

DeepSpeed 只影响推理速度和内存执行方式,不提高音质。官方 v2.5.0 的 pyproject.toml 仍依赖 0.17.1,Windows 会尝试源码编译;本机改为与 PyTorch 2.8/cu128 匹配的 0.17.5 预编译 wheel。

第三方 wheel 提示 Windows wheel 来自 6Morpheus6/deepspeed-windows-wheels,不是 IndexTTS 或 Microsoft 官方发行物。公开部署教程时应保留此说明;对供应链要求严格的环境应自行审计或从源码构建。

8.1 先确保真正生效的是 CUDA 12.8

CMD · 三项 CUDA 对齐检查
where nvcc
nvcc --version
uv run python -c "import torch; print(torch.__version__); print(torch.version.cuda)"
三项必须相容:当前 nvcc 为 12.8;PyTorch 类似 2.8.0+cu128torch.version.cuda12.8

如果已经安装 12.8,但 nvcc --version 仍显示 13.3,可先只修正当前 CMD 会话:

CMD · 当前窗口切换到 CUDA 12.8
set "CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8"
set "PATH=%CUDA_PATH%\bin;%CUDA_PATH%\lib\x64;%PATH%"
where nvcc
nvcc --version

永久修改请在 Windows 搜索“编辑系统环境变量” → “环境变量”,把 CUDA_PATH 指向 v12.8,并让 v12.8 的 bin 排在 v13.3 前。不要使用 setx PATH ... 整体重写 PATH,它可能截断或破坏现有内容。

8.2 修改官方 v2.5.0 的 DeepSpeed 版本和 wheel 来源

  1. 在项目目录找到 pyproject.toml,右键用记事本或代码编辑器打开。
  2. Ctrl + F 搜索 deepspeed==0.17.1,改成 deepspeed==0.17.5
  3. 继续找到 [tool.uv.sources]。紧接在它下面、现有 torch = [ 之前,加入下列内容。
TOML · 添加 Windows DeepSpeed wheel
deepspeed = [
  { url = "https://github.com/6Morpheus6/deepspeed-windows-wheels/releases/download/v0.17.5/deepspeed-0.17.5%2Be1560d84-2.8torch_cu128-cp311-cp311-win_amd64.whl", marker = "sys_platform == 'win32' and python_version == '3.11'" },
]

保存 pyproject.toml,回到项目 CMD:

CMD · 更新锁文件并安装 DeepSpeed
uv lock --upgrade-package deepspeed
uv sync --extra webui --extra deepspeed
正常结果:依赖解析中选择 deepspeed==0.17.5+e1560d84,直接安装 win_amd64 wheel,不再出现 Failed to build deepspeed

8.3 验证 DeepSpeed 版本和完整推理内核

CMD · DeepSpeed 导入检查
uv run python -c "import torch, deepspeed; print(torch.__version__); print(torch.version.cuda); print(deepspeed.__version__)"
本机结果:2.8.0+cu12812.80.17.5+e1560d84
CMD · DeepSpeed 内核报告
uv run python -m deepspeed.env_report
用于 IndexTTS 的关键行:transformer_inference [YES] [OKAY]inference_core_ops [YES] [OKAY],并且底部显示 wheel compiled with torch 2.8 / cuda 12.8。
报告项目本机状态是否影响 IndexTTS 推理
transformer_inferenceYES / OKAY关键,表示完整 Transformer 推理内核已安装。
inference_core_opsYES / OKAY关键。
fused_adam / cpu_adamYES / OKAY已安装,但更多用于训练/优化器。
async_ioNO / NOWindows 缺少 Linux libaio 很常见;本流程不依赖。
gds / cufileNO / NO本流程不依赖。cufile.lib 警告可忽略。
sparse_attnNO / NO旧版稀疏注意力与 Torch 2.8 不兼容,不是本流程所需。
不要跳过严格 CUDA 版本检查 不建议设置环境变量强行忽略 CUDA mismatch。13.3 的 nvcc 给 cu128 PyTorch 编译扩展可能产生链接失败或运行时崩溃。正确方法是让 nvcc、PyTorch 和 wheel 都匹配 12.8,或完全使用已匹配的预编译 wheel。

9. 加速开关、音质和本机推荐配置

更多开关不等于更快。首次编译、8 GB 显存竞争、内核兼容性和文本长度都可能让“全开”反而更慢。

参数作用通常影响音质吗RTX 4060 8 GB 建议
--fp162.5 在支持时使用 BF16/半精度,降低显存与计算量。通常几乎无可察觉差异。开启。
--deepspeed使用 DeepSpeed Transformer 推理路径。设计上不改变目标质量。已验证,可开启;仍应与无 DeepSpeed 实测比较。
--cuda_kernel使用额外 CUDA kernel。通常不改变质量,可能有细微数值差异。稳定配置关闭。
--accelGPT2/FlashAttention 加速引擎。通常不以降低质量为目标。安装与显存风险较高,稳定配置关闭。
--torch_compile编译 s2mel 图,后续调用可能更快。通常不改变质量。首次编译慢且吃内存,稳定配置关闭。
INDEXTTS_DIFFUSION_STEPS扩散迭代步数。可能影响细节和稳定性。保存值为 24;追求速度可自行听测更低值。

本机保存的稳定启动命令

CMD · DeepSpeed 稳定配置
set INDEXTTS_DIFFUSION_STEPS=24
uv run --no-sync webui.py --version 2.5 --fp16 --deepspeed --host 127.0.0.1 --port 7860

--no-sync 表示直接使用已经安装好的环境,启动时不重新解析依赖。只有在 uv sync 已成功后使用。

创建双击启动的 BAT 文件

  1. 在项目目录右键 → 新建 → 文本文档。
  2. 改名为 start_indextts_deepspeed_24.bat。确认扩展名不是 .bat.txt
  3. 用记事本打开,粘贴以下内容并保存。
BAT · 保存的启动配置
@echo off
setlocal
cd /d "%~dp0"
set "INDEXTTS_DIFFUSION_STEPS=24"
set "PYTHONUTF8=1"
".venv\Scripts\python.exe" webui.py --version 2.5 --fp16 --deepspeed --host 127.0.0.1 --port 7860
pause
endlocal

扩散步数实测记录(仅代表本机当时状态)

Steps生成耗时音频时长说明
856.668 s3.704 s最快一档;用户听感与高步数接近。
1067.594 s3.704 s同一音色、种子和中文句子。
1276.010 s3.704 s同上。
1485.801 s3.704 s同上。
1695.769 s3.704 s同上。
18105.373 s3.704 s同上。
20112.720 s3.704 s同上。
2272.891 s3.704 s运行状态变化导致非单调,不能当理论规律。
2477.976 s3.704 s保存为质量优先启动值。
为什么风扇全速或纯中文句子可能明显更快 风扇全速可减少笔记本 GPU 因温度而降频;纯中文与中英混合的分词、音素、目标音频长度也不同。两者都可能改变时间,但不能只凭一次结果判断。正式对比要固定文本、参考音频、随机种子和模型热身状态。
显存不足不会自动安全转移到系统内存 当前 WebUI 没有配置 DeepSpeed CPU offload。显存不足时通常会报 CUDA out of memory,而不是自动用内存继续。先关闭其他 GPU 程序、使用半精度、减少句子 Token、关闭 QwenEmotion/实验加速,再重试。

10. 使用普通文字转语音功能

这个页面只根据文本生成自然语音,不使用视频时间轴对齐,也不通过 FFmpeg 强制改变语速。

  1. 启动 WebUI,打开 http://127.0.0.1:7860
  2. 在第一个文字转语音页面上传“音色参考音频”。
  3. 语言选择 ZH,在文本框输入中文。
  4. 需要稳定高质量时,在预设中选择质量优先
  5. 点击生成,等待网页播放器出现结果。

怎样准备更像的参考音频

  • 推荐有效人声约 6–12 秒;本视频流程默认提取 12 秒。
  • IndexTTS 读取参考音频时最多使用前 15 秒。超过 15 秒不会继续增加有效参考信息。
  • 只包含一个人,背景音乐、混响、风噪和长静音越少越好。
  • 语速、情绪、麦克风距离尽量稳定;不要截在单词或爆破音中间。
  • 跨语言音色克隆可以“英文参考 → 中文输出”;模型 2.5 原生支持这种跨语言合成。

长文本如何分句

本机定制版优先把每个非空换行当作一条完整话语。下面输入会生成三句话:

文本框 · 每行一句
这是第一句话。
这是第二句话。
这是第三句话。
  • 没有手动换行时,程序按 等句末标点拆分。
  • 普通默认上限为每段 120 Token;“质量优先”预设提高到 160 Token。
  • 超过上限时才继续按逗号等较弱边界拆分,以避免 8 GB 显存溢出。
  • 不要简单按“40 个字符”机械切割,否则容易出现语气跳变和明显拼接感。
设置普通默认质量优先
每段最大 Token120160
采样按当前界面关闭随机采样
Beams13
时长系数1.01.0
用途速度与稳定性平衡优先稳定和文本一致性,通常更慢、更吃显存
参考音频短,不是“说得特别快”的唯一原因 9 秒参考通常足够提取音色;一次输入过长、缺少标点、情感参考与中文节奏差异大、时长系数过小,都可能让语气显得赶。优先使用完整句子和自然标点,而不是用 FFmpeg 后处理强制拉伸。

11. 本机定制的视频中文配音流程

目标是输入本地视频路径,提取英文 SRT;人工或其他 AI 翻译后,再读取中文 SRT 生成一条中文 WAV。流程不会自动替换视频音轨,也不会把字幕重新封装进 MP4。

11.1 安装 Shotcut

  1. 打开 Shotcut 官方下载页
  2. 选择 Windows installer,运行安装程序。
  3. 建议使用默认目录 C:\Program Files\Shotcut。定制流程直接调用其中的 ffmpeg.exeffprobe.exe,不需要每次操作 Shotcut 图形界面。

若安装到其他目录,启动前在 CMD 设置:

CMD · 自定义 Shotcut 目录
set "SHOTCUT_ROOT=D:\你的软件目录\Shotcut"

11.2 下载 Whisper large-v3 模型

  1. 在 C 盘新建 C:\models 文件夹。
  2. 浏览器打开 ggml-large-v3.bin 模型页,点击下载按钮。
  3. 国内网络可尝试镜像直链:hf-mirror large-v3
  4. 最终完整路径必须为 C:\models\ggml-large-v3.bin,不要保留浏览器附加的 .download.tmp
CMD · 验证 large-v3 文件
dir "C:\models\ggml-large-v3.bin"
为什么 Shotcut 的“翻译”只显示翻译成英文 Whisper 的内置 translate 任务目标固定为英文。large-v3 可以识别多种语言,也能用于英文语音转英文 SRT,但它不是通用的“英文 → 中文”文本翻译器。本流程让 large-v3 负责准确听写英文,再把 english.srt 交给其他 AI 翻译成中文。

11.3 第一步:提取英文字幕和音色参考

  1. 启动本机定制 WebUI,切换到视频中文配音标签。
  2. 在“本地视频路径”粘贴完整路径,例如 C:\Users\name\Videos\example.mp4。网页输入框不需要额外加引号。
  3. 点击提取英文字幕
  4. 如果 MP4 内嵌英文字幕流,程序直接提取;否则调用 Shotcut/Whisper large-v3 识别。
  5. 程序还会提取约 12 秒固定音色参考,供后面的中文 TTS 使用。

结果目录位于:

项目目录\outputs\video-dubbing\视频文件名\ ├─ english.srt 英文字幕 ├─ voice_reference_12s.wav 固定音色参考 ├─ translated.zh.srt 等待你提供的中文字幕 └─ chinese_dub.wav 最终生成的中文音频

11.4 第二步:翻译并保存完整中文字幕

  1. 打开网页显示的 english.srt
  2. 把完整文件交给可信的翻译 AI,要求保留每一个编号和时间码,只翻译字幕正文。
  3. 不要翻译 Claude、Claude Design、prototype、wireframe 等你希望保留的英文名词。
  4. 保存为 UTF-8 编码,文件名为 translated.zh.srt,放回同一结果目录。
  5. 回到网页,确认“翻译后的中文字幕”输入框是完整路径,开头必须含盘符和反斜杠,例如 C:\...

正确 SRT 块的格式如下:

SRT · 编号和时间码不能丢
1
00:00:00,291 --> 00:00:02,457
Claude Design 刚刚由

2
00:00:02,458 --> 00:00:04,208
Claude 的开发团队发布。很多人称它为

定制流程不会把每个编号误当成一句话。它会根据句末标点跨块重组,例如上面第 1、2 块的前半部分会合成:

Claude Design 刚刚由 Claude 的开发团队发布。

本次实际文件从 303 个 SRT 块重组为 130 个完整句子;130 句全部以句末标点结束,没有在这份视频中触发 15 秒保护性硬拆分。

视频已有 chi 中文字幕时

不需要重新翻译。把该中文字幕导出为标准 UTF-8 SRT,保存或填写为 translated.zh.srt,然后按英文字幕对照检查错译。当前定制网页能直接读取这个中文 SRT 生成配音,但官方原版和当前“提取英文字幕”按钮不保证自动替你导出所有 chi 流。

11.5 第三步:选择配音参考模式并生成

固定音色参考

整段只使用同一个 12 秒左右的参考。逐句不提取英文原音,速度更快,整段音色与总体语气更稳定。

固定音色 + 逐句情感参考

说话人音色保持固定,同时按重组句子的 SRT 时间从原视频提取对应英文音频,传递每句情绪和语气。默认选择此模式。

  1. 在“配音参考模式”选择一种模式。
  2. 点击生成中文配音
  3. 保持网页和 CMD 打开,不要刷新或切走页面。
  4. 完成状态会显示 SRT 块数、重组句数、情感参考数、总耗时、最大顺延和尾部延长。
  5. 结果是同目录下的 chinese_dub.wav,网页也会显示播放器。

时间轴规则

  • 不使用 FFmpeg atempo 强制变速。
  • 不截掉长句结尾,不让相邻句音频重叠。
  • 中文比 SRT 时间窗短:保留自然空白。
  • 中文比时间窗长:下一句自然顺延,状态中记录最大漂移;视频末尾也可能延长。
  • 视频模式内部 interval_silence=0,没有额外 140 ms 停顿,也没有新增句段边缘淡化。
切换或刷新页面后进度看不见 Gradio 页面状态可能丢失,但后台 Python 推理不一定停止。先看启动 CMD 是否仍在输出,再检查结果目录和 chinese_dub.wav 的修改时间。长任务期间最好不要刷新页面;需要停止时回到 CMD 按 Ctrl+C。

12. 常见错误逐项解决

先读错误末尾最具体的一行,不要只看最上面的 “Failed”。下面按本次安装实际遇到的问题整理。

Failed to build deepspeed / CUDA 13.3 与 torch 12.8 不匹配

原因:DeepSpeed 0.17.1 正在源码编译,并调用了 PATH 中排在最前面的 CUDA 13.3 nvcc;PyTorch 却是 cu128。

解决:按第 8 节让 nvcc --version 变为 12.8,并切换到匹配的 0.17.5 预编译 wheel。不要跳过严格版本检查。

明明安装了 CUDA 12.8,错误里仍然显示 13.3

安装只是把新版本放进电脑,不会自动把它排到 PATH 最前。运行 where nvcc 会列出多个版本;程序使用第一条。修正 CUDA_PATH 和 PATH 顺序,关闭并重新打开 CMD。

构建日志说 No module named numpy

这是 DeepSpeed 构建隔离环境中的伴随警告,当前日志真正终止构建的是 CUDAMismatchException。先修 CUDA 与 wheel;不要只围绕 NumPy 反复安装。

cl.exe 找不到,但我已经安装 Visual Studio Build Tools

普通 CMD 不一定包含 MSVC 环境。打开“x64 Native Tools Command Prompt for VS 2022”再输入 cl。如果使用本文预编译 DeepSpeed wheel,正常安装和推理本身无需 cl.exe。

DeepSpeed 报 aio.lib 或 cufile.lib 链接错误

环境报告在检测 Windows 不支持或未配置的 async_io/GDS 功能时可能打印这些信息。只要 transformer_inferenceinference_core_ops 为 YES/OKAY,IndexTTS 推理内核仍可正常使用。

CUDA out of memory / 显存不足
  1. 停止其他 TTS、游戏、视频增强和占用 GPU 的浏览器任务。
  2. 保留 --fp16,不要使用 --qwen_emo
  3. 关闭 --torch_compile--accel--cuda_kernel 做基线。
  4. 把单句 Token 从 160 降回 120 或更低,并按完整句子换行。
  5. 停止程序后重新启动,清理碎片化显存。
网页打不开 / 127.0.0.1 拒绝连接

检查启动 CMD 是否仍在运行、是否已经打印本地 URL。用 netstat -ano | findstr :7860 检查监听。模型还在加载时先等待,不要反复启动多个实例。

端口 7860 已被占用

优先停止旧 WebUI;也可以临时换端口:

CMD · 换到 7861
uv run --no-sync webui.py --version 2.5 --fp16 --deepspeed --host 127.0.0.1 --port 7861

随后打开 http://127.0.0.1:7861

中文字幕文件不存在:C:Users\...\translated.zh.srt

路径缺少 C: 后面的反斜杠,或文件尚未保存。正确形式是 C:\Users\...\translated.zh.srt。在资源管理器按住 Shift 右键文件,可选择“复制文件地址”。

为什么不能直接用 large-v3 英译中

Whisper large-v3 的翻译任务只输出英文。它可以高质量听写英文,但英文到中文文本翻译要使用其他翻译模型或 AI。翻译后保留 SRT 时间码,再交给 IndexTTS 生成中文音频。

生成音频很快、语气不自然或有拼接感

检查参考音频是否干净、文本是否有完整标点、是否把大量文字塞在同一句、时长系数是否小于 1。优先按完整句子换行,使用 6–12 秒清晰参考;不要用机械 40 字切割或 FFmpeg 强制变速补救。

语音里把 Claude 听成 clawed

这是语音识别阶段的同音误识别,不是 TTS 本身。先在英文/中文字幕 SRT 中把 clawed 统一改回 Claude,再生成中文配音。不要把你希望保留的英文产品名翻译掉。

13. 更新、备份与释放资源

本机项目已经修改过依赖和 WebUI。直接覆盖或 git pull 可能冲掉定制功能,更新前先备份。

建议备份的内容

  • webui.py
  • tools\web_video_dubbing.py 以及其他新增工具脚本
  • pyproject.tomluv.lock
  • start_indextts_deepspeed_24.bat
  • outputs\video-dubbing 中的 SRT、参考音频和最终 WAV

更新依赖后的标准动作

CMD · 根据锁文件同步
uv sync --extra webui --extra deepspeed

如果没有明确升级需求,不要随意删除 uv.lock。锁文件保证下次仍安装已验证的组合。

不用 TTS 时释放 GPU

  1. 启动 CMD 中按 Ctrl+C。
  2. 运行 netstat -ano | findstr :7860,确认没有 LISTENING。
  3. 运行 nvidia-smi,确认没有项目 Python 进程。

需要释放磁盘空间时

确认不再需要后,可以在资源管理器中删除以下目录;这是卸载而不是普通清理:

  • .venv:释放约 8.49 GiB,之后必须重新 uv sync
  • checkpoints:释放模型及缓存约 10.22 GiB,之后必须重新下载模型。
  • outputs:会删除已经生成的字幕和音频,先备份需要的结果。
不要使用针对不确定路径的递归删除命令。对新手,先在资源管理器核对完整路径,再移动到回收站更安全。

完成检查表

所有项目都满足后,环境才算真正安装完成。勾选状态只保存在当前浏览器。

  • 项目目录能直接看到 webui.pypyproject.toml
  • uv --version 能输出版本。
  • .venv\Scripts\python.exe --version 为 Python 3.11。
  • PyTorch 输出 2.8.x+cu128、CUDA 12.8、GPU 可用 True。
  • checkpoints 中的 config、gpt、s2mel、codec 文件都存在。
  • 不带 DeepSpeed 的基础 WebUI 能启动并生成一段音频。
  • 如使用 DeepSpeed/编译内核,nvcc --version 为 12.8。
  • DeepSpeed 为 0.17.5,Transformer inference 和 inference core ops 为 YES/OKAY。
  • 知道必须在 CMD 按 Ctrl+C 才能释放模型和显存。
  • 使用视频定制功能时,Shotcut 和 C:\models\ggml-large-v3.bin 均存在。
  • 知道 large-v3 负责英文听写,中文翻译文件必须保留 SRT 编号和时间码。
  • 参考音色已取得合法授权。

官方与相关来源

本文中的本机版本、磁盘占用、扩散步数耗时和 DeepSpeed 内核状态来自 2026-08-26 的实际环境检查。软件更新后应重新核对官方 README、依赖锁文件和发行说明,不应把单机耗时当作所有设备的固定性能。

把本文部署到网站

  1. 将这个 HTML 文件和同级的 assets 文件夹一起上传到网站的静态资源目录。HTML 可改名为 indextts-windows-guide.html;若它要作为独立站首页,可改名为 index.html
  2. 页面不需要 PHP、Python、Node.js 或数据库。章节勾选和深色模式使用浏览器 localStorage,只保存在访问者自己的设备。
  3. 页面通过 HTTPS 引用 IndexTTS 官方标志和 Lucide 图标 CDN。若网站内容安全策略禁止外部资源,正文仍可阅读,按钮会显示内置备用符号;也可以把这些资源下载到自己网站后修改 src
  4. 发布后检查手机和桌面页面,并定期核对官方版本。不要删除第三方 DeepSpeed wheel 的来源提示。