Nodes/RyanOnTheInside/ACE-Step 1.5 Extract Guider βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
ComfyUI Node

ACE-Step 1.5 Extract Guider βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜

Pull a single stem out of a song's latent

By ryanontheinsideΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 852
ACE-Step 1.5 Extract Guider βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
  • model
  • positive
  • negative
  • source_latents
  • semantic_hints
  • reference_latent
  • GUIDER
β—„cfg7.0β–Ί
β—„track_nameβ–Ύβ–Ί

ACE-Step is the open text-to-music model that's been the closest thing the local-AI community has to a real Suno alternative - a diffusion model for full songs that runs in ComfyUI rather than behind an API. This node is part of a small family this pack shipped for ACE-Step 1.5, and it's aimed at a specific job: given a song's latent, pull out one instrument or voice track as its own generation - vocals, drums, bass, and nine other named parts - using a custom sampler guider rather than any kind of separate audio-separation model.

How it works

This is a GUIDER, not a MODEL - it plugs into a custom sampling setup (a SamplerCustomAdvanced-style node) alongside your noise and sampler settings, the same slot a standard CFGGuider would occupy. Instead of just steering a generation from text, it steers the model toward reconstructing one specific track_name (vocals, drums, bass, guitar, keyboard, strings, percussion, synth, fx, brass, woodwinds, or backing_vocals) out of source_latents, the existing song's latent representation. positive/negative conditioning and cfg work as they do on any guided sampler - cfg defaults to 7.0 for the base model, though the tooltip notes the Turbo variant of ACE-Step runs CFG-free at 1.0, so that default isn't universal across every ACE-Step checkpoint.

The optional reference_latent is worth knowing about even if you skip it at first: it's a second audio latent used purely for timbre conditioning, guiding what the extracted track should sound like (a specific instrument's tone or a particular voice character) independent of which track you're pulling. semantic_hints, also optional, is a separate conditioning channel for steering the extraction with higher-level descriptive information.

Inputs and outputs

  • model (required, MODEL) - your ACE-Step model.
  • source_latents (required, LATENT) - the song you're extracting a stem from.
  • track_name (required, enum) - which of the twelve tracks to pull.
  • positive / negative (required, CONDITIONING) - standard guided-sampling conditioning.
  • reference_latent (optional, LATENT) - timbre reference for the extracted track.
  • Output - a single GUIDER, wired into your custom sampler node in place of a standard guider.

Installing it

Install through ComfyUI Manager (search RyanOnTheInside) or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside

Then pip install -r requirements.txt and restart ComfyUI. You'll separately need an ACE-Step 1.5 checkpoint set up in ComfyUI for this node to have anything to guide - it patches into an existing ACE-Step sampling pipeline rather than shipping a model of its own.

Common issues

This is one of the newer, more experimental corners of the pack - ACE-Step 1.5 itself was still fresh in the community as of early 2026, with stem generation and extraction being an actively developing feature area rather than a long-settled workflow. If results sound muddy or the wrong track bleeds through, that's consistent with what the community has reported about ACE-Step generally at this stage: quality and control are real but not as mature as image-side tools like ControlNet, so treat extraction quality as a moving target rather than assuming a fixed, reliable ceiling.

The cfg default mismatch between base and Turbo ACE-Step models is the concrete trap: if you're on Turbo and leave cfg at the base-model default of 7.0, you're applying guidance the Turbo variant wasn't designed for - drop it to 1.0 (effectively CFG-off) if that's the checkpoint you're running. And because this node outputs a GUIDER rather than a MODEL or LATENT, make sure you're wiring it into the guider slot of a custom sampler node, not trying to connect it somewhere a standard KSampler would expect a model.

Categorysampling/custom_sampling/guiders

Inputs (8)

NameTypeDefaultDescription
modelMODELβ€”
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
cfgFLOAT7.00–100Classifier-free guidance scale. Base model default is 7.0. Turbo model uses 1.0 (no CFG).
source_latentsLATENTβ€”
track_nameCOMBO12 options: vocals, drums, bass, guitar, keyboard, strings, +6
semantic_hintsoptSEMANTIC_HINTSβ€”
reference_latentoptLATENTOptional reference audio latent for timbre conditioning. Guides what the extracted track should sound like.

Outputs (1)

NameTypeDescription
GUIDERGUIDERβ€”