cstr/snac-24khz-GGUF
SNAC 24 kHz Codec — GGUF (ggml-quantised)
GGUF / ggml conversion of `hubertsiuzdak/snac_24khz` — the 24 kHz Multi-Scale Neural Audio Codec used by Orpheus-TTS — for use with [CrispStrobe/CrispASR](https://github.com/CrispStrobe/CrispASR).
SNAC is a small (~25 MB) Residual Vector Quantisation codec by Hubert Siuzdak. Pair it with the `cstr/orpheus-3b-0.1-ft-GGUF` talker (or any other GGUF orpheus checkpoint) — the talker emits codec tokens but doesn't render audio without this codec.
Files
The codec runs in C++ inside libcrispasr once --codec-model snac-24khz.gguf is passed; no Python required at inference time.
Quick start
huggingface-cli download cstr/orpheus-3b-0.1-ft-GGUF orpheus-3b-0.1-ft-q8_0.gguf --local-dir .
huggingface-cli download cstr/snac-24khz-GGUF snac-24khz.gguf --local-dir .
./build/bin/crispasr --backend orpheus \
-m orpheus-3b-0.1-ft-q8_0.gguf \
--codec-model snac-24khz.gguf \
--voice tara --temperature 0.6 \
--tts "Hello, my name is Tara." \
--tts-output hello.wavOr pass -m auto and CrispASR's auto-download fetches both files from HF.
Architecture
The codec maps 7 talker emissions to 1 super-frame; 4 super-frames give a 32 × 32 ms = 128 ms audio chunk (8192 samples at 24 kHz). The streaming protocol from orpheus_snac.py emits the middle 2048 samples of each 4-super-frame sliding window.
Conversion
python models/convert-snac-to-gguf.py \
--input hubertsiuzdak/snac_24khz \
--output snac-24khz.ggufNo quantisation — the model is small enough (~25 MB) that the disk savings would be marginal and the quality risk on the codec output isn't worth it. The Q80 path collapses cosine similarity on `audioout` below the ASR-roundtrip threshold in our diff harness.
Used by
- `cstr/orpheus-3b-0.1-ft-GGUF` — canonical English Orpheus 3B-FT.
- (queued)
cstr/orpheus-kartoffel-de-GGUF— German Kartoffel_Orpheus finetunes. - (queued)
cstr/orpheus-3b-de-q8_0-GGUF— lex-au Orpheus-3B-DE Q8 mirror.
All three reuse this exact codec — only the talker GGUF changes.
Attribution
- Original codec: `hubertsiuzdak/snac_24khz` (MIT). Hubert Siuzdak.
- Reference paper: SNAC: Multi-Scale Neural Audio Codec.
- Reference codec implementation: hubertsiuzdak/snac.
- GGUF conversion + ggml runtime: `CrispStrobe/CrispASR` — see
src/orpheus_snac.cppandmodels/convert-snac-to-gguf.py.
License
MIT, inherited from the base codec.
Provenance and EU AI Act Art. 53 note
- Upstream model: hubertsiuzdak/snac_24khz — published by
hubertsiuzdak. - Upstream licence:
mit. This repository redistributes under the same terms; it grants no rights the upstream licence does not. - What was done here: format conversion and/or quantisation only (GGUF/GGML). No training, no fine-tuning, no merging, no distillation, no change to architecture, vocabulary or capability. Only the numeric representation of the upstream weights differs.
- Training data: documented — where it is documented at all — by the upstream provider; see the upstream model card. No training data was used, added or selected by this repository.
- Provider status: under Regulation (EU) 2024/1689 the upstream authors remain the provider of this model. Converting the serialisation format does not make this repository the provider of a new general-purpose AI model, and no such claim is made. Questions about training content, copyright policy or model capability belong upstream.
