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

Audio Filter βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜

Apply a frequency filter chain to audio inside ComfyUI

By ryanontheinsideΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 852
Audio Filter βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
  • audio
  • filters
  • AUDIO

ComfyUI can move audio around fine - load it, save it, feed it into ACE-Step or a lip-sync node - but "cut everything below 150Hz" or "notch out that 60Hz hum" isn't something the stock nodes give you. Audio Filter is that missing piece. It's a plain application node: it doesn't define the filter itself, it just takes a filter spec you've already built and runs your audio through it.

That split matters. This node has exactly two required inputs - audio and filters - and one output. The actual filter definition (what frequencies, what kind of cut, what order) is assembled upstream, in the pack's own Audio/FrequencyBands family. Audio Filter's whole job is to be the last step in the chain: take the finished filter object and apply it.

How it works

Under the hood this is a standard digital filter application - the filters input is a FREQUENCY_FILTER, a structured object rather than a raw number, so ComfyUI enforces that it can only come from another node in this pack that actually produces one. You build your band(s) upstream, wire the result into filters, wire your source into audio, and get filtered AUDIO out. It's a pure transform - no state, no side effects - so you can drop it anywhere in an audio chain: right after a loader to clean up a recording, mid-pipeline before a mixdown, or between stages of an ACE-Step music workflow.

Inputs and outputs

  • audio (required, AUDIO) - your source clip.
  • filters (required, FREQUENCY_FILTER) - the filter definition, built elsewhere in the Audio/FrequencyBands nodes in this same pack. This is the one beginners trip on: you can't type a cutoff frequency directly into this node.
  • Output - a single AUDIO, ready to feed into whatever plays, saves, or further processes it.

There's no strength slider, no wet/dry mix here - that kind of control lives on whatever node built the FREQUENCY_FILTER in the first place. Audio Filter itself is deliberately dumb, which is the point: it's the generic "apply this" step so the actual filter design work happens once, upstream, and can be reused.

Installing it

Grab it through ComfyUI Manager - search RyanOnTheInside - or clone it by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside

Then pip install -r requirements.txt inside the cloned folder before restarting ComfyUI. The pack's audio tools lean on librosa and related analysis libraries under the hood, so skipping that install step is the single most common reason these nodes fail to import - you'll see a red node or an import error in the console rather than a working widget.

Common issues

The type mismatch is the recurring snag: filters wants a FREQUENCY_FILTER, and if you try to wire in anything else - a float, a different audio-band node's output - ComfyUI will simply refuse the connection. That's usually a sign you're missing the upstream node that actually builds the filter spec, not a bug in this one.

Beyond that, this is one of the simpler nodes in the pack, so most of what bites people is generic to the whole install: if any RyanOnTheInside node is missing or red on startup, it's almost always the Python dependencies, not this specific node. Reinstall the requirements before assuming the node itself is broken - the pack's own guidance after the 2.0 rewrite is that if updates through ComfyUI Manager stop landing cleanly, don't patch around it; uninstall the folder entirely and reclone rather than fighting a half-updated install.

CategoryRyanOnTheInside/Audio/Filters

Inputs (2)

NameTypeDefaultDescription
audioAUDIOInput audio to be filtered
filtersFREQUENCY_FILTERFrequency filters to be applied

Outputs (1)

NameTypeDescription
AUDIOAUDIOβ€”