ComfyUI F5-TTS 插件保姆级教程
1. 插件简介
插件地址: https://github.com/niknah/ComfyUI-F5-TTS
这个插件就像给你的ComfyUI装上了一个"声音克隆器"!想象一下,你只需要录制几秒钟的声音样本,AI就能学会用你的声音说任何话。就像有了一个会模仿你声音的机器人助手一样神奇。
主要功能:
- 用你自己的声音生成任何文字的语音(就像让AI学会了你的说话方式)
- 支持多种语言(中文、英文、日文、法文等等)
- 可以同时使用多个不同的声音(就像一个人会变声一样)
- 可以调节语速、音调等参数
能带来什么效果:
- 制作个人专属的语音助手
- 为视频配音(用自己的声音)
- 制作多角色对话(一个人演多个角色)
- 将文字转换成自然的语音朗读
2. 如何安装
方法一:使用ComfyUI Manager(推荐新手)
- 打开ComfyUI Manager
- 搜索"F5-TTS"
- 点击安装
- 重启ComfyUI
方法二:直接下载
- 打开你的ComfyUI安装目录
- 找到
custom_nodes文件夹 - 在这个文件夹里新建一个名为
ComfyUI-F5-TTS的文件夹 - 把插件的所有文件复制到这个新文件夹里
- 重启ComfyUI
方法三:使用Git(适合有经验的用户)
cd ComfyUI/custom_nodes
git clone https://github.com/niknah/ComfyUI-F5-TTS.git
cd ComfyUI-F5-TTS
git submodule update --init --recursive
pip install -r requirements.txt
准备声音样本
- 在ComfyUI的
input文件夹里放入一个.wav音频文件(你的声音样本) - 创建一个同名的.txt文件,写上音频里说的话
- 例如:
my_voice.wav和my_voice.txt
3. 节点详细解析
3.1 F5-TTS Audio 节点
这个节点是干嘛的?
这就像一个"声音工厂",它会读取你准备好的声音样本文件,然后用你的声音来说出你想要的任何话。还支持多个声音角色,就像一个人会变声表演一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 样本文件 | sample | 文件列表 | 必选 | 就像选择要模仿的声音老师 | 选择音频样本文件 | 从下拉菜单选择你上传的.wav文件 |
| 要说的话 | speech | 多行文本 | "This is what I want to say" | 就像给声音老师一份台词稿 | 输入要生成语音的文本内容 | 写上"你好,我是AI助手"这样的话 |
| 随机种子 | seed | -1到无限大 | 1 | 控制声音的随机性,像掷骰子决定声音细节 | 控制生成结果的随机性 | -1表示每次都不同,固定数字可重现结果 |
| 模型选择 | model | 多种模型 | F5v1 | 选择哪个AI大脑来学习声音,像选择不同的老师 | 选择F5-TTS模型版本 | F5v1是最新版本,F5-JP适合日语 |
| 声码器 | vocoder | auto/vocos/bigvgan | auto | 选择声音合成器,像选择不同的乐器 | 选择音频合成后端 | auto让系统自动选择最合适的 |
| 语速 | speed | 浮点数 | 1.0 | 控制说话快慢,像调节播放速度 | 控制语音播放速度 | 1.0是正常速度,2.0是两倍慢,0.5是两倍快 |
| 模型类型 | model_type | 多种配置 | F5TTS_Base | 选择模型的具体配置,像选择汽车的不同型号 | 指定模型的配置类型 | F5TTS_Base是标准配置,适合大多数情况 |
3.2 F5-TTS Audio from input 节点
这个节点是干嘛的?
这就像一个"即时声音学习器",它不需要你提前准备文件,而是直接从其他节点接收音频输入,现场学习你的声音然后立即模仿。就像一个能瞬间学会模仿的变声器。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 样本音频 | sample_audio | AUDIO类型 | 必填 | 就像直接对着变声器说话的原声 | 输入音频数据流 | 连接其他音频节点的输出 |
| 样本文字 | sample_text | 字符串 | "Text of sample_audio" | 告诉AI这段音频里说的是什么话 | 音频对应的文本内容 | 写上音频里实际说的话,比如"大家好" |
| 要说的话 | speech | 多行文本 | "This is what I want to say" | 就像给变声器一份新台词 | 输入要生成语音的文本内容 | 写上你想让AI用你的声音说的话 |
| 随机种子 | seed | -1到无限大 | 1 | 控制声音变化的随机性,像调节变声器的随机模式 | 控制生成结果的随机性 | -1表示每次效果都不同 |
| 模型选择 | model | 多种模型 | F5v1 | 选择哪个AI大脑来学习声音 | 选择F5-TTS模型版本 | F5v1是推荐的最新版本 |
| 声码器 | vocoder | auto/vocos/bigvgan | auto | 选择声音合成的方法 | 选择音频合成后端 | auto会自动选择最合适的方法 |
| 语速 | speed | 浮点数 | 1.0 | 控制说话的快慢程度 | 控制语音播放速度 | 大于1.0说话变慢,小于1.0说话变快 |
| 模型类型 | model_type | 多种配置 | F5TTS_Base | 选择AI大脑的具体配置 | 指定模型的配置类型 | F5TTS_Base是标准配置 |
3.3 F5-TTS Audio advanced 节点
这个节点是干嘛的?
这就像一个"专业录音棚",提供了所有高级的声音调节功能。不仅能做基本的声音克隆,还能精细调节音量、淡入淡出、音质等各种专业参数。就像从家用录音设备升级到专业录音棚一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 样本文件 | sample | 文件列表 | 必选 | 选择要模仿的声音样本文件 | 选择音频样本文件 | 从下拉菜单选择你的声音文件 |
| 要说的话 | speech | 多行文本 | "This is what I want to say" | 输入要生成的台词内容 | 输入要生成语音的文本内容 | 写上你想说的话 |
| 随机种子 | seed | -1到无限大 | 1 | 控制声音生成的随机性 | 控制生成结果的随机性 | -1表示每次都不同 |
| 模型选择 | model | 多种模型 | F5v1 | 选择AI声音学习模型 | 选择F5-TTS模型版本 | F5v1是最新推荐版本 |
| 声码器 | vocoder | auto/vocos/bigvgan | auto | 选择声音合成方法 | 选择音频合成后端 | auto自动选择最佳方法 |
| 语速 | speed | 浮点数 | 1.0 | 控制说话速度快慢 | 控制语音播放速度 | 1.0是正常速度 |
| 模型类型 | model_type | 多种配置 | F5TTS_Base | 选择模型的具体配置 | 指定模型的配置类型 | F5TTS_Base是标准配置 |
| 样本音频(可选) | sample_audio | AUDIO类型 | 可选 | 可以直接输入音频而不用文件 | 可选的音频输入 | 连接其他音频节点时使用 |
| 样本文字(可选) | sample_text | 字符串 | "Text of sample_audio" | 当使用音频输入时,说明音频内容 | 音频对应的文本内容 | 写上音频里说的话 |
| 目标音量 | target_rms | 0.0-1.0 | 0.1 | 控制输出声音的响度,像调节音响音量 | 目标输出语音响度标准化值 | 0.1是适中音量,0.2更响亮 |
| 淡入淡出时长 | cross_fade_duration | 浮点数 | 0.15 | 控制音频片段之间的平滑过渡时间 | 音频段间交叉淡化持续时间 | 0.15秒是标准过渡时间 |
| 降噪步数 | nfe_step | 整数 | 32 | 控制AI处理声音的精细程度,像调节画质 | 函数评估(降噪步骤)的数量 | 32是平衡质量和速度的设置 |
| 引导强度 | cfg_strength | 浮点数 | 2 | 控制AI对文字指令的遵循程度 | 分类器自由引导强度 | 2是标准强度,更高更严格遵循 |
| 摆动采样系数 | sway_sampling_coef | -10到10 | -1 | 控制声音生成的特殊算法参数 | Sway采样系数 | -1是默认值,通常不需要调整 |
| 变速类型 | speed_type | 三种选择 | torch-time-stretch | 选择改变语速的方法 | 选择时间拉伸算法 | torch-time-stretch质量最好 |
| 固定时长 | fix_duration | 浮点数 | -1 | 强制设定输出音频的总时长 | 固定总持续时间(参考和生成音频) | -1表示不限制,5.0表示固定5秒 |
4. 使用技巧和建议
4.1 声音样本准备技巧
录制高质量样本:
- 在安静环境下录制(避免背景噪音)
- 使用清晰的麦克风
- 说话自然,不要刻意改变声音
- 录制时长控制在5-15秒之间
- 避免音频中有音乐或其他声音
文本准备要点:
- .txt文件内容必须与音频完全一致
- 包括标点符号和语调词(如"嗯"、"啊"等)
- 使用UTF-8编码保存文本文件
- 避免特殊符号和表情符号
4.2 多声音角色使用
文件命名规则:
voice.wav + voice.txt (主声音)
voice.deep.wav + voice.deep.txt (低沉声音)
voice.sweet.wav + voice.sweet.txt (甜美声音)
在文本中使用不同声音:
{main}大家好,我是主持人
{deep}这里是旁白君
{sweet}我是可爱的小助手
4.3 不同语言的使用建议
中文使用:
- 使用F5或F5v1模型
- 样本音频说标准普通话效果最好
- 可以混合中英文,但要在样本中也包含
英文使用:
- F5v1模型对英文支持最好
- 样本音频发音要清晰
- 避免方言和口音过重
其他语言:
- 日语:使用F5-JP模型
- 法语:使用F5-FR模型
- 德语:使用F5-DE模型
- 根据语言选择对应的专用模型
4.4 参数调优建议
语速调节:
- 1.0 = 正常速度
- 0.5 = 两倍快速
- 2.0 = 两倍慢速
- 建议范围:0.7-1.5
音质优化:
- target_rms: 0.1-0.2之间效果最好
- nfe_step: 32是平衡点,64质量更好但更慢
- cfg_strength: 2-3之间,太高会过度拟合
5. 常见问题解答
Q1: 为什么生成的声音不像我的声音?
A: 可能的原因:
- 样本音频质量不好(有噪音、音量太小)
- 样本文本与音频不匹配
- 样本时长太短(建议5-15秒)
- 模型选择不当(中文用F5v1,其他语言选对应模型)
Q2: 提示"No module named f5_tts"错误怎么办?
A:
- 删除F5-TTS文件夹
- 重新克隆:
git clone https://github.com/SWivid/F5-TTS.git F5-TTS - 安装依赖:
pip install -r requirements.txt - 重启ComfyUI
Q3: 音频文件找不到怎么办?
A:
- 确保.wav和.txt文件在input文件夹中
- 文件名必须完全相同(除了扩展名)
- 点击节点上的"refresh"按钮
- 检查文件是否损坏
Q4: 生成的音频有杂音怎么办?
A:
- 降低target_rms值(比如从0.1降到0.05)
- 增加nfe_step值(从32增加到64)
- 检查原始样本是否有噪音
- 尝试不同的vocoder设置
Q5: 多声音功能不工作?
A:
- 确保使用"F5-TTS Audio"节点(不是"from input"版本)
- 检查文件命名是否正确
- 确保每个声音都有对应的.wav和.txt文件
- 在文本中正确使用{voice_name}标签
Q6: 语速调节不生效?
A:
- 检查speed参数是否设置正确
- 在高级节点中,如果speed_type设为"F5TTS",speed含义相反
- 尝试不同的speed_type设置
- 确保speed值在合理范围内(0.5-2.0)
6. 实用工作流程示例
6.1 基础语音克隆工作流程
1. 准备voice.wav和voice.txt文件
2. 放入ComfyUI/input文件夹
3. 使用F5-TTS Audio节点
4. 设置要说的文字
5. 连接Audio Preview节点播放
6.2 多角色对话工作流程
1. 准备多个声音文件:
- narrator.wav/narrator.txt (旁白)
- character1.wav/character1.txt (角色1)
- character2.wav/character2.txt (角色2)
2. 在speech中写:
{narrator}故事开始了
{character1}你好,我是小明
{character2}你好,我是小红
3. 使用F5-TTS Audio节点生成
6.3 实时语音生成工作流程
1. 使用麦克风录音节点
2. 连接Whisper语音识别节点获取文字
3. 连接F5-TTS Audio from input节点
4. 实现实时声音克隆
7. 高级功能和技巧
7.1 自定义模型使用
下载自定义模型:
- 在
models/checkpoints/F5-TTS文件夹中放入模型文件 - 模型文件和词汇文件要同名:
MyModel.safetensorsMyModel.txt
- 重启ComfyUI后在模型列表中会出现
推荐的自定义模型:
- 中文:使用默认F5v1模型
- 日语:F5-JP模型
- 法语:F5-FR模型
- 德语:F5-DE模型
7.2 音频后处理技巧
音量标准化:
- 使用target_rms参数统一音量
- 建议值:0.1(适中)、0.15(较响)、0.05(较轻)
无缝拼接:
- 调整cross_fade_duration参数
- 0.15秒适合大多数情况
- 0.3秒适合慢语速,0.1秒适合快语速
7.3 性能优化建议
提高生成速度:
- 降低nfe_step值(从32降到16)
- 使用较短的样本音频
- 选择合适的vocoder(vocos通常最快)
提高音质:
- 增加nfe_step值(从32增到64)
- 使用高质量的样本音频
- 调整cfg_strength参数
8. 总结
ComfyUI F5-TTS插件就像给你的ComfyUI装上了一个"万能配音师"。通过3个不同功能的节点,你可以:
基础功能(人人可用):
- F5-TTS Audio:从文件读取声音样本,支持多角色
- F5-TTS Audio from input:从其他节点接收音频输入
高级功能(专业用户):
- F5-TTS Audio advanced:提供所有专业调节参数
核心优势:
- 只需几秒钟样本就能克隆声音
- 支持多种语言和自定义模型
- 可以实现多角色对话
- 提供丰富的音频调节参数
记住使用的关键要点:
- 准备高质量的声音样本(清晰、无噪音、5-15秒)
- 确保文本与音频完全匹配
- 根据语言选择合适的模型
- 合理调节参数以获得最佳效果
掌握这个插件,你就能为你的项目添加个性化的语音功能,让AI用你的声音说话!