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

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

Pull vocals, drums, bass, and everything else apart with OpenUnmix

By ryanontheinsideΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 852
Audio Separator βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
  • model
  • audio
  • audio
  • drums_audio
  • vocals_audio
  • bass_audio
  • other_audio

This is the node behind the "separate instruments" line in this pack's own README: feed it a track and a loaded OpenUnmix model, and it splits the mix into vocals, drums, bass, and everything left over as "other." OpenUnmix isn't some in-house guess at source separation - it's a real, established open-source music source separation model, and this node is a thin, straightforward wrapper around it.

Inputs and outputs

  • model (OPEN_UNMIX_MODEL) - you need a separate loader node upstream to produce this; AudioSeparatorSimple itself doesn't load or download anything, it just runs whatever model you hand it.
  • audio - the mix you want separated.

Outputs: audio (a passthrough/reconstructed version), drums_audio, vocals_audio, bass_audio, and other_audio - the standard four-stem split.

How it works, and what to expect

OpenUnmix was trained on well-produced studio recordings, and it shows: a clean stereo mix separates cleanly, and vocals/drums/bass isolation genuinely holds up. Feed it something mono, heavily compressed, or already lossy-encoded multiple times, and expect more bleed between stems - the model's doing its best with less information to work from, not failing outright. Use the split stems for things like feeding AudioFeatureExtractor a drum-only or vocal-only signal, so your reactive effects lock onto one instrument instead of the whole mix.

Installing it

ComfyUI Manager: search RyanOnTheInside, install, restart. Manual:

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

openunmix is in this pack's requirements.txt, so a normal install covers the Python side. What it doesn't cover is model weights: OpenUnmix pulls its pretrained separator weights down on first use, not at install time - so your first separation will pause for a download before it actually starts processing. After that it's cached locally like any other model.

Where people get burned

The download-on-first-use pattern catches people who assume the pack install finished everything - if the node seems to hang the first time you run it, it's probably fetching weights, not stuck. Check your console log to confirm.

Separation quality is entirely a function of your source material, not a setting on this node - there's nothing to tune here that will fix bleedy separation on a bad source file. And a general note that applies to this node as much as anywhere: this pack, like every custom node pack, installs its Python dependencies into the same environment as everything else in your custom_nodes folder. If you've got a lot of other packs installed and something breaks after adding this one, a version conflict on a shared dependency (rather than this node itself) is worth checking first - it's the single most common failure mode in the ComfyUI ecosystem broadly, not specific to this pack.

CategoryRyanOnTheInside/Audio/AudioSeparation

Inputs (2)

NameTypeDefaultDescription
modelOPEN_UNMIX_MODELOpenUnmix model for audio separation
audioAUDIOInput audio to be separated into stems

Outputs (5)

NameTypeDescription
audioAUDIOβ€”
drums_audioAUDIOβ€”
vocals_audioAUDIOβ€”
bass_audioAUDIOβ€”
other_audioAUDIOβ€”