Qwen3-TTS-12Hz-0.6B-CustomVoice GGUF
GGUF packages of Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice for audio.cpp (qwen3_tts family).
Each file is a standalone package: the talker, the speech tokenizer, config.json, the tokenizer files and the audio.cpp model spec are all embedded. Point --model at the .gguf file (or at a directory holding only one of them).
| File | Type | Size |
|---|---|---|
qwen3-tts-12hz-0.6b-customvoice-q8_0.gguf |
Q8_0 talker, original types elsewhere | 1.71 GB |
qwen3-tts-12hz-0.6b-customvoice-bf16.gguf |
BF16 | 2.16 GB |
The Q8_0 file uses the converter's default selection, which matches the official Qwen3-TTS-12Hz-0.6B-Base Q8_0 package from audio-cpp/audio.cpp-gguf: talker attention/MLP projections, text projection, codec head and code-predictor heads are Q8_0; norms stay BF16, text and codec embeddings F16, speech-tokenizer convolutions F32.
Usage
Built-in speakers: Vivian, Serena, Uncle_Fu, Dylan, Eric, Ryan, Aiden, Ono_Anna, Sohee.
audiocpp_cli --task tts --family qwen3_tts \
--model qwen3-tts-12hz-0.6b-customvoice-q8_0.gguf \
--text "今天天气不错,我们一起去公园散步吧。" \
--request-option voice_id=Vivian \
--instruct "Very happy." \
--out out.wav
--instruct is optional. Streaming (--mode streaming) works the same way as the 1.7B CustomVoice package.
How it was made
Converted with audiocpp_gguf built from audio.cpp commit 52118521b338aaa376ad58350ec772342993485b:
audiocpp_gguf \
--input model_weights=Qwen3-TTS-12Hz-0.6B-CustomVoice/model.safetensors \
--input speech_tokenizer_weights=Qwen3-TTS-12Hz-0.6B-CustomVoice/speech_tokenizer/model.safetensors \
--root Qwen3-TTS-12Hz-0.6B-CustomVoice \
--family qwen3_tts \
--output qwen3-tts-12hz-0.6b-customvoice-q8_0.gguf \
--type q8_0
(--type bf16 for the BF16 file.)
Validation
On CPU with the audio.cpp v0.9.2 library, the Q8_0 file was run with all nine speakers on short Chinese, English, Japanese and Korean sentences, an emotion instruction, and a 35-second Chinese passage; the BF16 file with Vivian on a short sentence and the same passage. Transcribing every output with Qwen3-ASR-0.6B (Q8_0) returned the input text, differing only in punctuation. The 35-second passage showed no long silences (longest pause 1.2 s for Q8_0, 0.7 s for BF16).
License
Apache-2.0, the license of the original Qwen3-TTS weights.