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

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

Build a song one instrument track at a time

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

ACE-Step 1.5 changed the deal on local music generation: instead of the model blasting out a finished song in one pass, you can build it track by track - drums first, then bass, then a vocal line - the way you'd stack Lego bricks. That's literally where the name comes from. This node is the guider that drives one of those bricks: point it at an existing song latent, tell it which instrument you want, give it a time window, and it generates that track to fit.

It's part of a small pack by ryanontheinside, who's better known in the ComfyUI world for real-time video work (ComfyStream, Daydream) than for music - the ACE-Step side is newer, but the pack's older audio/motion-reactive tooling has a solid reputation, and this extension into ACE-Step 1.5 rode in on genuine community enthusiasm for the model itself. People have been calling 1.5 a real alternative to Suno, which is a big claim for something that runs on your own GPU.

How it works

Like Flux's or SD3's guiders, this is a ComfyUI Guider object - it bundles your model, conditioning, and CFG into something a SamplerCustomAdvanced node can drive. You wire its GUIDER output into that sampler alongside a Noise node and a scheduler, and it produces one track's worth of audio latent for the time range you specify, laid on top of whatever's already in source_latents.

The inputs and outputs that matter

  • model - your loaded ACE-Step 1.5 checkpoint, coming from a loader earlier in the graph. This node doesn't fetch weights itself.
  • positive / negative - standard conditioning for what you want (and don't) in this track.
  • cfg - the tooltip spells out the trap directly: base model default is 7.0, but the Turbo model uses 1.0 because it has no CFG at all. Leaving CFG at 7 on Turbo doesn't sharpen anything, it just doubles your render time and can burn the result - the same guidance-distillation trap that trips people up on image models.
  • track_name - pick from twelve instrument choices (vocals, drums, bass, guitar, keyboard, strings, percussion, synth, fx, brass, woodwinds, backing_vocals). This is the one field that actually decides what you're generating.
  • start_seconds / end_seconds - the window this track occupies in the song.
  • reference_latent (optional) - feed it another track or clip and the new track adopts its timbre/instrument character. Handy for keeping, say, all your synth layers sounding like they came from the same patch.

Output is a single GUIDER, straight into your sampler.

How to install it

Via ComfyUI Manager, search RyanOnTheInside. Manually:

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

then restart ComfyUI. Separately, you need the actual ACE-Step 1.5 model weights loaded into a MODEL somewhere upstream - this node consumes a checkpoint, it doesn't download one.

Common issues & troubleshooting

CFG confusion between base and Turbo. This is the most common way to waste a generation. Match your CFG to whichever ACE-Step 1.5 variant you actually loaded - 1.0 for Turbo, 7.0 as a starting point for base.

Track sounds nothing like the rest of the song. Without a reference_latent, each track is generated somewhat independently within your prompt - if you want cohesive timbre across tracks, feed one in.

Building track by track and losing track of state. Because source_latents is what you're building onto, run this guider once per instrument, always feeding the growing latent forward from the previous track's output rather than starting fresh each time - otherwise you end up with several disconnected tracks instead of one song.

Categorysampling/custom_sampling/guiders

Inputs (9)

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
start_secondsFLOAT0.00–1000β€”
end_secondsFLOAT30.00–1000β€”
reference_latentoptLATENTOptional reference audio latent for timbre conditioning. The generated track will adopt the timbre/instrument character of this reference.

Outputs (1)

NameTypeDescription
GUIDERGUIDERβ€”