audio.cpp-gguf / README.md
CaptainArni's picture
Add model card metadata
ac4d11e verified
|
Raw History Blame Contribute Delete
4.43 kB
---
license: mit
pipeline_tag: text-to-audio
library_name: gguf
tags:
- audio
- music
- text2music
- ace-step
- gguf
- audio.cpp
- quantized
base_model:
- ACE-Step/acestep-v15-xl-turbo
- ACE-Step/acestep-v15-xl-sft
base_model_relation: quantized
---
# audio.cpp GGUF
GGUF conversions of music and speech models for
[audio.cpp](https://github.com/0xShug0/audio.cpp), the ggml-based native audio
inference framework.
## ACE-Step 1.5 XL
| File | Size | Package | Upstream |
|---|---:|---|---|
| `ACE-Step1.5-GGUF/xl-turbo/ace-step-1.5-xl-turbo-bf16.gguf` | 14.2 GiB | `ace_step_xl_turbo_bf16` | [acestep-v15-xl-turbo](https://huggingface.co/ACE-Step/acestep-v15-xl-turbo) |
| `ACE-Step1.5-GGUF/xl-sft/ace-step-1.5-xl-sft-bf16.gguf` | 14.2 GiB | `ace_step_xl_sft_bf16` | [acestep-v15-xl-sft](https://huggingface.co/ACE-Step/acestep-v15-xl-sft) |
| `ACE-Step1.5-GGUF/xl-turbo-q8dit/ace-step-1.5-xl-turbo-q8dit.gguf` | 9.97 GiB | `ace_step_xl_turbo_q8dit` * | as above |
| `ACE-Step1.5-GGUF/xl-sft-q8dit/ace-step-1.5-xl-sft-q8dit.gguf` | 9.97 GiB | `ace_step_xl_sft_q8dit` * | as above |
\* proposed in [audio.cpp#464](https://github.com/0xShug0/audio.cpp/pull/464); until that lands, download the file and point `--model` at its directory.
The XL DiT is the larger ACE-Step 1.5 transformer: 32 layers of 2560 against
turbo's 24 of 2048, with 32 attention heads of 128. Each file is self-contained
the way audio.cpp's other ACE-Step GGUFs are — XL DiT, planner LM, text encoder
and VAE in one file — so none of them needs another download.
XL Turbo is guidance-distilled and ignores `guidance_scale`; XL SFT takes the
CFG path. Both were converted from the float32 upstream snapshots.
## The `q8dit` builds
`ace_step` is graded `No (planner sampling can fail)` for q8_0 in audio.cpp's
[gguf.md](https://github.com/0xShug0/audio.cpp/blob/main/docs/gguf.md#support-and-test-status),
and that grade is about the **planner LM**, not the DiT. The `q8dit` files
quantise the DiT to q8_0 and keep the planner LM, text encoder and VAE at bf16:
```bash
audiocpp_gguf ... \
--keep-type "lm_weights*=bf16" \
--keep-type "text_encoder_weights*=bf16" \
--keep-type "vae_weights*=bf16" \
--keep-type "dit_xl_turbo_silence_latent*=bf16" \
--type q8_0 --output ace-step-1.5-xl-turbo-q8dit.gguf
```
Measured on an RTX 5090 (CUDA), against the bf16 file at the same prompt and
seed:
| | size | 20 s of audio | RTF | waveform correlation vs bf16 |
|---|---:|---:|---:|---:|
| XL Turbo bf16 | 14.2 GiB | 14.2 s | 0.71 | reference |
| XL Turbo q8dit | 9.97 GiB | 9.3 s | 0.46 | **0.989** |
| XL Turbo, everything q8_0 | 8.36 GiB | 8.2 s | 0.41 | 0.094 |
Every build is deterministic at a fixed seed (run-to-run correlation 1.0000), so
the last column isolates what quantisation changes. On a sung 40 s take the
q8dit build scores **0.997** for XL Turbo and **0.999** for XL SFT, and an ASR
pass over both returns the same lyric line. A fully quantised build returns a
different song from the same seed — it plays, it just isn't the same model.
Validated on three prompts on one machine. Treat these as a preview: they are
not covered by audio.cpp's path-test matrix.
## Install
```bash
python tools/model_manager_v2.py install ace_step_xl_turbo_bf16
```
The `q8dit` ids arrive with [audio.cpp#464](https://github.com/0xShug0/audio.cpp/pull/464);
until then, download the file and point `--model` at its directory.
## Run
The DiT variant is a load option, so name it explicitly:
```bash
audiocpp_cli --task gen --family ace_step --model models/ACE-Step1.5-GGUF/xl-turbo \
--backend cuda --task-route text2music \
--text "warm lo-fi hip hop with a soft rhodes piano" --duration-seconds 60 \
--load-option ace_step.dit_model_path=acestep-v15-xl-turbo --out song.wav
```
For sung vocals, pass the lyrics *and* a language, and give the DiT more steps
than the turbo default:
```bash
--lyrics "[verse]
City lights are falling slow" --language en --num-inference-steps 24
```
XL support landed in audio.cpp via
[PR #235](https://github.com/0xShug0/audio.cpp/pull/235); see
`docs/models/ace_step.md` there for the full option reference and for rebuilding
these files yourself.
Weights are MIT-licensed by ACE-Step; this repository only redistributes them in
a different container format.