UVR5 Node
Split vocals from the beat inside ComfyUI — no API key required
- audio
- vocal_AUDIO
- bgm_AUDIO
The name is a small lie, and it's the good kind: this node calls no API, needs no key, and nothing you feed it leaves your machine. UVR5_Node is the Ultimate Vocal Remover (UVR5) separation engine - the thing people run as a standalone GUI with its own download page - repackaged as a ComfyUI node. You hand it a song, it hands you two audio files: the vocals and everything else.
Why would you reach for it? The cover-song pipeline. If you've seen workflows that clone a singer's voice or drive GPT-SoVITS from a real performance, this is the front door: separate clean vocals from the instrumental, then feed that acapella into a voice-conversion or TTS graph. The author's README literally thanks GPT-SoVITS and ultimatevocalremovergui, and the weights are pulled from the lj1995/VoiceConversionWebUI repo - this node was built to sit at the head of a voice-cloning chain, not to do anything fancy on its own.
How it works
On first run, the node downloads whichever model you pick from HuggingFace into custom_nodes/ComfyUI-UVR5/uvr5/uvr5_weights - no manual model setup, that's the nicest part. Then it loads the network on CUDA in fp16 if your machine supports it, otherwise CPU. Before separating anything it probes your file with ffprobe: unless the audio is already stereo at 44.1kHz, it transcodes to a temporary WAV first, because these models were trained at that exact spec.
The HP2/HP3/HP5 models use the classic UVR CascadedASPPNet architecture. The onnx_dereverb_By_FoxJoy model is different - an MDX-Net ONNX model, which is why onnxruntime-gpu sits in the pack's requirements.
The inputs that matter
Only four, and you'll touch three of them regularly:
- audio (AUDIOPATH) - the file to split. Easiest source is the pack's
LoadAudioPathnode, which lists audio in ComfyUI's input folder. - model - the picker. Default is the
HP5main-vocal model, which is a fine starting point.HP2/HP3are alternate separators (HP3 inverts the outputs, so the "vocal" and "bgm" roles swap). TheVR-DeEcho*models remove echo, andonnx_dereverb_By_FoxJoystrips reverb - treat those as cleanup passes on an already-separated vocal track, not as separators. - agg - 0–20, default 10. How aggressively the predicted mask is applied. Crank it and separation gets harsher; 10 is where most people live.
- format0 -
wav(default),flac,mp3, orm4aoutput encoding.
Outputs
Two, both AUDIOPATH: vocal_AUDIO and bgm_AUDIO. These are file paths written into ComfyUI's output folder. Wire them into the pack's PreViewAudio node to listen before you route the vocals into your voice-conversion graph.
Installing it
Either search "ComfyUI-UVR5" in ComfyUI Manager, or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/AIFSH/ComfyUI-UVR5.git
cd ComfyUI-UVR5
pip install -r requirements.txt
Then restart ComfyUI. ffmpeg must also be on your PATH - the README is blunt about this, and it's the number-one thing that bites people. Linux: apt install ffmpeg. Windows: install it via WingetUI or any standard installer. The heavy dependencies in the pack's requirements.txt are ffmpeg-python, librosa, and onnxruntime-gpu - that last one is a chunky install and picky about CUDA versions. If it fights with an onnxruntime you already have, remember it's only used for the FoxJoy dereverb model; the HP separators don't touch it.
Common issues
ffmpeg/ffprobeerrors: 90% of the time this is it. The node shells out toffmpegto probe and reformat; if the command isn't on PATH, nothing runs. Install ffmpeg and restart the backend.- First run is slow: the model downloads from HuggingFace before anything happens. Give it a minute, it's one-time.
- Long tracks stall: the code reads and processes whole files, and the change-detection hash reads the entire file. A three-hour playlist is a patience exercise; keep inputs short.
- CPU fallback: if your machine doesn't support CUDA the node runs on CPU in fp16. It works, it's just slow. Separation models are big; don't expect realtime.
Want the standalone tool it's based on instead of the node? That's Anjok07/ultimatevocalremovergui. But if you're already in a ComfyUI voice pipeline, keeping the split inside the graph saves you a file round-trip and keeps everything reproducible.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIOPATH | — | |
| model | COMBO | HP5-主旋律人声vocals+其他instrumentals.pth | 10 options: HP5_only_main_vocal.pth, HP5-主旋律人声vocals+其他instrumentals.pth, HP5_only_main_vocal.pth, HP2_all_vocals.pth, HP2-人声vocals+非人声instrumentals.pth, HP3_all_vocals.pth, +4 |
| agg | INT | 100–20 | — |
| format0 | COMBO | wav | 4 options: wav, flac, mp3, m4a |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| vocal_AUDIO | AUDIOPATH | — |
| bgm_AUDIO | AUDIOPATH | — |