Nodes/comfyui-supavoice-transcriber/SupaVoice Extract Vocals
ComfyUI Node

SupaVoice Extract Vocals

Pull the vocals out before you transcribe

By mexxmillion·Created 4 months ago·Updated 4 months ago· 0
SupaVoice Extract Vocals
  • audio
  • vocals
  • vocals_path
  • other_path
modelhtdemucs_ft
output_prefixsupavoice_vocals
gain1.00
devicecuda
demucs_python

Transcribing a clip with a beat behind it is how you get transcripts that are half-music, half-garbage. Whisper will happily "hear" the backing track as words. SupaVoice Extract Vocals is the pre-flight check: it runs Demucs locally through its Python API, isolates the vocals stem, and hands you clean speech to feed your transcriber - or your voice-clone training set. The author's README puts it simply: use it before transcription when the source media has music or background audio.

How it works

It writes your incoming AUDIO to a temp WAV, loads a Demucs model, and does the standard Demucs dance - normalize by reference mean/std, apply_model with one shift and split overlap, then denormalize. The vocals stem becomes your output, and every other stem gets summed into a single no_vocals.wav companion file. Both are written with soundfile, which the README notes is deliberate - it avoids the Windows TorchCodec/torchaudio save path that eats people on that platform.

The settings that matter:

  • model - htdemucs_ft (default, the fine-tuned one and the best quality/speed balance), htdemucs, or mdx_extra / mdx_extra_q (stronger but slower and heavier).
  • device - cuda or cpu. Defaults to cuda; it falls back to CPU if CUDA isn't available.
  • gain - default 1.0, applied to the vocal output so quiet speech doesn't get lost downstream.

Outputs: vocals (AUDIO, wired straight into a transcriber), vocals_path, and other_path - the summed non-vocal track, useful if you want to hear what was removed.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/mexxmillion/ComfyUI-SupaVoice-Transcriber

Restart ComfyUI. First run downloads the Demucs weights from the internet - a few hundred MB for htdemucs_ft - and demucs itself is in the pack's requirements, so pip should handle it during install.

Where people get burned

The input schema has a demucs_python field that looks like it points at a separate Demucs install - but the shipped code ignores it and just imports Demucs from your ComfyUI Python environment. So if Demucs isn't importable there, you'll get an ImportError no matter what you type into that field. Expect the extraction to be slow-ish and VRAM-hungry on long clips; mdx_extra_q is the one you regret choosing on a two-hour recording. And keep expectations realistic: Demucs is very good, but on heavily layered tracks you may still get bleed, so spot-check a transcript from a music-heavy clip before you trust the whole batch.

CategorySupaVoice/audio

Inputs (6)

NameTypeDefaultDescription
audioAUDIO
modelCOMBOhtdemucs_ft4 options: htdemucs, htdemucs_ft, mdx_extra, mdx_extra_q
output_prefixSTRINGsupavoice_vocals
gainFLOAT1.000.1–4
deviceCOMBOcuda2 options: cuda, cpu
demucs_pythonSTRING

Outputs (3)

NameTypeDescription
vocalsAUDIO
vocals_pathSTRING
other_pathSTRING