Spaces:
Running on Zero
title: ACE Music Studio
emoji: π΅
colorFrom: gray
colorTo: gray
sdk: gradio
sdk_version: 6.14.0
python_version: '3.11'
app_file: app.py
pinned: false
license: mit
short_description: Song generation studio on ACE-Step 1.5 XL SFT
preload_from_hub:
- ACE-Step/Ace-Step1.5
- ACE-Step/acestep-v15-xl-sft
- ACE-Step/ACE-Step-v1-chinese-rap-LoRA
- ACE-Step/ACE-Step-v1.5-chinese-new-year-LoRA
- Qwen/Qwen2.5-7B-Instruct
ACE Music Studio
A single-process Gradio app that wraps ACE-Step 1.5 XL SFT for full-song generation with vocals, with Qwen 2.5 for lyrics drafting and Demucs for stem separation. Runs locally on Apple Silicon (MPS+MLX) or NVIDIA (CUDA), deploys to Hugging Face Spaces (ZeroGPU).
β Live demo: https://huggingface.co/spaces/techfreakworm/ace-music-studio
What's inside
Five modes. One ACE-Step pipeline underneath. Progressive disclosure β defaults stay short and reveal advanced controls only when asked.
| Mode | Inputs | What it does |
|---|---|---|
| Generate | prompt + lyrics + tags | Text β full song with vocals + instruments |
| Cover | reference audio + new lyrics | Style transfer from a reference clip |
| Extend | seed audio + extension prompt | Continue an existing song forward |
| Edit | source audio + segment + target lyrics | Repaint a segment OR flow-morph caption-to-caption |
| Lyrics | brief + structure | Qwen 2.5 7B drafts structurally-tagged lyrics |
Every song mode supports a single stacked LoRA β bundled presets plus arbitrary .safetensors uploads. The preset registry ships with the official ACE-Step LoRAs published on HF:
After every song generation, three post-process actions sit beneath the player: Demucs stem separation, pyloudnorm normalisation to -14 LUFS, and MP3 320k export via ffmpeg.
Local setup
Requires Python 3.11, ~32 GB free disk for weights, and 128 GB unified memory recommended on Apple Silicon (M5 Max ideal; M3 Max+ workable). On NVIDIA, ~24 GB VRAM.
git clone https://github.com/techfreakworm/ace-music-studio
cd ace-music-studio
bash setup.sh # creates .venv, installs requirements
source .venv/bin/activate
python app.py # http://127.0.0.1:7860
setup.sh detects Apple Silicon and adds requirements-mac.txt (MLX-LM + the clockworksquirrel/ace-step-apple-silicon fork). First launch downloads weights into your HF cache (~/.cache/huggingface/hub/).
PYTORCH_ENABLE_MPS_FALLBACK=1 is set automatically by app.py so the few MPS-unsupported ops degrade to CPU.
HF Spaces deploy
git remote add space https://huggingface.co/spaces/<your-handle>/ace-music-studio
git push space main
preload_from_hub (this README's frontmatter) pre-downloads the ACE-Step 1.5 XL SFT umbrella weights at build time. app._bootstrap_spaces_cache() runs once at module init when SPACE_ID is set, symlinking the HF cache into the fork's expected <site-packages>/checkpoints/ layout so the pipeline finds them on first request. @spaces.GPU(duration=180) decorates the click handlers β on Spaces it gates them to a ZeroGPU worker, locally it's a no-op.
Architecture
See docs/superpowers/specs/2026-05-18-ace-music-studio-design.md for the full design and docs/superpowers/plans/2026-05-18-ace-music-studio.md for the implementation plan.
License
MIT for the app code (see LICENSE). ACE-Step 1.5 XL SFT, Qwen 2.5 7B Instruct, and Demucs htdemucs_ft retain their respective upstream licenses (Apache 2.0 / Apache 2.0 / MIT).
Credits
ACE-Step by ACE Studio Γ StepFun. Apple Silicon port by clockworksquirrel. Qwen 2.5 by Alibaba. Demucs by Meta AI.
Made with β€οΈ by Mayank Gupta.