Audio Stem Splitter (Freq Band) π°
Bass, Mid, High β Not the 'Vocal Remover' You Hope It Is
- audio
- bass
- mid
- high
- summary
Name sets an expectation this node doesn't meet, so let's kill the suspense: despite the "Stem Splitter" branding, this is not source separation. It won't pull vocals out of a full mix, and it won't isolate an instrument. What it does is split audio into three frequency bands - bass, mid, high - using FFT filtering. If you came here hoping for a vocal remover, this isn't it, and the pack's own docs say so plainly. Once you know that, it's still a genuinely useful tool for a specific set of jobs.
What it actually does
The mechanism is clean: run an FFT on the audio, split the spectrum at two crossover frequencies, and inverse-FFT each band back into its own stream. Everything below low_crossover_hz (default 250) is the bass band, everything between the two crossovers is the mid, everything above high_crossover_hz (default 4000) is the high. A raised-cosine taper_fraction (default 0.15) softens the cut at each crossover so you don't get the harsh ringing a brick-wall filter would cause.
The three outputs - bass, mid, high - are real AUDIO streams you can wire anywhere independently. That's the whole point: process each band differently, then recombine. The pack's own suggested combos are the good ones:
- Sidechain only the bass band to a kick, so the low end ducks while mids/highs stay steady.
- Reverb only the highs for a bright, airy tail without muddying the lows.
- Add punch to just the mid band where the "body" of a voice or guitar lives.
This is also a legit EQ workflow: strip the bass, process it, mix it back at a different level, and you've done the kind of band-splitting multiband processors do - by hand, visibly, in your graph.
The crossover choices
These are the only knobs that matter. 250Hz is where "thump" lives; 4kHz is roughly where "air and sibilance" begins. For a voice, the mid band (250β4k) carries the intelligibility, which is why band-specific processing works so well there. If you widen the band ranges you get closer to an EQ than a stem splitter - useful, but don't expect the bands to isolate "the guitar" or "the snare," because no frequency range maps cleanly to one instrument.
Install and gotchas
ComfyUI Manager β search OmniNodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/TensorVizion/OmniNodes
Restart ComfyUI; it's under TensorVizion/Audio. Pure NumPy FFT math, no model downloads - which is exactly why it's fast and dependency-free, and also why it can't do what ML source separators (Demucs and friends) do. If you need actual vocal isolation, that's a different category of tool entirely. For frequency-splitting, remixing, and band-specific effects, this is the fast, free, and predictable option.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | β | |
| low_crossover_hz | FLOAT | 25020β2000 | β |
| high_crossover_hz | FLOAT | 4000500β18000 | β |
| taper_fraction | FLOAT | 0.150β0.5 | β |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| bass | AUDIO | β |
| mid | AUDIO | β |
| high | AUDIO | β |
| summary | STRING | β |