ACE-Step Cover
Turn any song into a new genre with ACE-Step Cover — no stem splitting required
- src_audio
- lora_info
- audio
- audio_path
- metadata
This is the node people come for. Drop in a song, type "jazz piano arrangement with a swing feel," and get a full cover version that keeps the melody and rhythm but changes everything else about the sound. No stem splitting, no midi transcription, no two-hour breakdown video required. If you've ever wanted to hear your favorite pop song as a bossa nova, ACE-Step Cover is the closest thing to a magic button.
The one honest caveat up front: this pack is one of several competing wrappers around ACE-Step 1.5, the music generation model from ACE-Step (the other well-known one is RyanOnTheInside's). This Kaola pack is the one that exposed Cover and the other audio-to-audio tasks early, and for a free, local, GPU-native music generator it's genuinely good. Just set expectations - it's a diffusion model, not a recording studio.
How it works
ACE-Step is a diffusion transformer trained on audio, with a language model (the "lm" in lm_model_path) handling lyrics and metadata. Cover works roughly like img2img does for images: your source audio gets encoded into semantic "codes," then the DiT regenerates the audio conditioned on your caption, using the original as structure reference. audio_cover_strength is your dial between "keep the original arrangement" (toward 1.0) and "let the new style really take over" (toward 0.1-0.3). The tooltip tells you the same thing: lower for more style change.
The language model writes the cover's metadata and lyrics in the new style - that's why the thinking toggle exists. Leave it on unless you're supplying your own lyrics and want to skip the LLM pass.
The inputs that matter
You set three things most of the time: src_audio, the caption (be specific: mood, genre, instrumentation), and audio_cover_strength. Then leave checkpoint_dir at "Ace-Step1.5", config_path at acestep-v15-turbo for fast results, and inference_steps at 8. On the base model (acestep-v15-base) you'd want 50+ steps - that's the quality/speed fork.
Worth knowing: batch_size generates variations of the same cover, vocal_language and lyrics let you pin down vocals, bpm/keyscale force tempo and key (0/empty = keep original), and use_adg (Adaptive Dual Guidance) is a "maybe improves quality, costs time" checkbox. lora_info accepts the output of the pack's LoRA Loader if you have a style LoRA.
Outputs are audio (wire into ComfyUI's Save Audio), audio_path (a string for later use), and metadata (a JSON string with what actually got generated, including the real seed).
Install
The pack doesn't install itself - Manager can grab ComfyUI-kaola-ace-step, but you still need the ACE-Step dependency and the model files:
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
Restart ComfyUI after that. checkpoint_dir scans every folder directly under ComfyUI/models/, so your "Ace-Step1.5" folder just has to contain the acestep-v15-turbo/ and acestep-5Hz-lm-1.7B/ subdirectories.
Where people get burned
Two real complaints from the community on this pack specifically. First, early builds of Cover (and Repaint) had a bug where output came out speed-shifted - a 3-minute song compressed into seconds of chipmunk audio. The fix landed in a community pull request, so if you hit that, update the pack before doing anything else. Second, even with that fixed, don't expect the model to recreate your exact lyrics - people report the new voice can sing something close but not identical. It's a cover, not a karaoke track.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| src_audio | AUDIO | Source audio to be covered (remade in new style). | |
| caption | STRING | Description of the target musical style (e.g., 'A jazz version of this song'). | |
| checkpoint_dir | COMBO | Ace-Step1.5 | Directory containing ACE-Step model weights. |
| config_path | COMBO | acestep-v15-turbo | Model configuration (turbo is faster). |
| lm_model_path | COMBO | acestep-5Hz-lm-1.7B | Language model for metadata/lyrics. |
| audio_cover_strength | FLOAT | 0.500–1 | Strength of preserving original audio structure. Use LOWER (0.1-0.3) for more style change. |
| batch_size | INT | 11–4 | Number of variations. |
| seed | INT | -1-1–18446744073709550000 | Random seed. |
| inference_steps | INT | 81–100 | Steps. Turbo: 8, Base: 50+. |
| guidance_scale | FLOAT | 7.001–15 | CFG strength. |
| device | COMBO | auto | Processing platform. |
| lyricsopt | STRING | Optional lyrics. | |
| vocal_languageopt | COMBO | unknown | Target language. |
| instrumentalopt | BOOLEAN | false | Instrumental mode. |
| bpmopt | INT | 00–300 | Target BPM (0 for keep original). |
| keyscaleopt | STRING | Musical key. | |
| timesignatureopt | STRING | Time signature. | |
| use_adgopt | BOOLEAN | false | Adaptive Dual Guidance. |
| thinkingopt | BOOLEAN | true | Show LLM reasoning. |
| audio_formatopt | COMBO | flac | Output format. |
| lora_infoopt | ACE_STEP_LORA_INFO | Optional LoRA style model. | |
| instructionopt | STRING | Custom instruction (overrides default cover instruction). |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| audio_path | STRING | — |
| metadata | STRING | — |