1. 插件简介
ComfyUI SignalProcessing 插件是一个专为 ComfyUI 设计的音频处理工具包,让你能够在 ComfyUI 中直接处理和操作音频文件。
插件地址: https://github.com/c0ffymachyne/ComfyUI_SignalProcessing
这个插件就像是给 ComfyUI 装上了一套专业的音响设备,让原本只能处理图片的工具也能玩转音频。想象一下,你可以把音频拉长、调节音色、添加混响效果,甚至生成全新的音频片段 - 就像用修图软件处理照片一样简单。
能带来什么效果:
- 把音频拉长到原来的100倍而不变音调(制作氛围音效)
- 调节音频的低音、中音、高音(就像调节音响的音效)
- 添加各种混响效果(模拟在不同房间里的声音)
- 生成合成器音色(创造电子音乐声音)
- 对音频进行各种滤波处理(清理杂音或突出特定频率)
2. 如何安装
方法一:通过 ComfyUI Manager 安装
- 打开 ComfyUI Manager
- 搜索 "SignalProcessing"
- 点击安装并重启 ComfyUI
方法二:手动安装
- 打开 ComfyUI 的
custom_nodes文件夹 - 在命令行中运行:
git clone https://github.com/c0ffymachyne/ComfyUI_SignalProcessing
- 重启 ComfyUI
3. 节点逐一解析
3.1 SignalProcessingBaxandallEQ - 音质调节器
这个节点就像是音响上的音效调节器,能够调节音频的低音、中音、高音,让声音听起来更好听。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要处理的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 低音增益 | bass_gain_db | -20到+20 | 0 | 调节低音的强弱,就像调节音响的重低音 | 低频段的增益值,单位为分贝 | 想要更有力的低音设置为+5,想要清淡一点设置为-3 |
| 中音增益 | mid_gain_db | -20到+20 | 0 | 调节中音的强弱,主要影响人声 | 中频段的增益值,单位为分贝 | 想要人声更突出设置为+3,想要柔和一点设置为-2 |
| 高音增益 | treble_gain_db | -20到+20 | 0 | 调节高音的强弱,影响清晰度 | 高频段的增益值,单位为分贝 | 想要更清脆的声音设置为+4,想要温暖一点设置为-2 |
| 低音频率 | low_freq | 20-500 | 100 | 定义什么算是低音的分界线 | 低频段的转折频率,单位为赫兹 | 通常设置为100Hz,覆盖大部分低音 |
| 中音频率 | mid_freq | 200-5000 | 1000 | 定义中音的中心频率 | 中频段的中心频率,单位为赫兹 | 通常设置为1000Hz,这是人声的重要频率 |
| 高音频率 | high_freq | 2000-20000 | 10000 | 定义什么算是高音的分界线 | 高频段的转折频率,单位为赫兹 | 通常设置为10000Hz,覆盖大部分高音 |
| 中音宽度 | mid_q | 0.1-10 | 0.7 | 中音调节的范围宽窄 | 中频段的品质因数,控制频带宽度 | 0.7是比较自然的设置,数值越大影响范围越窄 |
3.2 SignalProcessingHarmonicEnhancer - 谐波增强器
这个节点就像是给声音加上"美颜滤镜",能让声音变得更加丰满、更有层次感。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要处理的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 谐波列表 | harmonics | 逗号分隔的数字 | "2,3,4" | 要增强哪些谐波,就像选择要加强哪些颜色 | 要增强的谐波次数列表 | 输入"2,3,4"会增强2倍、3倍、4倍频率的谐波 |
| 模式 | mode | auto/manual | auto | 自动检测音调还是手动设置 | 基频检测模式选择 | auto让系统自动分析,manual需要你手动设置基频 |
| 基础频率 | base_frequency | 20-2000 | 440 | 手动模式下的基础音调 | 基频值,单位为赫兹 | 440Hz是标准A音,可以根据你的音频调整 |
| 增益 | gain_db | -20到+20 | 3 | 增强效果的强度 | 谐波增强的增益值,单位为分贝 | 3dB是适中的增强,太高会失真 |
| 宽度 | width | 0.1-10 | 1.0 | 增强效果的范围宽窄 | 滤波器的带宽参数 | 1.0是标准宽度,越小越精确,越大越宽泛 |
3.3 SignalProcessingNormalizer - 音量标准化器
这个节点就像是音频的"自动调节音量"功能,能把音频调整到合适的音量大小。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频输入 | audio_input | 音频文件 | - | 要处理的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 模式 | mode | lufs/rms/peak/auto | lufs | 选择不同的音量调节方式 | 标准化算法选择 | lufs适合流媒体,rms适合一般用途,peak防止失真 |
| 目标RMS | target_rms | 0.01-1.0 | 0.1 | 目标平均音量大小 | 目标均方根值 | 0.1是适中的音量,0.05比较小声,0.2比较大声 |
| 目标LUFS | target_lufs_db | -30到0 | -14.0 | 目标响度等级(流媒体标准) | 目标响度单位,单位为分贝 | -14dB是Spotify等平台的标准,-16dB更保守 |
| 目标峰值 | target_peak | 0.1-1.0 | 0.9 | 最大音量不超过这个值 | 目标峰值幅度 | 0.9表示最大音量是90%,留10%防止失真 |
| 目标自动 | target_auto | 0.1-1.0 | 0.7 | 自动模式下的目标音量 | 自动模式的目标幅度 | 0.7是比较平衡的设置 |
| 平滑系数 | target_auto_alpha | 0.01-1.0 | 0.1 | 音量变化的平滑度 | 增益调整的平滑因子 | 0.1变化比较平滑,0.01非常平滑,0.5变化较快 |
3.4 SignalProcessingStereoWidener - 立体声扩展器
这个节点就像是给声音戴上"3D眼镜",能让单调的声音变得更有空间感和立体感。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要处理的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 模式 | mode | decorrelation/simple | decorrelation | 选择立体声扩展的方式 | 立体声扩展算法选择 | decorrelation效果更自然,simple效果更直接 |
| 增益 | gain | 0.1-2.0 | 1.0 | 处理后的音量调节 | 输出增益系数 | 1.0保持原音量,0.5减小一半,1.5增大一半 |
| 宽度 | width | 0.0-2.0 | 1.5 | 立体声效果的强度 | 立体声宽度参数 | 1.0是原始宽度,1.5扩展50%,2.0扩展100% |
3.5 SignalProcessingConvolutionReverb - 卷积混响器
这个节点就像是把录音搬到不同的房间里,能模拟各种空间的声音效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 脉冲响应 | impulse_response | IR文件列表 | - | 选择要模拟的空间类型 | 脉冲响应文件选择 | 选择教堂、音乐厅、房间等不同空间的IR文件 |
| 音频输入 | audio_input | 音频文件 | - | 要添加混响的音频 | 输入的音频信号 | 把你的干声音频连接到这里 |
| 干湿比 | wet_dry | 0.0-1.0 | 0.3 | 混响效果的强度 | 混响与原声的混合比例 | 0.0只有原声,1.0只有混响,0.3是30%混响 |
3.6 SignalProcessingPaulStretch - 音频时间拉伸器
这个节点就像是"慢动作播放器",能把音频拉长很多倍而不改变音调。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要拉伸的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 拉伸系数 | stretch_factor | 0.1-100 | 10 | 拉伸的倍数 | 时间拉伸的倍数 | 10表示拉伸到原来的10倍长度 |
| 窗口长度 | window_size_seconds | 0.1-10 | 1.0 | 拉伸的平滑度 | 拉伸算法的窗口长度,单位为秒 | 1.0秒比较平滑,0.5秒保留更多细节 |
3.7 SignalProcessingPadSynth - 垫音合成器
这个节点就像是一个"电子乐器",能够生成各种合成器音色。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 采样率 | samplerate | 22050-96000 | 44100 | 音频质量设置 | 音频采样率,单位为赫兹 | 44100是CD质量,48000是专业标准 |
| 基频 | fundamental_freq | 20-2000 | 440 | 生成音色的基础音调 | 基频值,单位为赫兹 | 440Hz是标准A音,可以设置其他音调 |
| 带宽 | bandwidth_cents | 1-1000 | 100 | 音色的"厚度" | 频率带宽,单位为音分 | 100音分是适中的厚度,越大越厚重 |
| 谐波数量 | number_harmonics | 1-64 | 16 | 音色的丰富程度 | 生成的谐波数量 | 16个谐波比较丰富,32个更加复杂 |
| 谐波幅度 | amplitude_per_harmonic | JSON格式 | [1,0.5,0.3] | 每个谐波的强度 | 各谐波的幅度值列表 | [1,0.5,0.3]表示第1谐波最强,依次减弱 |
| 音频输出 | audios | 音频文件 | - | 生成的音色 | 输出的音频信号 | 连接到其他音频处理节点 |
3.8 SignalProcessingPadSynthChoir - 合唱垫音合成器
这个节点就像是一个"虚拟合唱团",能生成类似人声合唱的音色。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 采样率 | samplerate | 22050-96000 | 44100 | 音频质量设置 | 音频采样率,单位为赫兹 | 44100是标准质量 |
| 基频 | base_freq | 20-2000 | 220 | 合唱的基础音调 | 基频值,单位为赫兹 | 220Hz是较低的A音,适合合唱 |
| 步长 | step_size | 1-24 | 12 | 音符之间的间隔 | 半音阶步长值 | 12表示一个八度的12个半音 |
| 音符数量 | num_notes | 1-16 | 8 | 合唱包含的音符数量 | 生成的音符数量 | 8个音符能形成丰富的和声 |
| 带宽 | bandwidth_cents | 1-1000 | 150 | 合唱的"厚度" | 频率带宽,单位为音分 | 150音分让声音更像人声 |
| 谐波数量 | number_harmonics | 1-64 | 20 | 合唱的复杂程度 | 生成的谐波数量 | 20个谐波模拟人声的复杂性 |
3.9 SignalProcessingFilter - 音频滤波器
这个节点就像是音频的"筛子",能过滤掉不需要的频率,保留需要的部分。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要过滤的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 截止频率 | cutoff | 20-20000 | 1000 | 过滤的分界线频率 | 滤波器的截止频率,单位为赫兹 | 1000Hz是中频,可以根据需要调整 |
| 滤波类型 | filter_type | 4种类型 | lowpass | 选择过滤方式 | 滤波器类型选择 | lowpass保留低频,highpass保留高频 |
| 品质因数 | q_factor | 0.1-10 | 0.707 | 过滤的锐度 | 滤波器的品质因数 | 0.707是标准设置,越高越陡峭 |
3.10 SignalProcessingMixdown - 音频混音器
这个节点就像是"调音台",能把多个音频混合成一个。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频列表 | audios | 音频文件列表 | - | 要混合的多个音频 | 输入的音频信号数组 | 连接多个音频源 |
| 音频输出 | audio | 音频文件 | - | 混合后的音频 | 输出的混合音频信号 | 连接到播放或保存节点 |
3.11 SignalProcessingMelSpectrogram - 音频频谱图生成器
这个节点就像是"音频的X光片",能把音频变成可视化的图像。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要分析的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 图像 | image | 图像文件 | - | 生成的频谱图 | 输出的频谱图像 | 显示音频的频率分布情况 |
3.12 SignalProcessingWaveform - 音频波形图生成器
这个节点就像是"音频的心电图",能把音频的波形变成图像。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要显示的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 图像 | image | 图像文件 | - | 生成的波形图 | 输出的波形图像 | 显示音频的时间域波形 |
3.13 SignalProcessingLoadAudio - 音频加载器
这个节点就像是"音频播放器",能够加载音频文件到工作流中。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频文件 | audio_file | 文件路径 | - | 要加载的音频文件 | 音频文件路径 | 选择你电脑上的音频文件 |
| 增益 | gain | 0.1-2.0 | 1.0 | 音频开始位置 | 音频的起始时间点 | 1.0从头开始,0.5从中间开始 |
3.14 SignalProcessingSaturation - 音频饱和器
这个节点就像是给音频加上"暖色滤镜",能让声音变得更温暖、更有模拟感。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要处理的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 饱和度 | saturation | 0.0-10.0 | 2.0 | 饱和效果的强度 | 饱和度参数 | 2.0是适中的饱和度,5.0效果明显 |
| 模式 | mode | 多种算法 | soft | 选择饱和的类型 | 饱和算法选择 | soft比较温和,hard比较明显 |
3.15 SignalProcessingGpuLimiter - GPU限制器
这个节点就像是"音频的保险丝",防止音频过载失真。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 音频 | audio | 音频文件 | - | 要限制的音频文件 | 输入的音频信号 | 把你的音频文件连接到这里 |
| 阈值 | threshold | -60到0 | -6 | 超过多少音量开始限制 | 限制器的阈值,单位为分贝 | -6dB是常用设置,防止过载 |
| 比例 | ratio | 1:1到∞:1 | 4:1 | 限制的强度 | 压缩比例 | 4:1表示超过阈值的部分压缩到1/4 |
4. 使用技巧和建议
4.1 音频处理的基本流程
- 加载音频:先用 SignalProcessingLoadAudio 加载你的音频文件
- 基础处理:使用 Normalizer 调整音量到合适的水平
- 音质调节:用 BaxandallEQ 调整音色
- 特效处理:根据需要添加混响、饱和、立体声扩展等效果
- 输出控制:最后用 GpuLimiter 防止过载
4.2 常用组合推荐
- 人声处理:LoadAudio → Normalizer → BaxandallEQ → HarmonicEnhancer → ConvolutionReverb
- 氛围音效:LoadAudio → PaulStretch → StereoWidener → ConvolutionReverb
- 电子音乐:PadSynth → Filter → Saturation → StereoWidener
- 音频分析:LoadAudio → MelSpectrogram/Waveform
4.3 参数调节建议
- 从小到大:效果参数建议从小数值开始,逐步增加到满意的程度
- 监听对比:处理前后要对比试听,确保改善而不是破坏音质
- 保存预设:找到好的参数组合后,记录下来方便以后使用
5. 常见问题解答
Q1:为什么音频处理后变得很小声?
A:这是正常现象,使用 Normalizer 节点调整音量到合适的水平即可。
Q2:PaulStretch 拉伸音频后为什么听起来很奇怪?
A:极度拉伸(超过20倍)会产生特殊的音效,这是算法特性。如果不喜欢,可以减小拉伸倍数。
Q3:ConvolutionReverb 找不到脉冲响应文件?
A:需要下载IR文件并放在指定文件夹中,建议使用插件说明中推荐的免费IR文件。
Q4:合成器节点没有声音输出?
A:检查谐波幅度设置是否正确,确保至少第一个谐波的幅度不为0。
Q5:音频处理速度很慢怎么办?
A:音频处理比较消耗计算资源,建议:
- 使用较短的音频片段进行测试
- 关闭不必要的其他程序
- 考虑降低音频质量(采样率)
6. 进阶应用
6.1 创意音效制作
- 逆转混响:使用 ConvolutionReverb 配合逆转的IR文件
- 环境氛围:PaulStretch + ConvolutionReverb 创造空间感
- 电子音色:PadSynth + Filter + Saturation 组合