跳转至

VoiceStudio — IndexTTS 2.5

IndexTTS 2.5 是一个可选的多语言语音克隆引擎,用于配音和表现力语音。它支持中文、英语、日语、西班牙语和阿拉伯语,并提供参考音频克隆、情感参考、情感向量和文本导向情感功能。

VoiceStudio 在专用的子进程和 Python 环境中运行 IndexTTS。这使其 transformers<5 依赖与 VoiceStudio 的运行时隔离。用户自行管理的现有 IndexTTS-2 环境仍然受支持。

安装

IndexTTS 2.5 未随附打包,因为其源代码环境和模型权重需要大量磁盘空间。

  1. 打开 Model Catalogue。
  2. 展开 IndexTTS 2.5 并选择 安装。
  3. 在源代码、依赖项和权重下载期间保持 VoiceStudio 打开。

安装程序会:

  • 检查 uv 和至少 12 GB 的可用空间;
  • 在隔离的 Python 3.11 venv 中安装经过审查的 indextts-2.5 源代码修订版;
  • 下载经过审查的 IndexTeam/IndexTTS-2.5 模型修订版;
  • 断点续传部分下载的模型;
  • 在 AMD ROCm 主机上(OMNIVOICE_TORCH_VARIANT=rocm,或已运行 ROCm torch 的主机),安装 PyTorch 的 ROCm 构建版本,使引擎使用 GPU——上游自身配置拉取的是 CUDA wheel,无法识别 AMD GPU;
  • 保存 OMNIVOICE_INDEXTTS_DIR 并无需重启即可激活引擎。

当 2.5 安装到独立目录时,应用管理的 IndexTTS-2 检出保持不变。VoiceStudio 仅在新的源代码、环境和权重通过验证后才切换到 2.5。用户自行管理的克隆永远不会被修改或删除;其旧的 indextts.infer_v2 入口点仍然受支持。

重试未完成的安装会重建不兼容的受管 Python 环境(例如 Python 3.14),同时保留源代码和已下载的权重。现有的 Python 3.10/3.11 环境会被复用。关联的环境永远不会被删除;如果无法检查其解释器,安装程序会报告如何恢复。

手动安装

使用独立的检出和 venv。请勿将 IndexTTS 安装到 VoiceStudio 的根环境中。

git clone --branch indextts-2.5 https://github.com/index-tts/index-tts.git
cd index-tts
uv venv .venv --python 3.11
uv pip install --python .venv/bin/python -e .
hf download IndexTeam/IndexTTS-2.5 --local-dir=checkpoints

在 Windows 上,将 .venv/bin/python 替换为 .venv\Scripts\python.exe。然后将 OMNIVOICE_INDEXTTS_DIR 设置为检出根目录:

export OMNIVOICE_INDEXTTS_DIR=/path/to/index-tts
[Environment]::SetEnvironmentVariable(
  "OMNIVOICE_INDEXTTS_DIR",
  "$env:USERPROFILE\code\index-tts",
  "User"
)

在应用外部设置持久环境变量后,重启 VoiceStudio。

在 AMD ROCm 主机上,安装后将 venv 中的 torch 替换为 ROCm 构建版本(scripts/setup.py 为 OMNIVOICE_TORCH_VARIANT=rocm 使用的索引和固定版本是可用的)。若不干预,上游的 pyproject.toml 会解析为 CUDA 构建版本,该版本无法识别 AMD GPU,并完全在 CPU 上运行。

语音克隆情感控制

当 IndexTTS2 是所选 TTS 引擎时,语音克隆 创作器会在其语音控件旁显示一个 情感 按钮。这与语音参考片段无关:

  • 关闭(默认)— 克隆参考音频,不添加额外的情感方向。
  • 描述 — 用自然语言描述情感表达方式;将其强度从 0 调整到 0.6。
  • 滑块 — 设置八个权重(快乐、愤怒、悲伤、害怕、厌恶、忧郁、惊讶、平静),每个范围从 0 到 1。

这些选项也适用于 POST /generate,包括 stream=true:传递 emo_text 和可选的 emo_alpha,或一个包含八个权重的 emo_vector JSON 数组。同时提供两种方式或选择不支持情感的引擎将返回 422。WebSocket /ws/tts API 还支持情感参考片段(emo_audio),但创作器尚未开放该功能。

兼容性

VoiceStudio 按顺序探测以下位置:

  1. ${OMNIVOICE_INDEXTTS_DIR}/.venv/;
  2. backend/engines/indextts/.venv/;
  3. 从 OMNIVOICE_INDEXTTS_DIR 引导的 venv。

探测优先使用 indextts.infer_v2_5,并回退到 indextts.infer_v2。超时的导入被视为未验证而非缺失,从而防止慢速磁盘或杀毒软件扫描隐藏有效的 venv。设置 OMNIVOICE_INDEXTTS_IMPORT_PROBE_TIMEOUT_S 可提高默认的 60 秒探测限制。

长文本生成

长段落可能使 infer() 持续忙碌数分钟。sidecar 在工作期间每 5 秒发送一个 keep-alive 帧,因此父进程可以区分慢速合成与卡死合成,并最多等待 900 秒以确认 sidecar 真正静默。设置 OMNIVOICE_INDEXTTS_RECV_TIMEOUT_S(最小 30)可调整该上限。

IndexTTS 2.5 需要语言 token。VoiceStudio 将区域设置代码和语言名称映射到五种受支持的语言,并为 Auto 请求检测中文、日文或阿拉伯文字。不明确的拉丁文本默认为英语。

IndexTTS 2.5 使用 duration_factor 作为原生时长引导。VoiceStudio 的配音适配阶段仍负责精确的片段计时。旧版 IndexTTS-2 安装继续接收其 target_tokens 控制。

公开的 速度 设置(在 /generate、Stories、OpenAI 兼容路由和 /ws/tts 上)会转换为相同的时长控制:速度 1.25 表示自然朗读时间的 1/1.25。显式的 duration 或 duration_factor 优先于速度,因此语速永远不会被应用两次。/ws/tts 也接受 duration_factor(0.5–2.0,数值越低越快);它是相对的,因此适用于每个流式句子。

故障排除

引擎不可用

使用 Model Catalogue → IndexTTS 2.5 → 安装。对于手动安装,请确认配置的目录包含:

pyproject.toml
indextts/infer_v2_5.py
checkpoints/config.yaml

IndexTeam/IndexTTS-2.5 将模型配置作为 config.yaml 提供。早期的安装只有在手动将其重命名为 config_v2_5.yaml 后才能工作;两个名称均可接受,因此重命名后的检出无需重新安装即可继续正常工作。

外部绝对路径下缺失检查点

部分固定配置会指定上游作者训练集群上的检查点路径。 当配置的绝对路径 gpt_checkpoint 或 s2mel_checkpoint 缺失时, VoiceStudio 会使用已安装的 gpt.pth 或 s2mel.pth(若存在)。这也 适用于其他操作系统上的 Windows 路径。现有有效的自定义路径和相对路径 保持不变。

该调整仅在加载模型时的临时配置中生效;你下载的配置和权重绝不会被重写。 无需重新安装或额外下载。如果本地回退文件也不存在,则保留原始加载错误, 而不是替换为另一个模型。

未找到 uv

桌面应用随附了 uv,并通过 OMNIVOICE_BUNDLED_UV 将后端指向它,因此安装版无需你做任何事。在 v0.5.5 之前,shell 能找到该二进制文件,但从未将其传递出去;而且由于打包的 uv 位于应用自身的资源目录中——不在任何人的 PATH 上,GUI 启动时也不会继承 shell 对 PATH 的追加——预检报告它缺失,而二进制文件明明就在那里(#2215)。

从源码运行时,请从 https://docs.astral.sh/uv/ 安装 uv,或将 OMNIVOICE_BUNDLED_UV 设置为某个 uv 二进制的绝对路径以显式固定一个版本——显式值始终优先于捆绑副本。

安装后导入失败

对于由应用管理的安装,请重试 Install 以修复源代码和 venv。 对于手动安装,请运行:

uv pip install --python .venv/bin/python -e .

磁盘空间不足

释放安装程序报告的空间量,然后重试。已完成的模型文件会被复用。

许可证

IndexTTS 2.5 使用 bilibili Model Use License(哔哩哔哩模型使用许可)。它授予一项有限、全球性、非排他性、免版税的许可,但须遵守其限制条件。当用户或其关联方在上月的月活跃用户数超过 1 亿,或上一年度年收入超过 10 亿元人民币时,需要另行获得许可。该协议还包含下游、衍生作品、禁止用途、署名及合规义务。在安装或使用该模型之前,请查看官方许可证。

此模型不受 VoiceStudio 的通用商业使用声明保障。超过任一门槛的组织在安装或使用 IndexTTS 2.5 之前,必须获得 Bilibili 的单独书面许可。其他引擎仍可在不启用此可选附加组件的情况下使用。

存储详情请参阅引擎 venv 与磁盘使用。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio