Skip to content

feat(audio): add ACE-Step 1.5 music generation support - #5413

Merged
qinxuye merged 6 commits into
xorbitsai:mainfrom
Minamiyama:models/ace-step1.5
Aug 24, 2026
Merged

feat(audio): add ACE-Step 1.5 music generation support#5413
qinxuye merged 6 commits into
xorbitsai:mainfrom
Minamiyama:models/ace-step1.5

Conversation

@Minamiyama

Copy link
Copy Markdown
Collaborator

Summary

Add built-in ACE-Step 1.5 support for text-to-music generation.

Changes

  • Register ACE-Step1.5 as an audio model using the PyTorch engine.
  • Support the complete checkpoint bundle from:
    • Hugging Face ACE-Step/Ace-Step1.5, revision main
    • ModelScope ACE-Step/Ace-Step1.5, revision master
  • Use the bundled acestep-v15-turbo DiT and official VAE.
  • Support the optional bundled acestep-5Hz-lm-1.7B with pt, vllm, and mlx backends.
  • Expose music generation through the existing Speech API:
    • lyrics through input
    • music description through instruct
    • configurable duration, seed, BPM, key, time signature, inference steps, guidance, and LM reasoning options
    • AAC, FLAC, MP3, Opus, WAV, and WAV32 output
  • Add Hugging Face and ModelScope download-source metadata.
  • Add per-model virtual environment dependencies and Python 3.11/3.12 validation.
  • Isolate mutable model-side Python files in a temporary checkpoint workspace while reusing immutable model weights.
  • Add launch, API usage, parameter, format, and hardware documentation.

Vendored runtime

Vendor the inference-only ACE-Step 1.5 runtime from upstream commit:

14c0211d5a0653b0f63e27686f4c3f151b4d8629

The vendored source includes the required ACE-Step inference components and
bundled nano-vllm runtime. Training code, datasets, API servers, CLI/Gradio
UI, tests, examples, development metadata, and unused DiT variants are
excluded.

Runtime dependencies such as PyTorch, Transformers, Diffusers, and TorchAO
remain managed by the Xinference model virtual environment. Model launch no
longer requires installing ACE-Step source directly from GitHub.

The upstream MIT licenses and source revision information are retained.

Current scope

This initial integration supports the components included in the complete
ACE-Step 1.5 checkpoint bundle:

  • acestep-v15-turbo
  • official VAE
  • optional acestep-5Hz-lm-1.7B

Arbitrary standalone DiT, LM, and VAE combinations are left for follow-up work.

@XprobeBot XprobeBot added this to the v3.x milestone Aug 22, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request integrates the ACE-Step 1.5 text-to-music model into Xinference, adding the necessary model specifications, documentation, and a vendored copy of the upstream ACE-Step 1.5 runtime. The review feedback focuses on improving multi-GPU environment compatibility, specifically by ensuring proper device indexing for VRAM checks, setting the active CUDA device, and refining device comparison logic. Additionally, suggestions were made to prevent potential AttributeError crashes through defensive fallback patterns and nested attribute checks, log warnings during fallback environment variable parsing, and add the Telugu language code 'te' to the codespell allowlist.

Comment thread xinference/thirdparty/ace_step_1_5/acestep/audio_utils.py Outdated
Comment thread xinference/thirdparty/ace_step_1_5/acestep/constants.py
Comment thread xinference/model/audio/ace_step.py
Comment thread xinference/model/audio/tests/test_ace_step.py Outdated
Keep model-level index strategy for PyTorch engines so uv can resolve ARM torchao from PyPI alongside CUDA wheels.
Bundle selected inference sources and nano-vllm so launches no longer require Git package installs. Exclude training, UI, API, tests, examples, and unused DiT variants.
Use the selected CUDA device for VRAM checks and device validation.
Harden optional adapter, config, and environment handling.

@qinxuye qinxuye left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@qinxuye
qinxuye merged commit 6b1c7d3 into xorbitsai:main Aug 24, 2026
13 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants