AceMusic Edit (FlowEdit)
FlowEdit without the finicky sliders
- model
- audio
- audio
AceMusic Edit (FlowEdit) is the precision scalpel of the pack. Where Cover re-styles a whole track and Repaint swaps a time range, Edit changes what the song is while keeping how it goes - swap the lyrics or the style tags and keep the melody and structure intact. It's the node that turns "I love this track but the words are wrong" from a full regeneration problem into a one-node fix.
Inputs:
- model - from the Model Loader.
- audio - the track to edit.
- original_caption - the style description of what the track currently is. The more honest this is, the better the edit lands.
- target_caption - the style you want it to become.
- original_lyrics / target_lyrics - optional; the old words and the new words. Leave target empty to keep vocals as-is.
- edit_strength - 0 to 1, default 0.5. How much of the editing process is applied - how far the result moves toward the target.
- inference_steps - note the default here is 60, more than the other nodes' 27. FlowEdit needs the extra steps; don't drop it to 20 and wonder why it's mushy.
- guidance_scale - 15 default, 1–30, prompt adherence.
- seed - reproducibility.
One output: audio, same length as the input, same melody - different content.
How it works
Edit maps onto ACE-Step's edit task, which is their FlowEdit implementation. The engine takes the source audio and the "original" description as the anchor, then applies the diffusion process toward the "target" description, stopping partway. The knob that controls how far the process runs is edit_n_max in ACE-Step's API - and the pack sets it directly from your edit_strength. So strength isn't a flavor dial, it's literally "how many diffusion steps of the edit do we commit to": low strength barely touches the audio, high strength commits most of the way to the target. That's why keeping the original caption accurate matters so much - it's the anchor the whole edit pulls away from. Also notice the pack's own implementation detail: edit_n_avg is fixed at 1, so the FlowEdit averaging that some reference implementations expose isn't exposed here. Fine - one less knob to fight.
Installing it
Via ComfyUI Manager, search "ComfyUI-AceMusic", or:
cd ComfyUI/custom_nodes
git clone https://github.com/hiroki-abe-58/ComfyUI-AceMusic.git
cd ComfyUI-AceMusic
pip install -r requirements.txt
pip install git+https://github.com/ace-step/ACE-Step.git
Standard pack install plus the separate ACE-Step engine. The engine's exact-version pins are the usual install casualty - relax them in a clone or install deps manually with --no-deps.
Common issues
- The melody changed along with the lyrics -
edit_strengthis too high, committing too far toward the target. Back it toward 0.3–0.5. - The edit did almost nothing - strength too low, or your
original_captiondoesn't match the audio, so the anchor is wrong and the diff is meaningless. Fix the original description first. - Mushy, artifact-y result - you probably cut
inference_stepsbelow the 60 default. FlowEdit is step-hungry; let it cook. - Vocals changed but you only wanted lyrics swapped - make sure
target_lyricsis set; without it the model is freer to reinterpret the vocal performance.
Edit is the most "studio" node in the pack - it's the one that assumes you're actually finishing songs, not just generating demos. It rewards honest inputs and a little patience.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | ACEMUSIC_MODEL | — | |
| audio | AUDIO | — | |
| original_caption | STRING | — | |
| target_caption | STRING | — | |
| original_lyricsopt | STRING | — | |
| target_lyricsopt | STRING | — | |
| edit_strengthopt | FLOAT | 0.500–1 | — |
| inference_stepsopt | INT | 601–100 | — |
| guidance_scaleopt | FLOAT | 15.01–30 | — |
| seedopt | INT | -1-1–2147483647 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |