Nodes/RyanOnTheInside/Frequency Filter Custom βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
ComfyUI Node

Frequency Filter Custom βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜

Build a lowpass/highpass/bandpass filter, and chain more on top

By ryanontheinsideΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 852
Frequency Filter Custom βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
  • previous_filter
  • FREQUENCY_FILTER
β—„filter_typeβ–Ύβ–Ί
β—„order4β–Ί
β—„cutoff1000β–Ί

This node doesn't filter audio by itself - it builds a filter. That's the distinction that trips people up when they first drop it into a graph and nothing happens: this outputs a FREQUENCY_FILTER object, a spec for a filter, which some other node elsewhere in the pack actually applies to a real audio signal. Think of it as configuring the filter, not running it.

How it works

Classic DSP filter design: pick a type, an order, and a cutoff, and it constructs a filter you can chain with others before applying it. The previous_filter input is the chaining mechanism - feed the output of one Frequency Filter Custom node into the previous_filter input of another, and you build up a multi-stage filter (say, a highpass to cut rumble plus a lowpass to tame harshness) instead of being limited to one filter type per node.

The inputs and outputs that matter

  • filter_type (required) - lowpass (keeps content below the cutoff, cuts everything above), highpass (the reverse - cuts rumble and low-end mud), or bandpass (keeps a range around the cutoff, cuts both above and below).
  • order (default 4, range 1–10) - filter steepness. Higher order means a sharper cutoff (frequencies just past the threshold get cut hard) but can introduce more phase distortion; lower order rolls off more gently. 4 is a reasonable, musical default.
  • cutoff (default 1000 Hz, range 20–20000 Hz) - where the filter acts. Standard audible range: 20 Hz is the low end of human hearing, 20,000 Hz the high end.
  • previous_filter (optional, type FREQUENCY_FILTER) - chain another filter stage on top of an existing one.
  • Output - a single FREQUENCY_FILTER object, which you then feed into whichever node in this pack applies a frequency filter to actual audio.

How to install it

Via ComfyUI Manager: search "RyanOnTheInside," install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside.git
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt

then restart ComfyUI. No models needed - this is a filter-design node, not something that loads weights.

Common issues & troubleshooting

Nothing happens to your audio. This is the number one gotcha with this node: it produces a FREQUENCY_FILTER spec, not filtered audio. If you connected it directly where an AUDIO input was expected, ComfyUI will refuse the connection outright (type mismatch) - you need the pack's audio-filter-application node in between this and your actual signal.

Bandpass sounds thin or nasal. That's expected behavior at higher order values on a narrow bandpass - you're aggressively cutting everything outside a range, and a high order makes that cut steep. Lower the order, or widen your intent by using two chained filters (a highpass plus a lowpass) instead of a single tight bandpass if you want a gentler result.

Chained filters interact unpredictably. Filters compound - a highpass at 200 Hz chained with a lowpass at 8000 Hz doesn't just "pass 200–8000 Hz cleanly," each stage has its own rolloff curve based on its order, and they stack. If a chain sounds off, isolate each stage (bypass the chain, test one filter at a time) before assuming the chaining mechanism itself is broken.

CategoryRyanOnTheInside/Audio/Filters

Inputs (4)

NameTypeDefaultDescription
filter_typeCOMBOType of filter (lowpass, highpass, bandpass)
orderINT41–10Filter order (1 to 10)
cutoffFLOAT100020–20000Cutoff frequency (20 to 20000 Hz)
previous_filteroptFREQUENCY_FILTERPrevious filter chain to append to (optional)

Outputs (1)

NameTypeDescription
FREQUENCY_FILTERFREQUENCY_FILTERβ€”