Native C++ bundle for local AI music generation with 0% python
Powered by acestep.cpp โ the GGUF-native C++ inference engine for ACE-Step 1.5
acestep-cpp-ui is a fork of the original ace-step-ui project that replaces the Python/Gradio backend with acestep.cpp.
- No Python environment to manage โ just build once and run
- GGUF quantization โ run larger models with less VRAM
- Broader GPU support โ CUDA, ROCm/HIP (AMD), Vulkan, and Metal (macOS)
- Faster startup โ no Python interpreter or virtual environment overhead
- Single bundle โ build script, model downloader, and UI in one repo
| Requirement | Specification |
|---|---|
| Node.js | 20 or higher (required by setup.sh; also ensures better-sqlite3 native addon builds cleanly) |
| cmake | 3.20+ (for building the C++ engine) |
| git | For cloning acestep.cpp and its submodules |
| C++ compiler | GCC 11+ / Clang 13+ / MSVC 2022+ |
| GPU (optional) | NVIDIA (CUDA), AMD (ROCm/HIP), Vulkan-capable, or Apple Silicon (Metal) |
| FFmpeg | For audio processing |
No Python required. The C++ engine runs standalone โ just build it once and it stays ready.
# 1. Clone this repository
git clone https://github.com/audiohacking/acestep-cpp-ui
cd acestep-cpp-ui
# 2. Run setup โ builds acestep.cpp, downloads GGUF models, installs Node deps
./setup.sh
# 3. Launch โ builds the UI and starts a single server for both API + UI
./start-all.shREM 1. Clone this repository
git clone https://github.com/audiohacking/acestep-cpp-ui
cd acestep-cpp-ui
REM 2. Run setup โ builds acestep.cpp, downloads GGUF models, installs Node deps
setup.bat
REM 3. Launch
start-all.batgit clone https://github.com/audiohacking/acestep-cpp-ui
cd acestep-cpp-uiThe build.sh / build.bat script clones acestep.cpp, auto-detects your GPU (CUDA / ROCm / Vulkan / Metal), and compiles the binaries into ./bin/.
Linux / macOS:
./build.shWindows:
build.batBuild options:
| Flag | Description |
|---|---|
--cuda |
Force CUDA (NVIDIA) build |
--rocm |
Force ROCm/HIP (AMD) build |
--vulkan |
Force Vulkan build |
--cpu |
CPU-only build (no GPU) |
--src DIR |
Custom source directory (default: ./acestep.cpp) |
--bin DIR |
Custom binary output directory (default: ./bin) |
After a successful build, three binaries are installed to ./bin/:
ace-qwen3โ text encoderdit-vaeโ diffusion + VAE decoderneural-codecโ audio codec
The models.sh / models.bat script downloads pre-quantized GGUF model files from HuggingFace into ./models/. No Python required โ uses curl or wget (Linux/macOS) or PowerShell (Windows).
Linux / macOS:
./models.shWindows:
models.batThe default download is the Q8_0 essential set (~8 GB):
vae-BF16.ggufโ VAE (always BF16)Qwen3-Embedding-0.6B-Q8_0.ggufโ text encoderacestep-5Hz-lm-4B-Q8_0.ggufโ language model (4B)acestep-v15-turbo-Q8_0.ggufโ DiT (turbo)
Model download options:
| Flag | Description |
|---|---|
--quant X |
Quantization: Q4_K_M, Q5_K_M, Q6_K, Q8_0, BF16 (default: Q8_0) |
--lm SIZE |
LM size: 0.6B, 1.7B, 4B (default: 4B) |
--sft |
Also download SFT DiT variant |
--base |
Also download base DiT variant |
--shifts |
Also download shift1/shift3/continuous DiT variants |
--all |
Download all models and all quants |
--dir DIR |
Custom download directory (default: ./models) |
--hf-token TOKEN |
HuggingFace token for private/gated repos |
# Install frontend dependencies
npm install
# Install server dependencies
cd server && npm install && cd ..
# Rebuild native addon for your platform
cd server && npm rebuild better-sqlite3 && cd ..Or run everything above in one step with ./setup.sh / setup.bat.
cp .env.example .envEdit .env and set at minimum:
# Path to the acestep-generate binary built in Step 2
ACESTEP_BIN=./bin/acestep-generate
# Path to your primary DiT GGUF model downloaded in Step 3
ACESTEP_MODEL=./models/acestep-v15-turbo-Q8_0.ggufSee โ๏ธ Configuration for all options.
Linux / macOS:
./start-all.shWindows:
start-all.batThis builds the React UI and starts a single Node.js server that serves both the API and the compiled frontend. No separate frontend dev server is needed. The PID file is written to ./logs/server.pid for graceful shutdown.
| Service | URL |
|---|---|
| UI + API | http://localhost:3001 |
| LAN access | http://YOUR_IP:3001 |
To stop on Linux/macOS:
kill $(cat logs/server.pid)On Windows, close the terminal window opened by start-all.bat.
Linux / macOS โ backend:
cd server && npm run devLinux / macOS โ frontend (separate terminal):
npm run devCopy .env.example to .env and edit as needed. Most settings are auto-detected โ no editing is required for a local install.
# โโ Server โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PORT=3001
NODE_ENV=development
# โโ Database โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
DATABASE_PATH=./data/acestep.db
# โโ Model storage โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
MODELS_DIR=./models
# โโ acestep-cpp binaries โ auto-detected from ./bin/ after ./build.sh โโโโโโโโโ
# Override only if your binaries live outside ./bin/:
# ACE_QWEN3_BIN=/path/to/ace-qwen3
# DIT_VAE_BIN=/path/to/dit-vae
# ACESTEP_MODEL=/path/to/models/acestep-v15-turbo-Q8_0.gguf # override DiT model
# Mode 2 (advanced): connect to a separately running acestep-cpp HTTP server
# ACESTEP_API_URL=http://localhost:7860
# โโ Storage โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
AUDIO_DIR=./public/audio
# โโ Auth โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
JWT_SECRET=ace-step-ui-local-secret
# โโ Optional โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# HF_TOKEN=hf_... # HuggingFace token for private repos
# PEXELS_API_KEY= # Pexels API key for video backgroundsJust describe what you want. ACE-Step handles the rest.
"An upbeat pop song about summer adventures with catchy hooks"
Full control over every parameter:
| Parameter | Description |
|---|---|
| Lyrics | Full lyrics with [Verse], [Chorus] tags |
| Style | Genre, mood, instruments, tempo |
| Duration | 30-240 seconds |
| BPM | 60-200 beats per minute |
| Key | Musical key (C major, A minor, etc.) |
- acestep.cpp โ Native C++ inference engine for ACE-Step 1.5 (GGUF)
- ace-step-ui โ Original React/TypeScript UI this fork is based on
- ACE-Step 1.5 โ The open source AI music generation model
- AudioMass โ Web audio editor
- Demucs โ Audio source separation
- Pexels โ Stock video backgrounds
This project is open source under the MIT License. UI forked from Ace-Step-UI
Made with โค๏ธ for the open-source AI music community

