Nodes/Kaola ACE-Step Music/ACE-Step Lego (Base Only)
ComfyUI Node

ACE-Step Lego (Base Only)

Add a drum track that wasn't there — ACE-Step Lego builds new instruments onto your song

By kana112233·Created 7 months ago·Updated 6 months ago· 29
ACE-Step Lego (Base Only)
  • src_audio
  • audio
  • audio_path
  • metadata
track_namedrums
caption
seed-1
inference_steps50
guidance_scale7.00
repainting_start0.00
repainting_end-1.00
use_adgfalse
cfg_interval_start0.00
cfg_interval_end1.00
audio_formatflac
checkpoint_diracestep-v15-base
lm_model_pathacestep-5Hz-lm-1.7B
deviceauto

Lego is the flip side of Extract. Extract pulls a stem out of a mix; Lego generates a new stem in - you feed it an existing track, pick an instrument, and it produces a version of that audio with the new part added, timed and keyed to what's already there. Take a bare acoustic guitar recording and have the model add drums that actually fit. That's the demo case, and it's a genuinely "this is why generative audio is interesting" moment.

Like Extract and Complete, it only runs on the acestep-v15-base model - the "(Base Only)" in the title isn't decoration. It's also one of the newer nodes in the pack (added in v0.5.0) and it's clearly marked as the frontier: the source is honest that these features are being explored, so expectations should match.

How it works

Same diffusion scaffolding as Extract: your audio becomes conditioning context, and the model generates the selected track on top of it. The key differences are the instruction ("Generate the DRUMS track based on the audio context") and the optional repainting_start/repainting_end - you can confine the new instrument to a region of the song rather than the whole thing. The caption field is optional style guidance for the generated track ("Add energetic drum beat").

The inputs that matter

  • src_audio - the existing recording.
  • track_name - the instrument to add: vocals, backing vocals, drums, bass, guitar, keyboard, percussion, strings, synth, fx, brass, woodwinds.
  • caption - optional description of the new track's style.
  • repainting_start / repainting_end - region to work in; -1 end = to the end.
  • inference_steps - 50 default (base model territory).
  • guidance_scale - 7 default, prompt adherence for the added part.
  • use_adg / cfg_interval_start / cfg_interval_end - the usual advanced knobs; skip until you need them.

Outputs: audio, audio_path, metadata.

Install

Identical shared setup, and again the base model is the requirement:

git clone https://github.com/ACE-Step/ACE-Step-1.5.git
cd ACE-Step-1.5 && pip install -e .
cd ComfyUI/custom_nodes
git clone https://github.com/kana112233/ComfyUI-kaola-ace-step.git
cd ComfyUI-kaola-ace-step && pip install -r requirements.txt
huggingface-cli download ACE-Step/Ace-Step1.5 --local-dir ComfyUI/models/Ace-Step1.5

ComfyUI Manager installs the node pack; ACE-Step and models are manual. Restart after.

Where people get burned

Turbo-vs-base confusion again - make sure the base DiT is downloaded and selected, or the node errors out. Second, and this is the bigger one: the added track is a creative guess, not an arrangement you dictated. The model will add drums that fit, but it decides the groove. If you want control over the actual pattern, that's beyond this node's reach (it doesn't take rhythm input). And on very sparse or very dense source audio, results vary - sparse sources give the model room to invent, dense ones leave it fighting the mix. Start with a clean, unmixed track and accept that some attempts will be keepers and some won't. It's still the most fun node in the pack to demo.

CategoryAudio/ACE-Step

Inputs (15)

NameTypeDefaultDescription
src_audioAUDIOSource audio as context.
track_nameCOMBOdrumsTrack to generate.
captionoptSTRINGStyle description (optional).
seedoptINT-1-1–18446744073709550000Random seed. -1 for random.
inference_stepsoptINT5020–100Diffusion steps. Higher = better quality.
guidance_scaleoptFLOAT7.001–15CFG scale. Higher = more prompt adherence.
repainting_startoptFLOAT0.000–600Start time for region (seconds).
repainting_endoptFLOAT-1.00-1–600End time for region. -1 for until end.
use_adgoptBOOLEANfalseAdaptive Dual Guidance. May improve quality.
cfg_interval_startoptFLOAT0.000–1CFG start ratio.
cfg_interval_endoptFLOAT1.000–1CFG end ratio.
audio_formatoptCOMBOflacOutput audio format.
checkpoint_diroptCOMBOacestep-v15-baseModel directory.
lm_model_pathoptCOMBOacestep-5Hz-lm-1.7BLanguage model.
deviceoptCOMBOautoCompute device.

Outputs (3)

NameTypeDescription
audioAUDIO
audio_pathSTRING
metadataSTRING