ACE-Step Studio
The native macOS take on the KRT Studio music workflow — a separate lightweight product for Apple Silicon.
- ~7.7 s / 30 s audio
- ~3.9× realtime
- 25 GB → ~400 MB
- Swift + MLX
What it is
A macOS app that generates music locally on Apple Silicon. It is the native version of the KRT Studio music workflow — the same direction, packaged as an app for a single Mac instead of a server platform.
Why it exists
KRT Studio is a full self-hosted platform: it assumes a GPU fleet and someone who maintains it. For the music workflow that bar is unnecessary — the user wants to type a description and get a track, not provision a server.
Hence the split:
- KRT Studio — a platform on your own GPUs, covering every modality;
- ACE-Step Studio — a separate lightweight product that runs entirely on one Mac.
What I did
The full native pipeline in Swift and MLX:
Prompt → Tokenizer → Qwen3 → Conditioning → DiT → VAE → Audio
Porting every stage, the runtime, and the app itself.
What’s technically interesting
Parity. The ported pipeline was verified stage by stage against the reference implementation, not just by listening to the output:
| Stage | Deviation |
|---|---|
| Tokenizer | bit-exact |
| Tokenizer indices | 50 of 50 exact |
| Qwen3 | 3.39×10⁻⁵ |
| DiT | 4.35×10⁻⁵ |
Stage-by-stage checking is not a formality here. In a generative pipeline an error in an early stage produces audio that subjectively sounds acceptable, and tracing the cause afterwards is nearly impossible. Comparing intermediate tensors catches the drift where it appears.
VAE and memory. A straightforward decode needed around 25 GB of buffers, which puts generation outside the reach of a normal machine. A tiled decoder cut the VAE buffer cache to ~400 MB. That optimisation is what turns a demo into an app you can hand to someone.
Speed. 30 seconds of music in ~7.7 s on an M1 Max — roughly ~3.9× faster than realtime, locally and without a server.
What came out of it
Music generation on a Mac with no cloud and no GPU fleet, with verified parity against the reference implementation.
Release in preparation.