Instructions to use ACE-Step/acestep-v15-base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ACE-Step/acestep-v15-base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-to-audio", model="ACE-Step/acestep-v15-base", trust_remote_code=True)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("ACE-Step/acestep-v15-base", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
Fix SDE inference producing noise when shift != 1.0
The SDE inference path computes next_timestep using a linear formula:
next_timestep = 1.0 - (float(step_idx + 1) / infer_steps)
This ignores the shift transformation applied to the timestep schedule:
t = shift * t / (1 + (shift - 1) * t)
When shift != 1.0, the renoise step uses a timestep that doesn't match the shifted schedule the model expects, causing accumulated error and noise-only output.
t_prev is already available from the loop iterator and includes the shift transformation. The fix replaces the linear calculation with t_prev:
Before:
next_timestep = 1.0 - (float(step_idx + 1) / infer_steps)
xt = self.renoise(pred_clean, next_timestep)
After:
xt = self.renoise(pred_clean, t_prev)
When shift == 1.0, the behavior is identical to the current code. When shift != 1.0, the schedule is now correct.