CaptainArni commited on
Commit
4f95e2a
·
verified ·
1 Parent(s): 80d86e7

Point the q8dit rows at audio.cpp#464

Browse files
Files changed (1) hide show
  1. README.md +94 -93
README.md CHANGED
@@ -1,93 +1,94 @@
1
- # audio.cpp GGUF
2
-
3
- GGUF conversions of music and speech models for
4
- [audio.cpp](https://github.com/0xShug0/audio.cpp), the ggml-based native audio
5
- inference framework.
6
-
7
- ## ACE-Step 1.5 XL
8
-
9
- | File | Size | Package | Upstream |
10
- |---|---:|---|---|
11
- | `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) |
12
- | `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) |
13
- | `ACE-Step1.5-GGUF/xl-turbo-q8dit/ace-step-1.5-xl-turbo-q8dit.gguf` | 9.97 GiB | *(no package row yet)* | as above |
14
- | `ACE-Step1.5-GGUF/xl-sft-q8dit/ace-step-1.5-xl-sft-q8dit.gguf` | 9.97 GiB | *(no package row yet)* | as above |
15
-
16
- The XL DiT is the larger ACE-Step 1.5 transformer: 32 layers of 2560 against
17
- turbo's 24 of 2048, with 32 attention heads of 128. Each file is self-contained
18
- the way audio.cpp's other ACE-Step GGUFs are — XL DiT, planner LM, text encoder
19
- and VAE in one file — so none of them needs another download.
20
-
21
- XL Turbo is guidance-distilled and ignores `guidance_scale`; XL SFT takes the
22
- CFG path. Both were converted from the float32 upstream snapshots.
23
-
24
- ## The `q8dit` builds
25
-
26
- `ace_step` is graded `No (planner sampling can fail)` for q8_0 in audio.cpp's
27
- [gguf.md](https://github.com/0xShug0/audio.cpp/blob/main/docs/gguf.md#support-and-test-status),
28
- and that grade is about the **planner LM**, not the DiT. The `q8dit` files
29
- quantise the DiT to q8_0 and keep the planner LM, text encoder and VAE at bf16:
30
-
31
- ```bash
32
- audiocpp_gguf ... \
33
- --keep-type "lm_weights*=bf16" \
34
- --keep-type "text_encoder_weights*=bf16" \
35
- --keep-type "vae_weights*=bf16" \
36
- --keep-type "dit_xl_turbo_silence_latent*=bf16" \
37
- --type q8_0 --output ace-step-1.5-xl-turbo-q8dit.gguf
38
- ```
39
-
40
- Measured on an RTX 5090 (CUDA), against the bf16 file at the same prompt and
41
- seed:
42
-
43
- | | size | 20 s of audio | RTF | waveform correlation vs bf16 |
44
- |---|---:|---:|---:|---:|
45
- | XL Turbo bf16 | 14.2 GiB | 14.2 s | 0.71 | reference |
46
- | XL Turbo q8dit | 9.97 GiB | 9.3 s | 0.46 | **0.989** |
47
- | XL Turbo, everything q8_0 | 8.36 GiB | 8.2 s | 0.41 | 0.094 |
48
-
49
- Every build is deterministic at a fixed seed (run-to-run correlation 1.0000), so
50
- the last column isolates what quantisation changes. On a sung 40 s take the
51
- q8dit build scores **0.997** for XL Turbo and **0.999** for XL SFT, and an ASR
52
- pass over both returns the same lyric line. A fully quantised build returns a
53
- different song from the same seed — it plays, it just isn't the same model.
54
-
55
- Validated on three prompts on one machine. Treat these as a preview: they are
56
- not covered by audio.cpp's path-test matrix, and there is no package row for
57
- them yet, so install them by hand.
58
-
59
- ## Install
60
-
61
- ```bash
62
- python tools/model_manager_v2.py install ace_step_xl_turbo_bf16
63
- ```
64
-
65
- The `q8dit` files have no package id yet — download one and point `--model` at
66
- its directory.
67
-
68
- ## Run
69
-
70
- The DiT variant is a load option, so name it explicitly:
71
-
72
- ```bash
73
- audiocpp_cli --task gen --family ace_step --model models/ACE-Step1.5-GGUF/xl-turbo \
74
- --backend cuda --task-route text2music \
75
- --text "warm lo-fi hip hop with a soft rhodes piano" --duration-seconds 60 \
76
- --load-option ace_step.dit_model_path=acestep-v15-xl-turbo --out song.wav
77
- ```
78
-
79
- For sung vocals, pass the lyrics *and* a language, and give the DiT more steps
80
- than the turbo default:
81
-
82
- ```bash
83
- --lyrics "[verse]
84
- City lights are falling slow" --language en --num-inference-steps 24
85
- ```
86
-
87
- XL support landed in audio.cpp via
88
- [PR #235](https://github.com/0xShug0/audio.cpp/pull/235); see
89
- `docs/models/ace_step.md` there for the full option reference and for rebuilding
90
- these files yourself.
91
-
92
- Weights are MIT-licensed by ACE-Step; this repository only redistributes them in
93
- a different container format.
 
 
1
+ # audio.cpp GGUF
2
+
3
+ GGUF conversions of music and speech models for
4
+ [audio.cpp](https://github.com/0xShug0/audio.cpp), the ggml-based native audio
5
+ inference framework.
6
+
7
+ ## ACE-Step 1.5 XL
8
+
9
+ | File | Size | Package | Upstream |
10
+ |---|---:|---|---|
11
+ | `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) |
12
+ | `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) |
13
+ | `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 |
14
+ | `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 |
15
+
16
+ \* 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.
17
+
18
+ The XL DiT is the larger ACE-Step 1.5 transformer: 32 layers of 2560 against
19
+ turbo's 24 of 2048, with 32 attention heads of 128. Each file is self-contained
20
+ the way audio.cpp's other ACE-Step GGUFs are — XL DiT, planner LM, text encoder
21
+ and VAE in one file — so none of them needs another download.
22
+
23
+ XL Turbo is guidance-distilled and ignores `guidance_scale`; XL SFT takes the
24
+ CFG path. Both were converted from the float32 upstream snapshots.
25
+
26
+ ## The `q8dit` builds
27
+
28
+ `ace_step` is graded `No (planner sampling can fail)` for q8_0 in audio.cpp's
29
+ [gguf.md](https://github.com/0xShug0/audio.cpp/blob/main/docs/gguf.md#support-and-test-status),
30
+ and that grade is about the **planner LM**, not the DiT. The `q8dit` files
31
+ quantise the DiT to q8_0 and keep the planner LM, text encoder and VAE at bf16:
32
+
33
+ ```bash
34
+ audiocpp_gguf ... \
35
+ --keep-type "lm_weights*=bf16" \
36
+ --keep-type "text_encoder_weights*=bf16" \
37
+ --keep-type "vae_weights*=bf16" \
38
+ --keep-type "dit_xl_turbo_silence_latent*=bf16" \
39
+ --type q8_0 --output ace-step-1.5-xl-turbo-q8dit.gguf
40
+ ```
41
+
42
+ Measured on an RTX 5090 (CUDA), against the bf16 file at the same prompt and
43
+ seed:
44
+
45
+ | | size | 20 s of audio | RTF | waveform correlation vs bf16 |
46
+ |---|---:|---:|---:|---:|
47
+ | XL Turbo bf16 | 14.2 GiB | 14.2 s | 0.71 | reference |
48
+ | XL Turbo q8dit | 9.97 GiB | 9.3 s | 0.46 | **0.989** |
49
+ | XL Turbo, everything q8_0 | 8.36 GiB | 8.2 s | 0.41 | 0.094 |
50
+
51
+ Every build is deterministic at a fixed seed (run-to-run correlation 1.0000), so
52
+ the last column isolates what quantisation changes. On a sung 40 s take the
53
+ q8dit build scores **0.997** for XL Turbo and **0.999** for XL SFT, and an ASR
54
+ pass over both returns the same lyric line. A fully quantised build returns a
55
+ different song from the same seed — it plays, it just isn't the same model.
56
+
57
+ Validated on three prompts on one machine. Treat these as a preview: they are
58
+ not covered by audio.cpp's path-test matrix.
59
+
60
+ ## Install
61
+
62
+ ```bash
63
+ python tools/model_manager_v2.py install ace_step_xl_turbo_bf16
64
+ ```
65
+
66
+ The `q8dit` ids arrive with [audio.cpp#464](https://github.com/0xShug0/audio.cpp/pull/464);
67
+ until then, download the file and point `--model` at its directory.
68
+
69
+ ## Run
70
+
71
+ The DiT variant is a load option, so name it explicitly:
72
+
73
+ ```bash
74
+ audiocpp_cli --task gen --family ace_step --model models/ACE-Step1.5-GGUF/xl-turbo \
75
+ --backend cuda --task-route text2music \
76
+ --text "warm lo-fi hip hop with a soft rhodes piano" --duration-seconds 60 \
77
+ --load-option ace_step.dit_model_path=acestep-v15-xl-turbo --out song.wav
78
+ ```
79
+
80
+ For sung vocals, pass the lyrics *and* a language, and give the DiT more steps
81
+ than the turbo default:
82
+
83
+ ```bash
84
+ --lyrics "[verse]
85
+ City lights are falling slow" --language en --num-inference-steps 24
86
+ ```
87
+
88
+ XL support landed in audio.cpp via
89
+ [PR #235](https://github.com/0xShug0/audio.cpp/pull/235); see
90
+ `docs/models/ace_step.md` there for the full option reference and for rebuilding
91
+ these files yourself.
92
+
93
+ Weights are MIT-licensed by ACE-Step; this repository only redistributes them in
94
+ a different container format.