ComfyUI-IndexTTS-2.5
IndexTTS-2.5 的 ComfyUI 自定义节点。零样本文本转语音,支持中文 / 英文 / 日语 / 西班牙语 / 阿拉伯语,具备情感控制与语速控制。
Nodes (2)
ComfyUI-IndexTTS-2_5
IndexTTS-2.5 的 ComfyUI 自定义节点。零样本文本转语音,支持中文 / 英文 / 日语 / 西班牙语 / 阿拉伯语,具备情感控制与语速控制。
节点
- Index TTS 2.5(
IndexTTS2_5Node)- 必填:
text、reference_audio(AUDIO)、language、duration_factor、seed - 可选情感控制:
emo_ref_audio/emo_vector(8 维)/emo_text(需 QwenEmotion) - 采样参数:
do_sample/temperature/top_p/top_k/repetition_penalty等 - 输出:
audio(AUDIO)、seed、subtitle
- 必填:
- Emo Settings(
EmoSettingsNode)- 8 个情感滑块:
happy/angry/sad/afraid/disgusted/melancholic/surprised/calm,范围 0~1 - 输出:
emo_vector(STRING,逗号分隔的 8 维向量) - 连线到
Index TTS 2.5的emo_vector输入即可,无需手写向量字符串
- 8 个情感滑块:
工作流预览

参考音频:
<audio controls src="example/ref_audio.mp3"></audio>
生成结果:
<audio controls src="example/result.wav"></audio>
使用说明
情感控制
节点提供三种情感控制方式:情感参考音频 emo_ref_audio、情感向量 emo_vector、
情感文本 emo_text。三者互斥——提供 emo_vector 或 emo_text 时,emo_ref_audio
会被忽略。
emo_vector(情感向量)
8 个数字,顺序固定:
高兴 / 愤怒 / 悲伤 / 恐惧 / 反感 / 低落 / 惊讶 / 自然
支持逗号分隔或 JSON 数组两种写法:
0.8,0,0,0,0,0,0,0[0.8,0,0,0,0,0,0,0]
规则:
- 必须恰好 8 个数字,否则被忽略(不生效)。
- 数值建议 0~1,越大该情绪越强;
0,0,0,0,0,0,0,1表示自然 / 平静。 emo_alpha(0~1)会整体缩放向量强度。
示例:
- 高兴:
0.8,0,0,0,0,0,0,0 - 愤怒:
0,0.9,0,0,0,0,0,0 - 悲伤:
0,0,0.8,0,0,0,0,0 - 自然:
0,0,0,0,0,0,0,1
也可用 Emo Settings 节点:8 个滑块(0~1)可视化调节情绪,输出即
emo_vector, 直接连线到Index TTS 2.5的emo_vector输入,免去手写字符串。
emo_text(情感文本)
用自然语言描述情绪,由 QwenEmotion 模型自动分析为 8 维情感向量(效果等同
emo_vector):
- 支持「高兴」「愤怒」「悲伤」「恐惧」「反感」「低落」「惊讶」「自然」,也支持完整句子。
- 非空即自动启用:无需单独勾选
use_emo_text/use_qwen_emo。 - 需要
qwen0.6bemo4-merge/模型(见「模型放置」),否则报错。
触发词「低落 / melancholy / depressed / gloomy」等会映射到「低落」,避免被误判为「悲伤」。
模型放置
将 IndexTTS-2.5 权重放到:
<ComfyUI>/models/TTS/IndexTTS-2.5/
必需文件(官方权重包自带):
config.yaml
gpt.pth
s2mel.pth
codec.pth
wav2vec2bert_stats.pt
feat1.pt
feat2.pt
multilingual_zh_ja_yue_char_del.tiktoken
qwen0.6bemo4-merge/ # 可选,情感文本需要
下载方式(HuggingFace):
hf download IndexTeam/IndexTTS-2.5 --local-dir="<ComfyUI>/models/TTS/IndexTTS-2.5"
或 ModelScope:
modelscope download --model IndexTeam/IndexTTS-2.5 --local_dir "<ComfyUI>/models/TTS/IndexTTS-2.5"
辅助模型(首次运行自动下载)
三个辅助模型不会出现在权重包内,首次推理时由上游
ensure_models_available 自动下载到 <模型目录>/hf_cache/:
w2v-bert-2.0(语义编码器)campplus_cn_common.bin(说话人嵌入)bigvgan(声码器)
若 HuggingFace 访问慢,建议提前设置镜像:
export HF_ENDPOINT="https://hf-mirror.com"
依赖
本节点 vendored 了官方 indextts 包源码(indextts/ 目录),在 ComfyUI 进程内
直接运行,无需额外安装官方仓库。
关键点:官方 pyproject.toml 里的 keras==2.9.0 是历史遗留依赖,
IndexTTS-2.5 推理链路并不 import keras,因此本节点不要求安装 keras,
也不受官方 Python<3.12 的限制(可在 Python 3.12 下运行)。
transformers 版本:本节点 vendored 的
indextts源码是 transformers 4.52 的 fork,已通过compatibility_patch.py适配到当前环境的transformers 4.57.x(QuantizedCacheConfig→QuantizedCache等改名)。若环境里的 transformers 版本 不同,可能需要重新调整该补丁。
pip install -r requirements.txt
- 日语 TTS 额外需要
fugashi+unidic-lite(未装时仅日语会报错)。 flash-attn/ CUDA kernel 加速默认关闭(避免 torch2.9+cu130 下 ABI 不匹配), 需要时可在model_loader.py中开启。
节点开发环境
以下为开发 / 验证本节点时使用的环境(ComfyUI 运行于 conda 环境 cu130):
| 项目 | 值 | | --- | --- | | 操作系统 | Windows 11(10.0.26200) | | Python | 3.12.12 | | PyTorch | 2.9.1+cu130 | | CUDA(torch 运行时) | 13.0 | | 显卡驱动 | 610.88(CUDA 13.3) | | cuDNN | 9.12.0 | | GPU | NVIDIA GeForce RTX 5090(32 GB) | | transformers | 4.57.6 |
transformers版本与本节点的compatibility_patch.py绑定,升级后若报错需同步调整 该补丁(见上文「依赖」一节)。