Skip to content

The most powerful local music generation model that outperforms most commercial alternatives

License

Notifications You must be signed in to change notification settings

iangoldstein/ACE-Step-1.5

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

260 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ACE-Step 1.5

Pushing the Boundaries of Open-Source Music Generation

Project | Hugging Face | ModelScope | Space Demo | Discord | Technical Report

StepFun Logo

Table of Contents

๐Ÿ“ Abstract

๐Ÿš€ We present ACE-Step v1.5, a highly efficient open-source music foundation model that brings commercial-grade generation to consumer hardware. On commonly used evaluation metrics, ACE-Step v1.5 achieves quality beyond most commercial music models while remaining extremely fastโ€”under 2 seconds per full song on an A100 and under 10 seconds on an RTX 3090. The model runs locally with less than 4GB of VRAM, and supports lightweight personalization: users can train a LoRA from just a few songs to capture their own style.

๐ŸŒ‰ At its core lies a novel hybrid architecture where the Language Model (LM) functions as an omni-capable planner: it transforms simple user queries into comprehensive song blueprintsโ€”scaling from short loops to 10-minute compositionsโ€”while synthesizing metadata, lyrics, and captions via Chain-of-Thought to guide the Diffusion Transformer (DiT). โšก Uniquely, this alignment is achieved through intrinsic reinforcement learning relying solely on the model's internal mechanisms, thereby eliminating the biases inherent in external reward models or human preferences. ๐ŸŽš๏ธ

๐Ÿ”ฎ Beyond standard synthesis, ACE-Step v1.5 unifies precise stylistic control with versatile editing capabilitiesโ€”such as cover generation, repainting, and vocal-to-BGM conversionโ€”while maintaining strict adherence to prompts across 50+ languages. This paves the way for powerful tools that seamlessly integrate into the creative workflows of music artists, producers, and content creators. ๐ŸŽธ

โœจ Features

ACE-Step Framework

โšก Performance

  • โœ… Ultra-Fast Generation โ€” Under 2s per full song on A100, under 10s on RTX 3090 (0.5s to 10s on A100 depending on think mode & diffusion steps)
  • โœ… Flexible Duration โ€” Supports 10 seconds to 10 minutes (600s) audio generation
  • โœ… Batch Generation โ€” Generate up to 8 songs simultaneously

๐ŸŽต Generation Quality

  • โœ… Commercial-Grade Output โ€” Quality beyond most commercial music models (between Suno v4.5 and Suno v5)
  • โœ… Rich Style Support โ€” 1000+ instruments and styles with fine-grained timbre description
  • โœ… Multi-Language Lyrics โ€” Supports 50+ languages with lyrics prompt for structure & style control

๐ŸŽ›๏ธ Versatility & Control

Feature Description
โœ… Reference Audio Input Use reference audio to guide generation style
โœ… Cover Generation Create covers from existing audio
โœ… Repaint & Edit Selective local audio editing and regeneration
โœ… Track Separation Separate audio into individual stems
โœ… Multi-Track Generation Add layers like Suno Studio's "Add Layer" feature
โœ… Vocal2BGM Auto-generate accompaniment for vocal tracks
โœ… Metadata Control Control duration, BPM, key/scale, time signature
โœ… Simple Mode Generate full songs from simple descriptions
โœ… Query Rewriting Auto LM expansion of tags and lyrics
โœ… Audio Understanding Extract BPM, key/scale, time signature & caption from audio
โœ… LRC Generation Auto-generate lyric timestamps for generated music
โœ… LoRA Training One-click annotation & training in Gradio. 8 songs, 1 hour on 3090 (12GB VRAM)
โœ… Quality Scoring Automatic quality assessment for generated audio

Staying ahead


Star ACE-Step on GitHub and be instantly notified of new releases

๐Ÿ“ฆ Installation

Requirements: Python 3.11, CUDA GPU recommended (works on CPU/MPS but slower)

๐ŸชŸ Windows Portable Package (Recommended for Windows)

For Windows users, we provide a portable package with pre-installed dependencies:

  1. Download and extract: ACE-Step-1.5.7z
  2. The package includes python_embeded with all dependencies pre-installed
  3. Requirements: CUDA 12.8

๐Ÿš€ Quick Start Scripts

The portable package includes convenient batch scripts for easy operation:

Script Description Usage
start_gradio_ui.bat Launch Gradio Web UI Double-click or run from terminal
start_api_server.bat Launch REST API Server Double-click or run from terminal

Basic Usage:

# Launch Gradio Web UI (Recommended)
start_gradio_ui.bat

# Launch REST API Server
start_api_server.bat

Both scripts support:

  • โœ… Auto environment detection (python_embeded or uv)
  • โœ… Auto install uv if needed (via winget or PowerShell)
  • โœ… Configurable download source (HuggingFace/ModelScope)
  • โœ… Optional Git update check before startup
  • โœ… Customizable language, models, and parameters

๐Ÿ“ Configuration

Edit the scripts to customize settings:

start_gradio_ui.bat:

REM UI language (en, zh, ja)
set LANGUAGE=zh

REM Download source (auto, huggingface, modelscope)
set DOWNLOAD_SOURCE=--download-source modelscope

REM Git update check (true/false) - requires PortableGit
set CHECK_UPDATE=true

REM Model configuration
set CONFIG_PATH=--config_path acestep-v15-turbo
set LM_MODEL_PATH=--lm_model_path acestep-5Hz-lm-1.7B

๐Ÿ”„ Update & Maintenance Tools

Script Purpose When to Use
check_update.bat Check and update from GitHub When you want to update to the latest version
merge_config.bat Merge backed-up configurations After updating when config conflicts occur
install_uv.bat Install uv package manager If uv installation failed during startup
quick_test.bat Test environment setup To verify your environment is working
test_git_update.bat Test Git update functionality To verify PortableGit is working correctly

Update Workflow:

# 1. Check for updates (requires PortableGit/)
check_update.bat

# 2. If conflicts occur, your changes are backed up automatically
# 3. After update, merge your settings back
merge_config.bat

# Options:
# - Compare backup with current files (side-by-side in Notepad)
# - Restore files from backup
# - List all backed-up files
# - Delete old backups

Environment Testing:

# Test your setup
quick_test.bat

# This checks:
# - Python installation (python_embeded or system Python)
# - uv installation and PATH
# - GPU availability (CUDA/ROCm)
# - Basic imports

๐Ÿ“ฆ Portable Git Support

If you have PortableGit/ folder in your package, you can:

  1. Enable Auto-Updates: Edit start_gradio_ui.bat or start_api_server.bat

    set CHECK_UPDATE=true
  2. Manual Update Check:

    check_update.bat
  3. Conflict Handling: When your modified files conflict with GitHub updates:

    • Files are automatically backed up to .update_backup_YYYYMMDD_HHMMSS/
    • Use merge_config.bat to compare and merge changes
    • Supports all file types: .bat, .py, .yaml, .json, etc.

Update Features:

  • โฑ๏ธ 10-second timeout protection (won't block startup if GitHub is unreachable)
  • ๐Ÿ’พ Smart conflict detection and backup
  • ๐Ÿ”„ Automatic rollback on failure
  • ๐Ÿ“ Preserves directory structure in backups

๐Ÿ› ๏ธ Advanced Options

Environment Detection Priority:

  1. python_embeded\python.exe (if exists)
  2. uv run acestep (if uv is installed)
  3. Auto-install uv via winget or PowerShell

Download Source:

  • auto: Auto-detect best source (checks Google accessibility)
  • huggingface: Use HuggingFace Hub
  • modelscope: Use ModelScope

Standard Installation (All Platforms)

1. Install uv (Package Manager)

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

2. Clone & Install

git clone https://github.com/ACE-Step/ACE-Step-1.5.git
cd ACE-Step-1.5
uv sync

3. Launch

๐Ÿ–ฅ๏ธ Gradio Web UI (Recommended)

Using uv:

uv run acestep

Using Python directly:

Note: Make sure to activate your Python environment first:

  • Windows portable package: Use python_embeded\python.exe instead of python
  • Conda environment: Run conda activate your_env_name first
  • venv: Run source venv/bin/activate (Linux/Mac) or venv\Scripts\activate (Windows) first
  • System Python: Use python or python3 directly
# Windows portable package
python_embeded\python.exe acestep\acestep_v15_pipeline.py

# Conda/venv/system Python
python acestep/acestep_v15_pipeline.py

Open http://localhost:7860 in your browser. Models will be downloaded automatically on first run.

๐ŸŒ REST API Server

Using uv:

uv run acestep-api

Using Python directly:

Note: Make sure to activate your Python environment first (see note above).

# Windows portable package
python_embeded\python.exe acestep\api_server.py

# Conda/venv/system Python
python acestep/api_server.py

API runs at http://localhost:8001. See API Documentation for endpoints.

Command Line Options

Gradio UI (acestep):

Option Default Description
--port 7860 Server port
--server-name 127.0.0.1 Server address (use 0.0.0.0 for network access)
--share false Create public Gradio link
--language en UI language: en, zh, ja
--init_service false Auto-initialize models on startup
--config_path auto DiT model (e.g., acestep-v15-turbo, acestep-v15-turbo-shift3)
--lm_model_path auto LM model (e.g., acestep-5Hz-lm-0.6B, acestep-5Hz-lm-1.7B)
--offload_to_cpu auto CPU offload (auto-enabled if VRAM < 16GB)
--download-source auto Model download source: auto, huggingface, or modelscope
--enable-api false Enable REST API endpoints alongside Gradio UI
--api-key none API key for API endpoints authentication
--auth-username none Username for Gradio authentication
--auth-password none Password for Gradio authentication

Examples:

Note for Python users: Replace python with your environment's Python executable:

  • Windows portable package: python_embeded\python.exe
  • Conda: Activate environment first, then use python
  • venv: Activate environment first, then use python
  • System: Use python or python3
# Public access with Chinese UI
uv run acestep --server-name 0.0.0.0 --share --language zh
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --server-name 0.0.0.0 --share --language zh

# Pre-initialize models on startup
uv run acestep --init_service true --config_path acestep-v15-turbo
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --init_service true --config_path acestep-v15-turbo

# Enable API endpoints with authentication
uv run acestep --enable-api --api-key sk-your-secret-key --port 8001
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --enable-api --api-key sk-your-secret-key --port 8001

# Enable both Gradio auth and API auth
uv run acestep --enable-api --api-key sk-123456 --auth-username admin --auth-password password
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --enable-api --api-key sk-123456 --auth-username admin --auth-password password

# Use ModelScope as download source
uv run acestep --download-source modelscope
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --download-source modelscope

# Use HuggingFace Hub as download source
uv run acestep --download-source huggingface
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --download-source huggingface

Development

# Add dependencies
uv add package-name
uv add --dev package-name

# Update all dependencies
uv sync --upgrade

๐ŸŽฎ Other GPU Support

Intel GPU

Currently, we support Intel GPUs.

  • Tested Device: Windows laptop with Ultra 9 285H integrated graphics.
  • Settings:
    • offload is disabled by default.
    • compile and quantization are enabled by default.
  • Capabilities: LLM inference is supported (tested with acestep-5Hz-lm-0.6B).
    • Note: LLM inference speed might decrease when generating audio longer than 2 minutes.
    • Note: nanovllm acceleration for LLM inference is currently NOT supported on Intel GPUs.
  • Test Environment: PyTorch 2.8.0 from Intel Extension for PyTorch.
  • Intel Discrete GPUs: Expected to work, but not tested yet as the developer does not have available devices. Waiting for community feedback.

๐Ÿ“ฅ Model Download

Models are automatically downloaded from HuggingFace or ModelScope on first run. You can also manually download models using the CLI or huggingface-cli.

Download Source Configuration

ACE-Step supports multiple download sources with automatic fallback:

Source Description Configuration
auto (default) Automatic detection based on network, selects best source --download-source auto or omit
modelscope Use ModelScope as download source --download-source modelscope
huggingface Use HuggingFace Hub as download source --download-source huggingface

How it works:

  • Auto mode (default): Tests Google connectivity. If accessible โ†’ HuggingFace Hub; if not โ†’ ModelScope
  • Manual mode: Uses your specified source, with automatic fallback to alternate source on failure
  • Fallback protection: If primary source fails, automatically tries the other source

Examples:

Note for Python users: Replace python with your environment's Python executable (see note in Launch section above).

# Use ModelScope
uv run acestep --download-source modelscope
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --download-source modelscope

# Use HuggingFace Hub
uv run acestep --download-source huggingface
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --download-source huggingface

# Auto-detect (default, no configuration needed)
uv run acestep
# Or using Python directly:
python acestep/acestep_v15_pipeline.py

For Windows portable package users, edit start_gradio_ui.bat or start_api_server.bat:

REM Use ModelScope
set DOWNLOAD_SOURCE=--download-source modelscope

REM Use HuggingFace Hub
set DOWNLOAD_SOURCE=--download-source huggingface

REM Auto-detect (default)
set DOWNLOAD_SOURCE=

For command line users:

Note for Python users: Replace python with your environment's Python executable (see note in Launch section above).

# Using uv
uv run acestep --download-source modelscope

# Using Python directly
python acestep/acestep_v15_pipeline.py --download-source modelscope

Automatic Download

When you run acestep or acestep-api, the system will:

  1. Check if the required models exist in ./checkpoints
  2. If not found, automatically download them using the configured source (or auto-detect)

Manual Download with CLI

Note for Python users: Replace python with your environment's Python executable (see note in Launch section above).

Using uv:

# Download main model (includes everything needed to run)
uv run acestep-download

# Download all available models (including optional variants)
uv run acestep-download --all

# Download from ModelScope
uv run acestep-download --download-source modelscope

# Download from HuggingFace Hub
uv run acestep-download --download-source huggingface

# Download a specific model
uv run acestep-download --model acestep-v15-sft

# List all available models
uv run acestep-download --list

# Download to a custom directory
uv run acestep-download --dir /path/to/checkpoints

Using Python directly:

# Download main model (includes everything needed to run)
python -m acestep.model_downloader

# Download all available models (including optional variants)
python -m acestep.model_downloader --all

# Download from ModelScope
python -m acestep.model_downloader --download-source modelscope

# Download from HuggingFace Hub
python -m acestep.model_downloader --download-source huggingface

# Download a specific model
python -m acestep.model_downloader --model acestep-v15-sft

# List all available models
python -m acestep.model_downloader --list

# Download to a custom directory
python -m acestep.model_downloader --dir /path/to/checkpoints

Manual Download with huggingface-cli

You can also use huggingface-cli directly:

# Download main model (includes vae, Qwen3-Embedding-0.6B, acestep-v15-turbo, acestep-5Hz-lm-1.7B)
huggingface-cli download ACE-Step/Ace-Step1.5 --local-dir ./checkpoints

# Download optional LM models
huggingface-cli download ACE-Step/acestep-5Hz-lm-0.6B --local-dir ./checkpoints/acestep-5Hz-lm-0.6B
huggingface-cli download ACE-Step/acestep-5Hz-lm-4B --local-dir ./checkpoints/acestep-5Hz-lm-4B

# Download optional DiT models
huggingface-cli download ACE-Step/acestep-v15-base --local-dir ./checkpoints/acestep-v15-base
huggingface-cli download ACE-Step/acestep-v15-sft --local-dir ./checkpoints/acestep-v15-sft
huggingface-cli download ACE-Step/acestep-v15-turbo-shift1 --local-dir ./checkpoints/acestep-v15-turbo-shift1
huggingface-cli download ACE-Step/acestep-v15-turbo-shift3 --local-dir ./checkpoints/acestep-v15-turbo-shift3
huggingface-cli download ACE-Step/acestep-v15-turbo-continuous --local-dir ./checkpoints/acestep-v15-turbo-continuous

Available Models

Model HuggingFace Repo Description
Main ACE-Step/Ace-Step1.5 Core components: vae, Qwen3-Embedding-0.6B, acestep-v15-turbo, acestep-5Hz-lm-1.7B
acestep-5Hz-lm-0.6B ACE-Step/acestep-5Hz-lm-0.6B Lightweight LM model (0.6B params)
acestep-5Hz-lm-4B ACE-Step/acestep-5Hz-lm-4B Large LM model (4B params)
acestep-v15-base ACE-Step/acestep-v15-base Base DiT model
acestep-v15-sft ACE-Step/acestep-v15-sft SFT DiT model
acestep-v15-turbo-shift1 ACE-Step/acestep-v15-turbo-shift1 Turbo DiT with shift1
acestep-v15-turbo-shift3 ACE-Step/acestep-v15-turbo-shift3 Turbo DiT with shift3
acestep-v15-turbo-continuous ACE-Step/acestep-v15-turbo-continuous Turbo DiT with continuous shift (1-5)

๐Ÿ’ก Which Model Should I Choose?

ACE-Step automatically adapts to your GPU's VRAM. Here's a quick guide:

Your GPU VRAM Recommended LM Model Notes
โ‰ค6GB None (DiT only) LM disabled by default to save memory
6-12GB acestep-5Hz-lm-0.6B Lightweight, good balance
12-16GB acestep-5Hz-lm-1.7B Better quality
โ‰ฅ16GB acestep-5Hz-lm-4B Best quality and audio understanding

๐Ÿ“– For detailed GPU compatibility information (duration limits, batch sizes, memory optimization), see GPU Compatibility Guide: English | ไธญๆ–‡ | ๆ—ฅๆœฌ่ชž

๐Ÿš€ Usage

We provide multiple ways to use ACE-Step:

Method Description Documentation
๐Ÿ–ฅ๏ธ Gradio Web UI Interactive web interface for music generation Gradio Guide
๐Ÿ Python API Programmatic access for integration Inference API
๐ŸŒ REST API HTTP-based async API for services REST API

๐Ÿ“š Documentation available in: English | ไธญๆ–‡ | ๆ—ฅๆœฌ่ชž

๐Ÿ“– Tutorial

๐ŸŽฏ Must Read: Comprehensive guide to ACE-Step 1.5's design philosophy and usage methods.

Language Link
๐Ÿ‡บ๐Ÿ‡ธ English English Tutorial
๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡ ไธญๆ–‡ๆ•™็จ‹
๐Ÿ‡ฏ๐Ÿ‡ต ๆ—ฅๆœฌ่ชž ๆ—ฅๆœฌ่ชžใƒใƒฅใƒผใƒˆใƒชใ‚ขใƒซ

This tutorial covers:

  • Mental models and design philosophy
  • Model architecture and selection
  • Input control (text and audio)
  • Inference hyperparameters
  • Random factors and optimization strategies

๐Ÿ”จ Train

See the LoRA Training tab in Gradio UI for one-click training, or check Gradio Guide - LoRA Training for details.

๐Ÿ—๏ธ Architecture

ACE-Step Framework

๐Ÿฆ Model Zoo

Model Zoo

DiT Models

DiT Model Pre-Training SFT RL CFG Step Refer audio Text2Music Cover Repaint Extract Lego Complete Quality Diversity Fine-Tunability Hugging Face
acestep-v15-base โœ… โŒ โŒ โœ… 50 โœ… โœ… โœ… โœ… โœ… โœ… โœ… Medium High Easy Link
acestep-v15-sft โœ… โœ… โŒ โœ… 50 โœ… โœ… โœ… โœ… โŒ โŒ โŒ High Medium Easy Link
acestep-v15-turbo โœ… โœ… โŒ โŒ 8 โœ… โœ… โœ… โœ… โŒ โŒ โŒ Very High Medium Medium Link
acestep-v15-turbo-rl โœ… โœ… โœ… โŒ 8 โœ… โœ… โœ… โœ… โŒ โŒ โŒ Very High Medium Medium To be released

LM Models

LM Model Pretrain from Pre-Training SFT RL CoT metas Query rewrite Audio Understanding Composition Capability Copy Melody Hugging Face
acestep-5Hz-lm-0.6B Qwen3-0.6B โœ… โœ… โœ… โœ… โœ… Medium Medium Weak โœ…
acestep-5Hz-lm-1.7B Qwen3-1.7B โœ… โœ… โœ… โœ… โœ… Medium Medium Medium โœ…
acestep-5Hz-lm-4B Qwen3-4B โœ… โœ… โœ… โœ… โœ… Strong Strong Strong โœ…

๐Ÿ“œ License & Disclaimer

This project is licensed under MIT

ACE-Step enables original music generation across diverse genres, with applications in creative production, education, and entertainment. While designed to support positive and artistic use cases, we acknowledge potential risks such as unintentional copyright infringement due to stylistic similarity, inappropriate blending of cultural elements, and misuse for generating harmful content. To ensure responsible use, we encourage users to verify the originality of generated works, clearly disclose AI involvement, and obtain appropriate permissions when adapting protected styles or materials. By using ACE-Step, you agree to uphold these principles and respect artistic integrity, cultural diversity, and legal compliance. The authors are not responsible for any misuse of the model, including but not limited to copyright violations, cultural insensitivity, or the generation of harmful content.

๐Ÿ”” Important Notice
The only official website for the ACE-Step project is our GitHub Pages site.
We do not operate any other websites.
๐Ÿšซ Fake domains include but are not limited to: ac**p.com, a**p.org, a***c.org
โš ๏ธ Please be cautious. Do not visit, trust, or make payments on any of those sites.

๐Ÿ™ Acknowledgements

This project is co-led by ACE Studio and StepFun.

๐Ÿ“– Citation

If you find this project useful for your research, please consider citing:

@misc{gong2026acestep,
	title={ACE-Step 1.5: Pushing the Boundaries of Open-Source Music Generation},
	author={Junmin Gong, Yulin Song, Wenxiao Zhao, Sen Wang, Shengyuan Xu, Jing Guo}, 
	howpublished={\url{https://github.com/ace-step/ACE-Step-1.5}},
	year={2026},
	note={GitHub repository}
}

About

The most powerful local music generation model that outperforms most commercial alternatives

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.5%
  • Batchfile 4.1%
  • Shell 0.4%