ComfyUI Node

VRGDG_GetStems

Split a Song Into Vocals, Drums, Bass, and Everything Else

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG_GetStems
  • audio
  • vocals
  • drums
  • bass
  • other
model_namehtdemucs
deviceauto
audio_file_path

Every music-video workflow eventually needs the vocals pulled out of the track - to feed a TTS voice clone, to drive lip-sync, to isolate the beat for scene timing. VRGDG_GetStems is the pack's stem separator: it runs Demucs, the Meta audio-separation model, and splits your audio into four stems: vocals, drums, bass, and other. If you've ever used a web stem-splitter, this is the same engine, but now it lives inside your graph and its outputs are real AUDIO tensors you can wire directly into other nodes.

Demucs is a hybrid transformer/U-Net model trained to separate music into those four sources. It's heavy-ish - the first run downloads the model weights from Hugging Face, and inference on a full song takes real seconds even on GPU. But the results are genuinely good, way beyond the old phase-inversion tricks.

The inputs that matter

  • model_name - the Demucs preset:
    • htdemucs (default): best all-round balance of quality and speed. The author's tooltip calls it the "quick pick: start here."
    • htdemucs_ft: fine-tuned, often cleaner separation but slower and not always better on every track.
    • mdx_extra: an alternative tuning that can improve the vocal/music split on some songs, at the cost of consistency.
  • device - auto picks CUDA when available, falls back to CPU. Auto is fine.
  • audio_file_path - a path to a file on disk, or plug the optional audio input (an AUDIO tensor from any load node). You'll typically use the audio input so the audio stays inside the graph.

Outputs: vocals, drums, bass, other - all AUDIO. Wire vocals into a TTS reference, use drums for beat-sync timing, or mix a couple of stems back together to make a karaoke track.

Install

Part of the pack, plus Demucs is in the requirements:

cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
pip install -r requirements.txt

Or search vrgamedev in ComfyUI Manager and let it handle dependencies. First run downloads the Demucs checkpoint, so your first split takes a while - that's normal, not a hang.

Troubleshooting

  • "demucs not installed" import error: the pack's requirements.txt includes demucs; if you cloned manually, install it (pip install demucs).
  • Slow first split: model download. Every split after is much faster.
  • Vocals have bleed (instrumental leakage): that's Demucs being Demucs - try htdemucs_ft or mdx_extra and compare. The author's own tooltip warns these aren't universally better, so A/B them per track.
  • CPU-only is painfully slow: Demucs really wants CUDA. If device is stuck on CPU, check your torch build has GPU support.

The honest caveat: nobody should expect studio-perfect stems from any model. But for feeding a voice clone, isolating a beat, or building the karaoke side of a music video, this is the most reliable open-weights option, and having it as a node instead of a separate app means your whole pipeline stays in one graph.

CategoryVRGDG/Audio

Inputs (4)

NameTypeDefaultDescription
model_nameCOMBOhtdemucsChoose the Demucs preset: - htdemucs: Best default balance of quality/speed for most songs. Does well on general music, but may still leave mild bleed/artifacts. - htdemucs_ft: Fine-tuned htdemucs with often cleaner separation. Usually slower/heavier, and not always better on every track. - mdx_extra: Alternative tuning that can improve vocal/music split on some songs. Can be less consistent and may sound worse on certain material. Quick pick: start with htdemucs, then compare htdemucs_ft, then mdx_extra.
deviceCOMBOauto3 options: auto, cuda, cpu
audio_file_pathSTRING
audiooptAUDIO

Outputs (4)

NameTypeDescription
vocalsAUDIO
drumsAUDIO
bassAUDIO
otherAUDIO