Nodes/Comfy-MSS/VR Separate List
ComfyUI Node

VR Separate List

Two sockets instead of four, for the cleanup models

By pymss-project·Created 4 months ago·Updated a day ago· 22
VR Separate List
  • audio
  • params
  • audios
  • stem_names
model_name
deviceauto
download_missingtrue
sourcemodelscope
device_ids0
debugfalse

What it is

VR Separate List is VR Separate with the outputs collapsed into lists. Instead of the two paired output sets (stem_1 (Audio)/stem_1 (String) and stem_2 (Audio)/stem_2 (String)), you get:

  • audios - an AUDIO list containing both stems the VR model produces.
  • stem_names - a STRING list with their names, in matching order.

Everything else is identical: the same 29 VR/UVR .pth models (58 menu entries, since each appears once with an English category tag and once in Chinese), the same device, download_missing, source, device_ids and debug widgets, the same optional params socket for a VR Params node.

When the list shape is the better one

VR models mostly produce two stems - typically Vocals/Instrumental, or No Echo/Echo for the de-echo family. Two stems means the explicit-output version only costs you two cables, so the plain VR Separate is honestly the more readable choice in most graphs. Reach for the list variant when you're treating both outputs the same way: both need saving, both need a level tweak, both feed the same downstream chain. Wire audios into one Save Audio and ComfyUI runs that node once per item, with stem_names supplying the labels positionally.

The other reason is portability. A list-shaped node doesn't care which model you pick, so a workflow built around the list version keeps working when you swap a de-echo model for a denoiser - no sockets to rewire. The explicit nodes are the ones that change shape under you when the model menu changes.

Install

Part of Comfy-MSS, so the usual two steps:

cd ComfyUI/custom_nodes
git clone https://github.com/pymss-project/comfy-mss
python -m pip install pymss   # ComfyUI's Python environment

Or install Comfy-MSS from ComfyUI Manager and restart. Weights download to ComfyUI/models/pymss on first use (ModelScope by default; switch source to huggingface or hf-mirror if that suits you). COMFY_MSS_MODEL_DIR and PYMSS_MODEL_DIR relocate that folder.

Gotchas

  • The list is stems, not files. It's the two outputs of one separation pass over one input, not a queue of songs.
  • Index order is the contract. stem_names[i] describes audios[i]. Don't sort one without the other.
  • One audio item at a time. The separation backend rejects a batched waveform; split upstream if you're feeding it several.
  • VR models are for cleanup, not song splitting. De-echo, de-reverb and denoise. For vocals/instrumental use the MSS nodes and a roformer.
  • v1.0.x workflows won't load - the v1.1.0 rename applies here too.
Categoryaudio/pymss

Inputs (8)

NameTypeDefaultDescription
audioAUDIO
model_nameCOMBO58 options: [legacy_vr/vr_backing_vocal] UVR-BVE-4B_SN-44100-1.pth, [传统 VR 模型/VR 伴唱/和声] UVR-BVE-4B_SN-44100-1.pth, [legacy_vr/vr_deecho] UVR-De-Echo-Aggressive.pth, [传统 VR 模型/VR 去回声] UVR-De-Echo-Aggressive.pth, [legacy_vr/vr_deecho] UVR-De-Echo-Normal.pth, [传统 VR 模型/VR 去回声] UVR-De-Echo-Normal.pth, +52
deviceCOMBOauto5 options: auto, cpu, cuda, mps, mlx
download_missingBOOLEANtrue
sourceCOMBOmodelscope3 options: modelscope, huggingface, hf-mirror
paramsoptPYMSS_VR_PARAMS
device_idsoptSTRING0
debugoptBOOLEANfalse

Outputs (2)

NameTypeDescription
audiosAUDIO
stem_namesSTRING