CoolFace
Modelpublic

cstr/qwen3-tts-tokenizer-12hz-GGUF

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
6likes4.4kdownloads
Model Card

Qwen3-TTS Tokenizer 12Hz — GGUF (CrispASR)

GGUF / ggml conversions of `Qwen/Qwen3-TTS-Tokenizer-12Hz` for use with the qwen3-tts backend in [CrispStrobe/CrispASR](https://github.com/CrispStrobe/CrispASR).

Qwen3-TTS-Tokenizer-12Hz is the separate speech tokenizer / codec used by the Qwen3-TTS family:

  • —10 supported languages: zh en ja ko de fr ru pt es it
  • —12.5 Hz, 16-codebook speech representation
  • —used for reference-audio encoding, voice-pack baking, and final waveform decode
  • —Apache-2.0 licence

This repo contains the tokenizer / codec only. Use it together with the talker GGUF from `cstr/qwen3-tts-0.6b-base-GGUF`.

Files

FileSizeNotes
qwen3-tts-tokenizer-12hz.gguf342 MBF16
qwen3-tts-tokenizer-12hz-q8_0.gguf277 MBQ8_0 codec quant

Quick Start

bash
./build/bin/crispasr \
    --backend qwen3-tts \
    -m qwen3-tts-12hz-0.6b-base.gguf \
    --codec-model qwen3-tts-tokenizer-12hz.gguf \
    --voice clone.wav \
    --ref-text "Exact transcript of clone.wav" \
    --tts "Hello there" \
    --tts-output hello.wav

The tokenizer GGUF is used for:

  • —encoding reference audio into ref_code
  • —baking / loading voice-pack GGUFs
  • —decoding generated codes back into 24 kHz mono WAV

Quantisation Notes

Current CrispASR validation status:

  • —qwen3-tts-tokenizer-12hz.gguf
  • —reference baseline
  • —qwen3-tts-tokenizer-12hz-q8_0.gguf
  • —usable, but numerically less faithful than the F16 codec in strict diff tests

For best fidelity, keep the tokenizer / codec at F16 even when quantising the talker. In current CrispASR testing, codec quantisation drifts earlier in the codec-encoder path than talker-only quantisation.

This repo may also publish lower-bit talker variants in the companion talker repo. If you use them, the safest pairing is still:

  • —quantised talker
  • —qwen3-tts-tokenizer-12hz.gguf kept at F16

In other words: if you must choose where to keep precision, keep it in the tokenizer / codec first.

How this was made

  1. 1.The upstream tokenizer / codec checkpoint was converted to GGUF F16 by `models/convert-qwen3-tts-tokenizer-to-gguf.py`.
  2. 2.Quantised variants are produced with CrispASR's GGUF quantiser.
  3. 3.Encode / decode inference is implemented in `src/qwen3_tts.cpp`, sharing the same runtime as the qwen3-tts talker backend.

Reference implementation

Architecture and behaviour were checked against the official Qwen release:

Related

License

Apache-2.0, inherited from the base model.

Provenance and EU AI Act Art. 53 note

  • —Upstream model: Qwen/Qwen3-TTS-Tokenizer-12Hz — published by Qwen.
  • —Upstream licence: apache-2.0. 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. No training-content summary was found on the upstream model card at the time of writing; that documentation gap is upstream's and is not filled here.
  • —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.