ComfyUI AudioTools 插件完整使用教程
1. 插件简介
ComfyUI AudioTools(原地址:https://github.com/billwuhao/ComfyUI_AudioTools)是一个专门处理音频的神奇工具箱。就像你平时用的各种音频处理软件一样,它能帮你处理音频文件的各种需求。
这个插件就像一个万能的音频处理厨房,里面有各种各样的工具,可以帮你:
- 把音乐和人声分开(就像把蛋黄和蛋清分开一样)
- 给视频自动配字幕(就像给电影配字幕一样)
- 调节音频的音量、速度、音调(就像调节收音机的音量和频率)
- 录制音频和去除静音部分(就像录音机一样)
- 给音频加上水印(就像给照片加水印防盗用)
- 让工作流程暂停(就像遥控器的暂停键)
2. 如何安装
安装很简单,就像下载一个手机APP一样:
- 打开你的ComfyUI文件夹
- 找到
custom_nodes文件夹 - 在这个文件夹里打开命令行工具
- 输入以下命令:
git clone https://github.com/billwuhao/ComfyUI_AudioTools.git
cd ComfyUI_AudioTools
pip install -r requirements.txt
特别注意:
- 需要把
extra_help_file.yaml.example改名为extra_help_file.yaml - 在这个文件里添加你的音频文件夹路径,比如:
audios_dir: D:\AIGC\ComfyUI-Data\audios_input
3. 节点逐一解析
3.1 音频降噪增强节点 (Audio Denoising Enhancement)
这个节点就像一个音频清洁工,专门清理音频里的噪音,让声音变得更清晰,就像给音频洗澡一样。
3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入音频 | audio_input | 音频文件 | 任意音频 | 就像把脏衣服放进洗衣机 | 需要处理的原始音频数据 | 连接从其他节点来的音频 |
| 模型路径 | model_path | 文件路径 | 默认路径 | 就像选择用哪种洗衣粉 | 降噪模型的存储位置 | 使用默认的MossFormer2模型 |
| 增强强度 | enhancement_strength | 0.1-1.0 | 0.5 | 就像调节洗衣机的清洁强度 | 控制降噪处理的强度 | 0.3轻微降噪,0.8强力降噪 |
3.3 暂停工作流节点 (Pause Workflow)
这个节点就像遥控器的暂停键,让整个工作流程停下来等你检查,就像看电视时按暂停键一样。
3.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 暂停条件 | pause_condition | True/False | True | 就像开关灯的开关 | 决定是否暂停工作流程 | True时暂停,False时继续 |
| 提示信息 | message | 文本 | "请检查" | 就像便签纸上的提醒 | 暂停时显示的提示文字 | "请检查音频质量" |
| 输入数据 | input_data | 任意数据 | 来自前面节点 | 就像传递接力棒 | 需要暂停检查的数据 | 连接需要检查的音频或其他数据 |
3.5 音频加载节点 (Audio Loading)
这个节点就像一个音频文件管家,帮你从电脑里找到并加载音频文件,就像从抽屉里找东西一样。
3.6 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 文件路径 | file_path | 文件路径 | 空 | 就像告诉别人你的家庭地址 | 音频文件的完整路径 | "C:\Music\song.wav" |
| 自动搜索子文件夹 | include_subdirs | True/False | True | 就像翻遍所有抽屉找东西 | 是否在子文件夹中搜索 | True会搜索所有子文件夹 |
| 文件格式 | file_format | wav/mp3/flac等 | auto | 就像选择听哪种类型的音乐 | 指定加载的音频格式 | auto自动识别所有格式 |
| 开始时间 | start_time | 秒数 | 0 | 就像快进到电影的某个时间点 | 从音频的第几秒开始加载 | 30表示从第30秒开始 |
| 结束时间 | end_time | 秒数 | -1 | 就像设置闹钟的结束时间 | 加载到音频的第几秒结束 | -1表示加载到最后 |
3.7 字符串编辑节点 (String Editing)
这个节点就像一个文本编辑器,帮你修改和处理文字,就像用记事本改文章一样。
3.8 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入文本 | input_text | 文本 | 空 | 就像在纸上写字 | 需要编辑的原始文本 | "这是原始文本" |
| 替换旧文本 | old_text | 文本 | 空 | 就像找到要改的错别字 | 需要被替换的文本部分 | "错别字" |
| 替换新文本 | new_text | 文本 | 空 | 就像用正确的字替换错字 | 用来替换的新文本 | "正确字" |
| 大小写转换 | case_conversion | upper/lower/title | none | 就像把字母变大写或小写 | 文本大小写转换方式 | upper全部大写,lower全部小写 |
| 去除空格 | strip_spaces | True/False | False | 就像删除文字前后的空白 | 是否去除文本前后的空格 | True删除多余空格 |
3.9 视频自动加字幕节点 (Auto Add Subtitles)
这个节点就像一个聪明的字幕师,自动听声音然后给视频配上字幕,就像看外语电影时的字幕一样。
3.10 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入视频 | video_input | 视频文件 | 任意视频 | 就像把DVD放进播放器 | 需要添加字幕的视频文件 | 连接视频文件 |
| 语言识别 | language | 语言代码 | auto | 就像选择听哪种语言 | 识别音频中的语言类型 | "zh"中文,"en"英文,auto自动识别 |
| 字幕大小 | subtitle_size | 数字 | 24 | 就像调节电视字幕的大小 | 字幕文字的显示大小 | 24是中等大小,36是大字幕 |
| 字幕位置 | subtitle_position | top/bottom/center | bottom | 就像选择字幕显示在哪里 | 字幕在视频中的位置 | bottom在底部,top在顶部 |
| 字幕颜色 | subtitle_color | 颜色代码 | white | 就像选择用什么颜色的笔写字 | 字幕文字的颜色 | white白色,yellow黄色 |
| 背景透明度 | background_opacity | 0.0-1.0 | 0.5 | 就像调节背景的透明程度 | 字幕背景的透明度 | 0.0完全透明,1.0完全不透明 |
3.11 音频裁剪节点 (Audio Cropping)
这个节点就像一把剪刀,能把音频按照你想要的时间段剪出来,就像剪视频片段一样。
3.12 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入音频 | audio_input | 音频文件 | 任意音频 | 就像把一整卷胶带放到桌上 | 需要裁剪的原始音频 | 连接音频文件 |
| 开始时间 | start_time | 秒数 | 0 | 就像找到剪刀要剪的起始位置 | 裁剪开始的时间点 | 30表示从第30秒开始剪 |
| 结束时间 | end_time | 秒数 | 10 | 就像找到剪刀要剪的结束位置 | 裁剪结束的时间点 | 60表示剪到第60秒 |
| 淡入时间 | fade_in_duration | 秒数 | 0 | 就像音量慢慢从小变大 | 音频开始时的淡入时间 | 2表示2秒内音量逐渐增大 |
| 淡出时间 | fade_out_duration | 秒数 | 0 | 就像音量慢慢从大变小 | 音频结束时的淡出时间 | 3表示3秒内音量逐渐减小 |
3.13 音频处理节点 (Audio Processing)
这个节点就像一个音频调节台,可以调整音量、速度、音调等,就像DJ调音台一样。
3.14 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入音频 | audio_input | 音频文件 | 任意音频 | 就像把音响连到调音台 | 需要处理的音频数据 | 连接音频文件 |
| 音量调节 | volume | 0.1-2.0 | 1.0 | 就像调节收音机的音量旋钮 | 音频音量的倍数调节 | 0.5降低一半音量,2.0提高一倍音量 |
| 速度调节 | speed | 0.5-2.0 | 1.0 | 就像调节播放器的播放速度 | 音频播放速度的倍数 | 0.8慢速播放,1.5快速播放 |
| 音调调节 | pitch | -12到12 | 0 | 就像调节钢琴的音调高低 | 音频音调的半音调节 | -3降低3个半音,+5升高5个半音 |
| 回声强度 | echo_strength | 0.0-1.0 | 0.0 | 就像在山谷里喊话的回声 | 添加回声效果的强度 | 0.3轻微回声,0.7强烈回声 |
| 回声延迟 | echo_delay | 毫秒 | 500 | 就像回声隔多久才听到 | 回声延迟的时间 | 300毫秒较短,1000毫秒较长 |
3.15 去除静音节点 (Remove Silence)
这个节点就像一个智能编辑器,自动找出音频中的静音部分并删除,就像剪辑视频时去掉空白片段。
3.16 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入音频 | audio_input | 音频文件 | 任意音频 | 就像把录音带放进机器 | 需要处理的音频数据 | 连接音频文件 |
| 静音阈值 | silence_threshold | -60到0 | -30 | 就像设置多小的声音算静音 | 判断静音的音量阈值 | -20比较严格,-40比较宽松 |
| 最短静音时长 | min_silence_duration | 毫秒 | 500 | 就像设置多长时间的安静算静音 | 删除静音的最短时间 | 300毫秒删除短暂静音,1000毫秒删除长静音 |
| 保留静音长度 | keep_silence_duration | 毫秒 | 100 | 就像在删除静音时留一点点 | 删除静音后保留的时间 | 100毫秒留一点点,0毫秒完全删除 |
3.17 录音节点 (Recording)
这个节点就像一个录音机,可以录制声音,就像用手机录音一样。
3.18 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 录音时长 | duration | 秒数 | 10 | 就像设置录音机录多长时间 | 录音的持续时间 | 30表示录30秒 |
| 采样率 | sample_rate | 数字 | 44100 | 就像设置录音的清晰度 | 音频采样频率 | 44100是CD质量,22050是一般质量 |
| 声道数 | channels | 1或2 | 1 | 就像选择单声道还是立体声 | 音频声道数量 | 1是单声道,2是立体声 |
| 音频格式 | audio_format | wav/mp3等 | wav | 就像选择保存成什么格式 | 录音文件的保存格式 | wav质量高,mp3文件小 |
| 保存路径 | save_path | 文件路径 | 默认路径 | 就像选择录音保存在哪里 | 录音文件的保存位置 | "C:\Recordings\record.wav" |
3.19 音频水印嵌入节点 (Audio Watermark Embedding)
这个节点就像给音频盖章,在音频里加入隐藏的标记,就像给照片加水印防止盗用。
3.20 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入音频 | audio_input | 音频文件 | 任意音频 | 就像把要盖章的文件拿出来 | 需要嵌入水印的音频 | 连接音频文件 |
| 水印信息 | watermark_message | 文本 | 空 | 就像选择盖什么样的章 | 要嵌入的水印信息 | "版权所有" |
| 水印强度 | watermark_strength | 0.1-1.0 | 0.5 | 就像选择盖章的深浅 | 水印嵌入的强度 | 0.3不明显,0.8很明显 |
| 是否启用 | enable_watermark | True/False | True | 就像选择是否要盖章 | 是否启用水印嵌入 | True启用,False不启用 |
| 检测模式 | detection_mode | True/False | False | 就像选择是检测还是添加 | 是否为检测水印模式 | True检测水印,False添加水印 |
3.21 音乐人声分离节点 (Music/Vocal Separation)
这个节点就像一个音乐分离器,能把歌曲中的人声和背景音乐分开,就像把混合的颜料分开一样。
3.22 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入音频 | audio_input | 音频文件 | 任意音频 | 就像把混合的汤放进分离器 | 需要分离的音频文件 | 连接包含人声和音乐的音频 |
| 分离模式 | separation_mode | vocal/music/both | both | 就像选择要分离出什么 | 分离输出的类型 | vocal只要人声,music只要音乐,both都要 |
| 分离质量 | separation_quality | low/medium/high | medium | 就像选择分离的精细程度 | 分离处理的质量级别 | high质量最好但速度慢 |
| 模型选择 | model_type | 模型名称 | 默认模型 | 就像选择用哪种分离工具 | 使用的分离算法模型 | 不同模型适合不同音乐类型 |
3.23 人声提取节点 (Vocal Extraction)
这个节点专门提取人声,就像用筛子把人声从音乐中筛选出来。
3.24 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入音频 | audio_input | 音频文件 | 任意音频 | 就像把要筛选的材料放进筛子 | 包含人声的音频文件 | 连接音频文件 |
| 提取强度 | extraction_strength | 0.1-1.0 | 0.8 | 就像调节筛子的密度 | 人声提取的强度 | 0.5温和提取,0.9强力提取 |
| 背景抑制 | background_suppression | 0.0-1.0 | 0.7 | 就像调节过滤背景噪音的程度 | 背景音乐的抑制程度 | 0.3保留部分背景,0.9几乎去除背景 |
| 频率范围 | frequency_range | Hz范围 | 80-8000 | 就像选择听哪个频率范围的声音 | 人声频率的处理范围 | 80-8000覆盖大部分人声 |
3.25 音频合并节点 (Audio Merging)
这个节点就像一个音频混合器,把多个音频文件混合成一个,就像调制鸡尾酒一样。
3.26 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频1 | audio_input1 | 音频文件 | 任意音频 | 就像准备第一种饮料 | 第一个音频输入 | 连接第一个音频文件 |
| 音频2 | audio_input2 | 音频文件 | 任意音频 | 就像准备第二种饮料 | 第二个音频输入 | 连接第二个音频文件 |
| 混合比例1 | mix_ratio1 | 0.0-1.0 | 0.5 | 就像调节第一种饮料的分量 | 第一个音频的音量比例 | 0.7表示第一个音频较大声 |
| 混合比例2 | mix_ratio2 | 0.0-1.0 | 0.5 | 就像调节第二种饮料的分量 | 第二个音频的音量比例 | 0.3表示第二个音频较小声 |
| 混合模式 | mix_mode | overlay/sequential | overlay | 就像选择是同时混合还是依次播放 | 音频混合的方式 | overlay同时播放,sequential依次播放 |
3.27 音频连接节点 (Audio Concatenation)
这个节点就像胶水,把多个音频文件首尾相连,就像把多段录音连成一个长录音。
3.28 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频列表 | audio_list | 音频文件数组 | 空数组 | 就像把要连接的磁带排成一列 | 需要连接的音频文件列表 | 连接多个音频输入 |
| 间隔时间 | gap_duration | 秒数 | 0 | 就像设置磁带之间的空隙 | 音频之间的间隔时间 | 1表示每个音频间隔1秒 |
| 淡入淡出 | crossfade | 秒数 | 0 | 就像两段音乐之间的过渡效果 | 音频连接处的交叉淡化 | 0.5表示0.5秒的淡入淡出 |
| 音量均衡 | volume_normalize | True/False | False | 就像调节所有音频的音量一致 | 是否统一所有音频的音量 | True让所有音频音量相同 |
3.29 多行提示节点 (Multi-Line Prompt)
这个节点就像一个大的文本框,可以输入很长的文字,就像写日记一样。
3.30 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 文本内容 | text_content | 多行文本 | 空 | 就像在一张大纸上写很多文字 | 多行文本输入内容 | 可以写很多行的说明文字 |
| 文本编码 | text_encoding | utf-8/ascii等 | utf-8 | 就像选择用什么语言写字 | 文本的编码格式 | utf-8支持中文 |
| 换行符处理 | line_break_handling | keep/remove/replace | keep | 就像选择怎么处理换行 | 对换行符的处理方式 | keep保持原样,remove删除换行 |
4. 使用技巧和建议
4.1 音频质量优化技巧
- 使用高质量的原始音频文件(44.1kHz采样率或更高)
- 在处理前先用降噪节点清理音频
- 调节参数时从小数值开始,逐步增加到合适的效果
4.2 工作流程建议
- 先用暂停节点检查中间结果,确保每步都正确
- 使用音频加载节点时,建议把音频文件放在统一的文件夹中
- 处理长音频时,可以先用裁剪节点分段处理
4.3 性能优化建议
- 大文件处理时,关闭不必要的实时预览
- 批量处理时,使用较低的处理质量设置先测试
- 定期清理临时文件,保持系统流畅
5. 常见问题解答
Q1: 为什么音频加载失败?
A: 检查文件路径是否正确,确保音频文件格式支持(wav、mp3、flac等),文件没有损坏。
Q2: 人声分离效果不好怎么办?
A: 尝试调整分离质量设置,或者使用不同的模型。有些歌曲的人声和音乐混合得很紧密,分离效果会受限。
Q3: 水印嵌入后听不出来正常吗?
A: 正常的,水印是隐藏的,肉耳听不出来。可以用检测模式验证水印是否成功嵌入。