VRGDG_GetStems
Split a Song Into Vocals, Drums, Bass, and Everything Else
- audio
- vocals
- drums
- bass
- other
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 -
autopicks 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
AUDIOtensor from any load node). You'll typically use theaudioinput 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.txtincludesdemucs; 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_ftormdx_extraand 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
deviceis 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | htdemucs | Choose 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. |
| device | COMBO | auto | 3 options: auto, cuda, cpu |
| audio_file_path | STRING | — | |
| audioopt | AUDIO | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| vocals | AUDIO | — |
| drums | AUDIO | — |
| bass | AUDIO | — |
| other | AUDIO | — |