Nodes/ComfyUI Signal Processing/(SP) Convolution Reverb
ComfyUI Node

(SP) Convolution Reverb

Convolution reverb that doesn't need a DAW

By c0ffymachyne·Created 2 years ago·Updated about a year ago· 22
(SP) Convolution Reverb
  • audio_input
  • audio
impulse_response
wet_dry0.50

This is the node that makes generated voices sound like they're in a room instead of on a microphone. (SP) Convolution Reverb takes an impulse response - a recording of how an actual physical space or piece of hardware responds to a burst of sound - and convolves it with your audio. That's the exact same trick every big-name reverb plugin uses, and it's the most "pro result for free" node in this pack.

It's also the one with real community legs. A popular lip-sync dubbing workflow for Latentsync 1.5 in r/StableDiffusion ships with this node baked in - the workflow author's notes literally link to this pack's repo and say "enable the Convolution Reverb node if you want reverb in the generated audio." That's the classic use case: TTS and voice-cloned audio comes out dry and sterile, and a plate reverb makes it sit in a scene.

Setup is the whole job

Unlike the other nodes, this one needs files before it'll do anything. The impulse_response dropdown only lists what it finds in the pack's audio/ir/ folder - which is gitignored, so it doesn't exist until you create it. The README points you at two great, well-licensed sources:

  • Voxengo IRs: https://oramics.github.io/sampled/IR/Voxengo/
  • Greg Hopkins' EMT-140 plate reverb: https://oramics.github.io/sampled/IR/EMT140-Plate/

Grab the WAVs and drop them in like this:

ComfyUI/custom_nodes/ComfyUI_SignalProcessing/audio/ir/Voxengo/
ComfyUI/custom_nodes/ComfyUI_SignalProcessing/audio/ir/EMT-140-Plate/

Any .wav, .mp3, .ogg, .m4a, .flac, or .mp4 in that folder tree shows up in the dropdown. Start with a small room IR or the plate - they're forgiving.

The inputs

  • impulse_response - the IR file to convolve with.
  • audio_input - what you're reverbing.
  • wet_dry - the mix, 0.0 (all dry) to 1.0 (all wet), default 0.5. This is the knob you'll actually live on. Convolution reverb from an IR is powerful; 0.5 is a sensible first click, and most of my final mixes sit at 0.15–0.3.

One audio output feeds your chain. Under the hood it's a per-channel conv1d with the IR reversed and normalized, wet/dry blended, and - this pack's signature move - the output re-normalized to the input's LUFS so slapping on reverb doesn't suddenly double your perceived volume.

Where people get burned

  • The IR dropdown is empty until you've created audio/ir/ and dropped files in. That's not a bug.
  • Mismatched sample rates are handled for you (the IR gets resampled to your audio's rate), so don't overthink it.
  • If you feed it a mono track and a stereo IR it'll collapse the IR to mono; stereo in gets handled per channel. Fine either way, just don't expect a mono voice to come out with lush width - that's what Stereo Width is for.

Installing it

ComfyUI Manager → "Install Custom Nodes" → search ComfyUI Signal Processing, or:

cd ComfyUI/custom_nodes
git clone https://github.com/c0ffymachyne/ComfyUI_SignalProcessing

then restart ComfyUI. Dependencies from requirements.txt (scipy, pyfar, torchaudio, pyloudnorm, cupy-cuda11x, ...). The repo is a work in progress, and because it imports the CuPy-based Limiter at startup, a CUDA/cupy mismatch is the most common reason the pack - and this reverb - won't load. Worth knowing, because once it loads, this node is one of the few genuinely "just works" wins in ComfyUI audio.

CategorySignal Processing

Inputs (3)

NameTypeDefaultDescription
impulse_responseCOMBO0 options:
audio_inputAUDIO
wet_dryFLOAT0.500–1

Outputs (1)

NameTypeDescription
audioAUDIO