A GGUF conversion of Luigi/matcha-zh-tw-en-8k (a Taiwan-Mandarin + English, 8 kHz Matcha-TTS — CFM acoustic model + Vocos vocoder) for the ggml runtime RapidSpeech.cpp. It lets Matcha-TTS run on ggml-CUDA / ggml-CPU...
Source du modèle
Description de la source
A conversion of (a Taiwan-Mandarin + English, 8 kHz Matcha-TTS — CFM acoustic model + Vocos vocoder) for the runtime . It lets Matcha-TTS run on — in particular on the (Maxwell sm_53, CUDA 10.2), where the ggml engine fits the 4 GB budget that ONNX Runtime's CUDA EP overflows.
Sources
1 sourceVérifié 13 sept.
Artefacts du modèle
1 artefactExtraits de sources
2 extraitsmatcha8k.gguf (~105 MB) — 474 learned tensors (acoustic 394 + Vocos 80) + all hyper-parameters
(sample_rate=8000, ode_steps=3, ...) packed into GGUF KV. Converted with
scripts/convert_matcha_onnx_to_gguf.py from the source bundle's model-steps-3.onnx +
vocos-8khz-univ.onnx. Round-trip validated: every GGUF tensor's bytes == the ONNX numpy (PASS).Cross-compiled (x86 → aarch64, gcc-8.3 + CUDA-10.2 / kreier patch set) and run on the device:
| Backend | warm RTF | audio | notes |
|---|---|---|---|
| RapidSpeech ggml-CPU | 0.507 | 3.18 s synth, valid (rms 0.118) | |
| RapidSpeech ggml-CUDA | 0.184 | identical audio | Tegra X1 cc 5.3, MATCHA_USE_CUDA=1; ~2.75× over CPU |
Real-utterance check (sentence 這個星期的研究進度。, 10 phoneme ids): 2.40 s @ 8 kHz, 151 mel frames
— matches the ONNX reference. ggml-CUDA peaks well under the 4 GB budget (the engine's whole reason on
this device).
The GGUF self-identifies as arch=matcha-tts. The CFM acoustic + Vocos vocoder + iSTFT run end-to-end;
the text→phoneme frontend is supplied externally (e.g. sherpa-onnx's Matcha frontend, --debug=1
dumps the int32 phoneme ids). Feed the ids via the MATCHA_IDS env (little-endian int32 file):
# CPU
matcha_e2e_test matcha8k.gguf out.wav # built-in fixture, or:
MATCHA_IDS=ids.bin matcha_e2e_test matcha8k.gguf out.wav
# ggml-CUDA (Maxwell sm_53+; matcha defaults to CPU because CUDA-graph replay needs cc>=800)
MATCHA_USE_CUDA=1 MATCHA_IDS=ids.bin matcha_e2e_test matcha8k.gguf out.wav
jetson-nano-gen1
(arch/matcha.cpp, scripts/convert_matcha_onnx_to_gguf.py).--- license: apache-2.0 language: - zh - en pipeline_tag: text-to-speech tags: - matcha-tts - tts - ggml - gguf - rapidspeech - jetson - edge base_model: Luigi/matcha-zh-tw-en-8k library_name: rapidspeech.cpp --- # matcha-zh-tw-en-8k-gguf — Matcha-TTS (CFM) zh-TW/en @ 8 kHz, **ggml/GGUF** for RapidSpeech.cpp A **GGUF** conversion of [**Luigi/matcha-zh-tw-en-8k**](https://huggingface.co/Luigi/matcha-zh-tw-en-8k) (a Taiwan-Mandarin + English, 8 kHz Matcha-TTS — CFM acoustic model + Vocos vocoder) for the **ggml** runtime [**RapidSpeech.cpp**](https://github.com/vieenrose/RapidSpeech.cpp). It lets Matcha-TTS run on **ggml-CUDA / ggml-CPU** — in particular on the **Jetson Nano gen1** (Maxwell sm_53, CUDA 10.2), where the ggml engine fits the 4 GB budget that ONNX Runtime's CUDA EP overflows. ## Contents - `matcha8k.gguf` (~105 MB) — **474 learned tensors** (acoustic 394 + Vocos 80) + all hyper-parameters (`sample_rate=8000`, `ode_steps=3`, …) packed into GGUF KV. Converted with `scripts/convert_matcha_onnx_to_gguf.py` from the source bundle's `model-steps-3.onnx` + `vocos-8khz-univ.onnx`. **Round-trip validated**: every GGUF tensor's bytes == the ONNX numpy (PASS). ## Validated on real Jetson Nano gen1 (sm_53 Maxwell, CUDA 10.2, 4 GB) Cross-compiled (x86 → aarch64, gcc-8.3 + CUDA-10.2 / kreier patch set) and run on the device: | Backend | warm RTF | audio | notes | |---|---|---|---| | RapidSpeech **ggml-CPU** | **0.507** | 3.18 s synth, valid (rms 0.118) | | | RapidSpeech **ggml-CUDA** | **0.184** | identical audio | `Tegra X1 cc 5.3`, `MATCHA_USE_CUDA=1`; ~2.75× over CPU | Real-utterance check (sentence `這個星期的研究進度。`, 10 phoneme ids): **2.40 s @ 8 kHz, 151 mel frames** — matches the ONNX reference. ggml-CUDA peaks well under the 4 GB budget (the engine's whole reason on this device). ## Usage (RapidSpeech.cpp) The GGUF self-identifies as `arch=matcha-tts`. The CFM acoustic + Vocos vocoder + iSTFT run end-to-end; the **text→phoneme frontend is supplied externally** (e.g. sherpa-onnx's Matcha frontend, `--debug=1` dumps the int32 phoneme ids). Feed the ids via the `MATCHA_IDS` env (little-endian int32 file): ```sh # CPU matcha_e2e_test matcha8k.gguf out.wav # built-in fixture, or: MATCHA_IDS=ids.bin matcha_e2e_test matcha8k.gguf out.wav # ggml-CUDA (Maxwell sm_53+; matcha defaults to CPU because CUDA-graph replay needs cc>=800) MATCHA_USE_CUDA=1 MATC...
Source context: 25 downloads · 0 likes · Pipeline text-to-speech · Library rapidspeech.cpp · Repo Luigi/matcha-zh-tw-en-8k-gguf