Nodes/ComfyUI Signal Processing/(SP) Baxandall 3 Band EQ
ComfyUI Node

(SP) Baxandall 3 Band EQ

The tone control that fixes muddy synth pads

By c0ffymachyne·Created 2 years ago·Updated about a year ago· 22
(SP) Baxandall 3 Band EQ
  • audio_input
  • processed_audio
bass_gain_db1.0
mid_gain_db0.0
treble_gain_db1.0
low_freq100
mid_freq1000
high_freq10000
mid_q0.7

Every generated pad sounds slightly wrong in the same way: too boomy at the bottom, boxy in the middle, fizzy on top. This is the node that fixes that. (SP) Baxandall 3 Band EQ is a proper three-band tone control - bass shelf, mid peaking bell, treble shelf - and it's the one I'd reach for right after generating anything with a synth or PaulStretch in this pack. It does one job (tone shaping) and does it without touching your level.

The name comes from the classic Baxandall tone-control circuit, the gentle wide-band bass/treble shelf you'll find in real hi-fi gear. The implementation here doesn't simulate the analog circuit; it applies the standard shelf and peaking filter equations from Robert Bristow-Johnson's Audio EQ Cookbook, the same math behind most plugin EQs. That means it behaves predictably: shelves roll off smoothly instead of ringing like a surgical parametric band, which is exactly what you want for "make it warmer," not "carve out 3 kHz."

The inputs that matter

Most of the eight inputs are self-explanatory once you read them as a three-band EQ:

  • bass_gain_db and treble_gain_db - the two shelves, ±20 dB, default +1 dB. This is where 90% of your actual work happens.
  • mid_gain_db - the peaking band between them, default 0 dB.
  • low_freq / mid_freq / high_freq - the corner or center frequencies, defaulting to 100 Hz, 1 kHz, and 10 kHz. Sensible for music; bump mid_freq toward 2–3 kHz if you're trying to tame harshness in a vocal.
  • mid_q - the quality factor of the mid band, default 0.7. Lower Q = wider bell. At 0.7 you get a broad, musical peak; crank it toward 2+ and you're notching.

Everything feeds a single processed_audio output that drops straight back into your audio chain.

How it behaves (the part people miss)

Two things make this node friendlier than it looks. First, it runs the filters through torchaudio's biquad implementation, so it's fast and it'll happily run on GPU if you have one. Second - and this is the pack's signature move - it measures the input's integrated loudness in LUFS before filtering, then re-normalizes the output back to that exact level afterward. EQ usually changes perceived loudness, and this silently cancels that out, so you can A/B your settings without the louder version fooling you into thinking it's better.

The one trap: it's an EQ, not a fixer. If your source is genuinely clipped or monophonic-boring, boosting a shelf just makes that louder. Stack it after a Normalizer, before a Limiter, and you have a very respectable mastering chain for a ComfyUI workflow.

Installing it

Same drill as any ComfyUI custom node. Easiest route: ComfyUI Manager → "Install Custom Nodes" → search ComfyUI Signal Processing and install. By hand:

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

then restart ComfyUI. The pack's requirements.txt pulls in scipy, pyfar, numpy, torch, torchaudio, pyloudnorm, and cupy-cuda11x - Manager installs those for you, or you pip install -r requirements.txt yourself. One warning: the repo is openly labeled "work in progress," and cupy-cuda11x is imported at startup by the Limiter, so if the whole pack fails to load, a CuPy/CUDA-version error is the usual suspect, not this node.

If you only need a two-band version, the pack also ships (SP) Baxandall EQ - same shelves, no mid band, fewer knobs. The 3-band is the better default for real shaping.

CategorySignal Processing

Inputs (8)

NameTypeDefaultDescription
audio_inputAUDIO
bass_gain_dbFLOAT1.0-20–20
mid_gain_dbFLOAT0.0-20–20
treble_gain_dbFLOAT1.0-20–20
low_freqFLOAT10020–500
mid_freqFLOAT1000200–5000
high_freqFLOAT100002000–20000
mid_qFLOAT0.70.1–10

Outputs (1)

NameTypeDescription
processed_audioAUDIO