ComfyUI-Index-TTS 插件保姆级教程
1. 插件简介
插件地址: https://github.com/chenpipi0807/ComfyUI-Index-TTS
这个插件是干嘛的呢?简单来说,它就像是给你的 ComfyUI 装了一个"超级语音合成器"。
想象一下,你有一段文字,想让电脑用某个人的声音读出来。普通的语音合成就像机器人说话,听起来很假。而这个 Index-TTS 插件就像一个"声音魔法师",它能够:
- 声音克隆:只要给它一段某个人的录音,它就能学会用那个人的声音说话
- 多语言支持:中文、英文都能说,而且发音很自然
- 多角色朗读:可以让不同的"虚拟演员"用不同的声音读小说,就像有声书一样
- 语速控制:想快点慢点都可以调节
- 音频优化:还能自动去除杂音,让声音更清晰
这个插件特别适合:
- 制作有声书或小说朗读
- 为视频配音
- 创建多角色对话内容
- 语音内容创作
2. 如何安装
方法一:手动下载安装
- 打开你的 ComfyUI 安装文件夹
- 找到
ComfyUI/custom_nodes/这个文件夹 - 把下载的插件文件夹放进去
- 重启 ComfyUI
方法二:用 Git 命令安装(推荐)
cd ComfyUI/custom_nodes/
git clone https://github.com/chenpipi0807/ComfyUI-Index-TTS.git
安装依赖包
cd ComfyUI-Index-TTS
pip install -r requirements.txt
下载模型文件
你需要下载 AI 模型文件才能使用:
- Index-TTS 模型:从 Hugging Face 下载
- IndexTTS-1.5 模型:从 Hugging Face 下载
把模型文件放到:
ComfyUI/models/Index-TTS/目录(原版模型)ComfyUI/models/IndexTTS-1.5/目录(新版模型)
3. 节点详细解析
3.1 IndexTTSNode 节点 - 基础语音合成师
这个节点是干嘛的?
这是最基础的语音合成节点,就像一个"声音模仿大师"。你给它一段参考录音和要说的文字,它就能用参考录音里的声音来读这段文字。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 多行文本 | 你好,这是一段测试文本 | 要让AI读出来的文字,就像给演员的台词 | 输入的文本内容,支持中英文 | 输入"今天天气真好",AI就会读这句话 |
| reference_audio | reference_audio | 音频文件 | 连接音频节点 | 参考声音,AI会学习这个声音的特点 | 用于声音克隆的参考音频样本 | 上传一段你喜欢的声音录音 |
| model_version | model_version | Index-TTS/IndexTTS-1.5 | Index-TTS | 选择AI大脑版本,就像选择不同的演员 | 选择使用的模型版本 | 新手用Index-TTS,追求质量用IndexTTS-1.5 |
| language | language | auto/zh/en | auto | 告诉AI用什么语言读,就像选择普通话还是英语 | 指定文本语言类型 | auto让AI自动判断,zh强制中文,en强制英文 |
| speed | speed | 0.5-2.0 | 1.0 | 语速快慢,就像调节播放速度 | 语音播放速度倍数 | 1.0正常速度,0.5慢一半,2.0快一倍 |
| seed | seed | 0-2147483647 | 0 | 随机种子,控制每次生成是否一样 | 控制随机性的种子值 | 0每次都不同,固定数字每次结果相同 |
| temperature | temperature | 0.1-1.5 | 1.0 | 声音变化程度,就像调节"创意度" | 控制生成的随机性和多样性 | 低值声音更稳定,高值更有变化 |
| top_p | top_p | 0.0-1.0 | 0.8 | 声音选择范围,就像限制"词汇量" | 核采样参数,控制候选词概率 | 0.8是好平衡,太低太死板,太高太随意 |
| top_k | top_k | 1-100 | 30 | 声音候选数量,就像"备选方案"个数 | 限制每步采样的候选数量 | 30个选择够用,太少单调,太多混乱 |
| repetition_penalty | repetition_penalty | 1.0-15.0 | 10.0 | 防止重复,就像"不要老说同一句话" | 重复内容的惩罚系数 | 10.0防止重复,太低会重复,太高会奇怪 |
| length_penalty | length_penalty | -5.0-5.0 | 0.0 | 长度偏好,就像"喜欢长句还是短句" | 对生成长度的偏好调节 | 0.0不偏不倚,正值喜欢长句,负值喜欢短句 |
| num_beams | num_beams | 1-10 | 3 | 搜索路径数,就像"多想几种说法" | 束搜索的宽度 | 3够用了,太多太慢,太少质量差 |
| max_mel_tokens | max_mel_tokens | 100-1500 | 600 | 最大音频长度,就像"最多能说多长" | 最大音频标记数量 | 600适合短文,长文需要更大值 |
| sentence_split | sentence_split | auto/manual | auto | 句子分割方式,就像"怎么断句" | 文本分句处理方式 | auto自动断句,manual手动控制 |
3.2 AudioCleanupNode 节点 - 音频清洁工
这个节点是干嘛的?
这个节点就像一个"音频美容师",专门给生成的语音做"美容"。如果你的语音听起来有杂音、回声或者不够清晰,它就能帮你清理干净。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| audio | audio | 音频文件 | 连接TTS输出 | 要清理的音频,就像要洗的衣服 | 输入的音频数据 | 把TTS生成的音频连接过来 |
| denoise_strength | denoise_strength | 0.1-1.0 | 0.5 | 去噪音强度,就像"洗衣粉用量" | 降噪处理的强度 | 0.5中等强度,有噪音调高,没噪音调低 |
| dereverb_strength | dereverb_strength | 0.0-1.0 | 0.7 | 去回声强度,就像"去除空旷感" | 去混响处理的强度 | 0.7适合大部分情况,录音空旷调高 |
| high_pass_freq | high_pass_freq | 20.0-500.0 | 100.0 | 高通滤波频率,就像"过滤低音杂音" | 高通滤波器的截止频率 | 100Hz过滤嗡嗡声,有低频噪音调高 |
| low_pass_freq | low_pass_freq | 1000.0-16000.0 | 8000.0 | 低通滤波频率,就像"过滤高音杂音" | 低通滤波器的截止频率 | 8000Hz过滤尖锐声,有高频噪音调低 |
| normalize | normalize | true/false | true | 是否音量标准化,就像"统一音量大小" | 是否对音频进行归一化处理 | true让音量更均匀,false保持原音量 |
3.3 TimbreAudioLoader 节点 - 音色库管理员
这个节点是干嘛的?
这个节点就像一个"声音素材库管理员",它帮你管理和加载各种预设的声音样本。插件自带了很多角色声音(比如游戏角色、明星声音等),你可以直接选择使用。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| audio_file | audio_file | 文件列表 | 选择喜欢的声音 | 从声音库里选一个声音,就像选演员 | 从预设音频文件中选择 | 选择"原神-胡桃"就用胡桃的声音 |
| refresh | refresh | true/false | false | 刷新声音列表,就像"更新菜单" | 是否重新扫描音频文件 | 添加新声音文件后点true刷新 |
3.4 NovelTextStructureNode 节点 - 小说文本整理师
这个节点是干嘛的?
这个节点就像一个"剧本整理师",专门把普通的小说文本整理成有角色标记的格式。比如把"小明说:你好"整理成"<角色1>你好"的格式,这样后面就能用不同声音来读不同角色的话。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| novel_text | novel_text | 多行文本 | 小说文本示例 | 原始小说文本,就像未整理的剧本 | 输入的小说文本内容 | 粘贴一段小说,包含对话和叙述 |
3.5 IndexTTSProNode 节点 - 多角色语音导演
这个节点是干嘛的?
这是最强大的节点,就像一个"多角色语音导演"。它能同时管理多个角色的声音,让不同角色用不同的声音说话,制作出真正的多人对话效果,就像专业的有声书一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| structured_text | structured_text | 多行文本 | 带角色标签的文本 | 整理好的剧本,标明谁说什么话 | 包含角色标签的结构化文本 | <旁白>他走过来<角色1>你好<角色2>你也好 |
| narrator_audio | narrator_audio | 音频文件 | 连接旁白声音 | 旁白/叙述部分用的声音 | 旁白角色的参考音频 | 用沉稳的男声或女声做旁白 |
| model_version | model_version | Index-TTS/IndexTTS-1.5 | Index-TTS | AI大脑版本选择 | 选择使用的模型版本 | 同基础节点 |
| language | language | auto/zh/en | auto | 语言设置 | 指定文本语言类型 | 同基础节点 |
| speed | speed | 0.5-2.0 | 1.0 | 语速控制 | 语音播放速度倍数 | 同基础节点 |
| seed | seed | 0-2147483647 | 0 | 随机种子 | 控制随机性的种子值 | 同基础节点 |
| character1_audio | character1_audio | 音频文件 | 角色1声音 | 第一个角色用的声音 | 角色1的参考音频 | 用年轻女声做女主角 |
| character2_audio | character2_audio | 音频文件 | 角色2声音 | 第二个角色用的声音 | 角色2的参考音频 | 用成熟男声做男主角 |
| character3_audio | character3_audio | 音频文件 | 角色3声音 | 第三个角色用的声音 | 角色3的参考音频 | 用老人声音做长者角色 |
| character4_audio | character4_audio | 音频文件 | 角色4声音 | 第四个角色用的声音 | 角色4的参考音频 | 用小孩声音做儿童角色 |
| character5_audio | character5_audio | 音频文件 | 角色5声音 | 第五个角色用的声音 | 角色5的参考音频 | 用特殊声音做配角 |
| temperature | temperature | 0.1-1.5 | 1.0 | 声音变化程度 | 控制生成的随机性和多样性 | 同基础节点 |
| top_p | top_p | 0.0-1.0 | 0.8 | 声音选择范围 | 核采样参数 | 同基础节点 |
| top_k | top_k | 1-100 | 30 | 声音候选数量 | 限制每步采样的候选数量 | 同基础节点 |
| repetition_penalty | repetition_penalty | 1.0-15.0 | 10.0 | 防止重复 | 重复内容的惩罚系数 | 同基础节点 |
| length_penalty | length_penalty | -5.0-5.0 | 0.0 | 长度偏好 | 对生成长度的偏好调节 | 同基础节点 |
| num_beams | num_beams | 1-10 | 3 | 搜索路径数 | 束搜索的宽度 | 同基础节点 |
| max_mel_tokens | max_mel_tokens | 100-1500 | 600 | 最大音频长度 | 最大音频标记数量 | 同基础节点 |
4. 使用技巧和建议
4.1 新手入门建议
- 从简单开始:先用基础的 IndexTTSNode 节点熟悉功能
- 选择好的参考音频:音频要清晰、无杂音、时长3-10秒最佳
- 文本不要太长:初次使用建议单次输入不超过100字
4.2 声音克隆技巧
-
参考音频质量:
- 选择清晰无杂音的录音
- 避免有背景音乐的音频
- 最好是单人说话的录音
-
参数调节技巧:
temperature0.7-0.9 效果较好repetition_penalty10-12 防止重复speed可以后期调节,建议先用1.0
4.3 多角色制作技巧
-
角色声音区分:
- 男女声音要明显区分
- 年龄差异用不同音调
- 性格差异用不同语速
-
文本格式化:
- 使用 NovelTextStructureNode 自动整理
- 手动格式:
<Narrator>叙述<Character1>对话 - 最多支持5个角色
4.4 音频优化建议
- 使用 AudioCleanupNode:
- 有杂音时
denoise_strength设为 0.6-0.8 - 有回声时
dereverb_strength设为 0.7-0.9 - 一般情况保持默认值即可
- 有杂音时
5. 常见问题解答
Q1: 为什么生成的声音不像参考音频?
A: 可能的原因和解决方案:
- 参考音频质量不好:选择更清晰的录音
- 参数设置不当:尝试调低
temperature到 0.7-0.8 - 文本太长:分段处理,每段不超过50字
- 模型版本问题:尝试切换到 IndexTTS-1.5
Q2: 生成速度很慢怎么办?
A: 优化建议:
- 减少
num_beams到 1-2 - 降低
max_mel_tokens到 400-500 - 分段处理长文本
- 确保显卡内存充足
Q3: 音频有杂音或不清晰?
A: 解决方法:
- 使用 AudioCleanupNode 节点清理
- 检查参考音频质量
- 调整
denoise_strength和dereverb_strength - 尝试不同的参考音频
Q4: 多角色声音混乱?
A: 检查要点:
- 确认文本格式正确:
<Character1>对话内容 - 每个角色都要有对应的参考音频
- 角色标签要连续:Character1, Character2...
- 不要超过5个角色
Q5: 模型加载失败?
A: 解决步骤:
- 检查模型文件是否完整下载
- 确认模型路径:
ComfyUI/models/Index-TTS/ - 重启 ComfyUI
- 检查依赖包是否安装完整
6. 高级应用案例
6.1 制作有声小说
- 准备小说文本
- 用 NovelTextStructureNode 整理格式
- 为每个角色准备不同的参考音频
- 用 IndexTTSProNode 生成多角色语音
- 用 AudioCleanupNode 优化音质
6.2 视频配音制作
- 准备配音文本
- 选择合适的参考声音
- 调节语速匹配视频节奏
- 分段生成避免过长
- 后期合成到视频中
6.3 语言学习材料
- 准备学习文本
- 用标准发音作为参考
- 调节语速适合学习
- 生成重复练习材料
7. 总结
ComfyUI-Index-TTS 插件是一个功能强大的语音合成工具,通过5个专业节点,为用户提供了从基础语音合成到多角色有声书制作的完整解决方案。
核心优势:
- 声音克隆:高质量的声音模仿能力
- 多角色支持:最多5个角色同时使用
- 音频优化:内置音频清理功能
- 易于使用:节点化操作,直观简单
适用场景:
- 有声书和小说朗读制作
- 视频内容配音
- 语言学习材料制作
- 创意音频内容创作
记住几个关键点:
- 参考音频质量决定最终效果
- 合理设置参数避免过度调节
- 长文本要分段处理
- 善用音频清理功能提升质量
希望这个教程能帮助你充分发挥这个强大插件的潜力,创作出优秀的语音内容!
节点列表:
- IndexTTSNode - 基础语音合成师
- AudioCleanupNode - 音频清洁工
- TimbreAudioLoader - 音色库管理员
- NovelTextStructureNode - 小说文本整理师
- IndexTTSProNode - 多角色语音导演