Commit 55ee8d0
tts-cpp: chatterbox-mtl — q8 KV-cache e2e coverage in test_multilingual_synth
Adds end-to-end regression coverage for the q8-on-GPU align-cast fix, on top of
the op-level test_metal_ops sentinel:
- test_multilingual_synth: new --kv-cache-type passthrough (+ CHATTERBOX_KV_CACHE_TYPE
env fallback), forwarded to the CLI. Lets the existing MTL synth harness —
which already synthesizes on the GPU, writes a WAV, and validates audio
sanity (RMS/peak/clipping/silence) — exercise the quantized KV path.
- CMake: register mtl-synth-q8-<lang> for a diverse script subset
(en/ar/ru/hi = Latin/Arabic/Cyrillic/Devanagari), labelled `mtl-q8`. On a
Metal fleet these hit the exact path that used to SIGABRT ("unsupported op
'CONT'") before the fix; the script diversity doubles as cross-language
alignment coverage under quantization. Same env model wiring
(CHATTERBOX_T3_MTL / CHATTERBOX_S3GEN) as the f32 mtl-synth-* tests.
Local validation (stock ggml Metal, M2) via an Engine-level WAV harness: q8 on
Metal produces real audio across en/es/fr/de/ar/ru/hi/ko (no crash, finite,
non-clipped); q8-vs-f32 alignment tracks closely (e.g. ar q8 5.12s/rms .051 vs
f32 5.00s/rms .051).
Refs QVAC-19557
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent c91d49f commit 55ee8d0
2 files changed
Lines changed: 45 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
745 | 745 | | |
746 | 746 | | |
747 | 747 | | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
748 | 783 | | |
749 | 784 | | |
750 | 785 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
| 173 | + | |
173 | 174 | | |
174 | 175 | | |
175 | 176 | | |
| |||
189 | 190 | | |
190 | 191 | | |
191 | 192 | | |
| 193 | + | |
192 | 194 | | |
193 | 195 | | |
194 | 196 | | |
| |||
215 | 217 | | |
216 | 218 | | |
217 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
218 | 224 | | |
219 | 225 | | |
220 | 226 | | |
| |||
243 | 249 | | |
244 | 250 | | |
245 | 251 | | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
246 | 256 | | |
247 | 257 | | |
248 | 258 | | |
| |||
0 commit comments