ACE-Step Lego (Base Only)
Add a drum track that wasn't there — ACE-Step Lego builds new instruments onto your song
- src_audio
- audio
- audio_path
- metadata
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;-1end = 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.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| src_audio | AUDIO | Source audio as context. | |
| track_name | COMBO | drums | Track to generate. |
| captionopt | STRING | Style description (optional). | |
| seedopt | INT | -1-1–18446744073709550000 | Random seed. -1 for random. |
| inference_stepsopt | INT | 5020–100 | Diffusion steps. Higher = better quality. |
| guidance_scaleopt | FLOAT | 7.001–15 | CFG scale. Higher = more prompt adherence. |
| repainting_startopt | FLOAT | 0.000–600 | Start time for region (seconds). |
| repainting_endopt | FLOAT | -1.00-1–600 | End time for region. -1 for until end. |
| use_adgopt | BOOLEAN | false | Adaptive Dual Guidance. May improve quality. |
| cfg_interval_startopt | FLOAT | 0.000–1 | CFG start ratio. |
| cfg_interval_endopt | FLOAT | 1.000–1 | CFG end ratio. |
| audio_formatopt | COMBO | flac | Output audio format. |
| checkpoint_diropt | COMBO | acestep-v15-base | Model directory. |
| lm_model_pathopt | COMBO | acestep-5Hz-lm-1.7B | Language model. |
| deviceopt | COMBO | auto | Compute device. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| audio_path | STRING | — |
| metadata | STRING | — |