Nodes/comfyui-sloppyaudio/SloppyAudio Stem Separate
ComfyUI Node

SloppyAudio Stem Separate

Vocal extraction and karaoke splits, without leaving ComfyUI

By forcepusher·Created 4 months ago·Updated 4 months ago· 1
SloppyAudio Stem Separate
  • audio
  • vocals
  • drums
  • bass
  • other
deviceauto
batch_size2

This is the node the pack is really about. SloppyAudio Stem Separate takes one audio input and splits it into four stems - vocals, drums, bass, and other - using a machine-learning source-separation model, entirely locally. No external tool, no API, no upload-your-track-and-pray. You get the instrumental minus the voice, or the voice alone, or the drums isolated, straight out of a ComfyUI node.

If you've ever wanted to pull a vocal out for a remix, strip the drums off a track to practice over, make a karaoke version, or feed a clean isolated voice into an audio-driven avatar workflow, this is the missing piece. It's also the honest answer to "why would I want audio tools in an image/video node graph" - the audio layer of ComfyUI gets bolted on precisely for this kind of finishing work, and stem separation is one of the few jobs it does that nothing built-in touches.

The inputs that matter

  • audio - required, any AUDIO input (ComfyUI's Load Audio, a generated track, output from another audio node).
  • device - auto (default, uses CUDA if you have it, otherwise CPU), cuda, or cpu. Pick cpu explicitly if you want to keep VRAM free for the video side of your pipeline.
  • batch_size - 1 to 16, default 2. It's how many audio chunks the model processes at once; on a GPU, higher is faster but eats more VRAM. Default is a safe starting point.

Four outputs come out the far side: vocals, drums, bass, other. Crucially, the README says to connect only the stems you actually need - ComfyUI will skip the rest of the graph if you don't wire them, which saves compute on long tracks.

How it works

Under the hood it's BS-RoFormer - the Band-Split RoFormer architecture from the music source separation scene, the same family as the heavier models people run through UVR. This pack uses the mini variant, HiDolen/Mini-BS-RoFormer-V2-46.8M: 46.8 million parameters, about 94 MB of weights, which auto-downloads from HuggingFace on first run into ComfyUI/models/sloppyaudio/bs-roformer-v2-46.8m/. That's a notably small footprint compared to the full-size BS-RoFormer V2 or HTDemucs - which means it runs on modest hardware and downloads in seconds, but also means the separation is "good enough for dubbing and remixing" rather than studio-grade.

The implementation is worth calling out: the pack ships a standalone RoFormer loader, so it does not pull in the transformers dependency. In an ecosystem where the default audio-layer failure mode is one pack breaking another over shared dependency versions, a node that keeps its stack to torch/numpy/librosa/safetensors is a small mercy.

Mechanically it resamples your audio to 44.1 kHz (the model's native rate) for separation, then back to your original sample rate on the way out, so the stems match your source. Mono input is handled by duplicating to stereo for the model and collapsing back to mono in the stems - you get what you put in, dimensionally.

Installing it

Same shared install as the rest of the pack. ComfyUI Manager → search sloppyaudio → Install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/forcepusher/comfyui-sloppyaudio

Restart ComfyUI. Dependencies auto-install via Manager. The one extra thing this node needs: an internet connection on first run for the ~94 MB model download. It happens automatically with a progress bar in the console; you don't download anything by hand.

Where people get burned

  • "It's stuck on the first run." It's probably not stuck - it's downloading the model. Watch the console for the [SloppyAudio] Downloading BS-RoFormer progress line and give it a minute.
  • Out of memory on long tracks. If separation crashes on a full song, lower batch_size (try 1) or force device to cpu. GPU memory is usually the constraint.
  • Expecting Demucs-grade quality. The "Mini" in the model name is doing a lot of work. It'll separate a busy mix surprisingly well for 46.8M params, but the big models from the UVR ecosystem still win on messy or heavily-produced tracks. Know what you're paying for: speed and portability over the last 5% of isolation quality.
  • Empty outputs. If the input audio is None (no wire), the node returns silent placeholders instead of erroring - check your upstream wire.

Stem separation in ComfyUI used to mean bouncing files to an external tool and back. This node closes that loop, and at ~94 MB of model it's cheap enough to just try.

Categoryaudio/SloppyAudio

Inputs (3)

NameTypeDefaultDescription
audioAUDIO
deviceoptCOMBOauto3 options: auto, cuda, cpu
batch_sizeoptINT21–16

Outputs (4)

NameTypeDescription
vocalsAUDIO
drumsAUDIO
bassAUDIO
otherAUDIO