Nodes/ComfyUI LC Audio_Video Nodes/LC Audio Separate 🎼
ComfyUI Node

LC Audio Separate 🎼

Real Demucs stem separation, bass/drums/other/vocals, inside ComfyUI

By lonecatone23Β·Created 2 days agoΒ·Updated 2 days agoΒ· 1
LC Audio Separate 🎼
  • audio
  • Bass
  • Drums
  • Other
  • Vocals
β—„chunk_fade_shapelinearβ–Ί
β—„chunk_length10.0β–Ί
β—„chunk_overlap0.10β–Ί

This is the heavy hitter of the pack's audio side. LC Audio Separate takes a full mix and hands back four clean stems - Bass, Drums, Other, Vocals - using torchaudio's Hybrid Demucs model (HDEMUCS_HIGH_FINDLY). Want an acapella without buying one? Vocal stem out. Want a beat to score under a different clip? Drums and bass. This is the same four-stem layout the common AudioSeparation nodes use, so if you've seen that workflow pattern, this drops into place.

Read the fine print before you get excited: this is the one node in the pack with a real dependency. It needs torchaudio, and the first time it runs it downloads the Hybrid Demucs model from torchaudio's pipeline bundles. There's no way around that - it's the model doing the work. What it deliberately doesn't need is the Numba and SoX stack that some other audio packs drag in; the author rewrote the seam handling in plain NumPy.

How it works

The full mechanism is worth understanding because it determines what you'll fiddle with:

  • Mono input is doubled to stereo first; everything is resampled to the Demucs model's native rate, then split into overlapping chunks.
  • Each chunk goes through the model and comes back as four stems.
  • The chunks are crossfaded back together so the joins don't click. That's what chunk_length, chunk_overlap, and chunk_fade_shape control.

The trade-off is the eternal VRAM-versus-seams one. chunk_length (seconds per chunk, default 10) is the main lever: longer chunks mean fewer seams but more VRAM - the tooltip's guidance of 8–12 s on a 16 GB card, dropping to 4–6 s if you OOM, is accurate. chunk_overlap (fraction, default 0.1) hides splice clicks at the cost of speed; zero is fastest and can click. chunk_fade_shape picks how one chunk hands over to the next - linear is the safe default, half_sine the smoother one, and the log/exp options exist if you're chasing a specific artifact.

The outputs that matter

Four AUDIO outputs, named exactly as you'd expect: Bass, Drums, Other, Vocals. Wire whichever you need forward - vocals into a re-EQ and on to LC Save Video's audio socket, drums through LC Audio Volume, and so on. The stems stay separate, so you can also remix them by routing each through a volume node before combining.

How to install it

Ships in lonecatone23/ComfyUI_LC_AV_nodes (LC Audio_Video, MIT, companion to the image-side ComfyUI_LC123_nodes):

  • ComfyUI Manager: search "LC Audio_Video" or ComfyUI_LC_AV_nodes.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/lonecatone23/ComfyUI_LC_AV_nodes, restart.

Then make sure torchaudio is present in ComfyUI's Python (pip install torchaudio into the same environment if it isn't). The Demucs model downloads itself on first use - a one-time wait, and you'll see it in the model cache afterward. Console should print [LC AV] total 16 nodes.

Where it goes wrong

Two failure modes dominate. If the node errors out with a message about Hybrid Demucs, it's almost always torchaudio missing or a model download that got blocked - check your environment, not the node. And if it OOMs on long files, don't blame the pack: shorten chunk_length. Also set expectations on speed - this is real inference over your whole track, so a two-minute song takes a while, not a moment. For simply pulling the left channel off a file, the pack's LC Audio Channel is instant and does the same job for that narrow case; don't run Demucs when you just want one side.

CategoryLC AV/audio

Inputs (4)

NameTypeDefaultDescription
audioAUDIOFull mix. Split into four Hybrid Demucs stems: Bass, Drums, Other, Vocals. Mono is doubled to stereo first. Needs torchaudio; no Numba/SoX. Use LC Audio Channel if you only want L/R.
chunk_fade_shapeCOMBOlinearCrossfade shape between overlapping chunks. Linear is safest. half_sine is smoother. logarithmic / exponential change how fast the next chunk takes over at the seam.
chunk_lengthFLOAT10.01–600Seconds sent to Demucs at a time. Longer = fewer seams, more VRAM. 8–12 s is a good default on 16 GB; drop toward 4–6 if it OOMs.
chunk_overlapFLOAT0.100–0.9Fraction of each chunk that overlaps the next (0.1 = 10%). Higher hides splice clicks; 0 is fastest and can click at joins.

Outputs (4)

NameTypeDescription
BassAUDIOβ€”
DrumsAUDIOβ€”
OtherAUDIOβ€”
VocalsAUDIOβ€”