ServeurpersoCom/acestep.cpp

Portable C++17 implementation of ACE-Step 1.5 AI Music Generator using GGML. Text + lyrics in, stereo 48kHz MP3 or WAV out. Runs on CPU, CUDA, ROCm, Metal, Vulkan.

What it solves

It provides a high-performance, local server for generating AI music from text descriptions. It allows users to create stereo 48kHz audio tracks on their own hardware without relying on cloud services, supporting a wide range of hardware backends including CPUs and various GPUs.

How it works

The project is a native C++ implementation powered by GGML, serving as a backend for the ACE-Step 1.5 models. It uses a pipeline consisting of a Language Model (LM) to generate lyrics and audio codes, a Diffusion Transformer (DiT) to render those codes, and a Variational Autoencoder (VAE) to produce the final audio. The system includes a browser-based WebUI for easy interaction and an API for advanced users to integrate the generation process into other applications.

Who it’s for

  • Musicians and creators who want to generate AI music locally with a simple interface.
  • Developers looking to integrate music generation capabilities via a REST API.
  • Power users who prefer running models on diverse hardware (NVIDIA, AMD, Intel, or Apple Silicon).

Highlights

  • Broad Hardware Support: Runs on CPU, CUDA, Metal, and Vulkan.
  • Flexible Model Options: Supports multiple LM sizes (0.6B to 4B) and various DiT variants (turbo for speed or sft for quality).
  • Local Control: Full local execution with a browser UI for writing captions, setting lyrics, and downloading tracks.
  • C++ Implementation: Optimized for performance using GGML and GGUF model formats.
  • Advanced Features: Supports LoRA adapters for style tuning and a reverse pipeline to extract metadata and lyrics from existing audio.

Related

  • Project
  • Project
  • Project
  • Project
  • Project