--- license: apache-2.0 base_model: Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice base_model_relation: quantized pipeline_tag: text-to-speech library_name: onnxruntime language: - multilingual tags: - onnx - onnxruntime - tts - qwen3-tts - text-to-speech --- # Qwen3-TTS 12Hz 0.6B CustomVoice — ONNX ONNX export of [Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice](https://huggingface.co/Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice) for local inference with ONNX Runtime. Unlike the Base variant, CustomVoice does not include the ECAPA-TDNN speaker encoder; it uses a set of predefined built-in speaker voices selected by name at inference time. This is an unofficial community mirror of the ONNX export; it is not a newly trained model. The Qwen team (Alibaba Cloud) is the original author. ## Source | Field | Value | |---|---| | Upstream model | [Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice](https://huggingface.co/Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice) | | Upstream source revision | `85e237c12c027371202489a0ec509ded67b5e4b5` | | Packaging source revision | `747ac4c3f6c6a317e83f6303148f28585a8bcadf` | | Export tool/script | ONNX export from upstream Qwen3-TTS PyTorch weights (community packaging) | | Quantization recipe | See `onnx/` filenames for FP32/FP16/quant variants shipped in this repo | ## Files | File | Description | Size | |---|---|---:| | `talker_prefill.onnx` + `.data` | Talker LM prefill (28 layers) | ~1.7 GB | | `talker_decode.onnx` + `.data` | Talker LM single-step decode | ~1.7 GB | | `code_predictor.onnx` | Code Predictor (5 layers, 15 groups) | ~420 MB | | `vocoder.onnx` + `.data` | Vocoder decoder (24kHz output) | ~437 MB | | `embeddings/` | Text/codec embeddings as .npy + config | ~1.4 GB | | `tokenizer/` | BPE tokenizer (vocab.json, merges.txt) | ~4 MB | ## Architecture - **Talker**: 28 transformer layers, 16 attn heads, 8 KV heads, hidden=1024 - **Code Predictor**: 5 layers, generates codebook groups 1-15 from Talker output - **Vocoder**: RVQ dequantize -> transformer -> BigVGAN decoder, 12Hz codec -> 24kHz audio - **KV Cache**: Decode step uses stacked format (num_layers, B, num_kv_heads, T, head_dim) ## Available Speakers Built-in speaker identities: `serena`, `vivian`, `uncle_fu`, `ryan`, `aiden`, `ono_anna`, `sohee`, `eric`, `dylan` ## Intended Use Multilingual text-to-speech for local inference via ONNX Runtime, using a predefined voice profile rather than reference-audio voice cloning. Voice cloning from reference audio requires the Base variant [`tonythethompson/Qwen3-TTS-12Hz-0.6B-Base-ONNX`](https://huggingface.co/tonythethompson/Qwen3-TTS-12Hz-0.6B-Base-ONNX); the 1.7B CustomVoice variant is in [`tonythethompson/Qwen3-TTS-12Hz-1.7B-CustomVoice-ONNX`](https://huggingface.co/tonythethompson/Qwen3-TTS-12Hz-1.7B-CustomVoice-ONNX). ### Standalone usage (external project) The snippet below uses an external C# project by elbruno and references that project's ONNX repo, not this one. ```bash git clone https://github.com/elbruno/qwen-labs-cs.git cd qwen-labs-cs python python/download_onnx_models.py --repo-id elbruno/Qwen3-TTS-12Hz-0.6B-CustomVoice-ONNX dotnet run --project src/QwenTTS -- --model-dir python/onnx_runtime --text "Hello world" --speaker ryan --language english ``` ## Runtime Notes - Designed for ONNX Runtime compatible runtimes. - Output sample rate: 24 kHz. - No reference audio required; select a speaker by name. - Validate on the target execution provider before production use. ## Precision and Packaging Export tooling, precision, and quantization are recorded in the **Source** table above. This packaging mirror does not publish independent parity benchmarks; validate on your target execution provider before production use. ## Limitations - Predefined speaker set is fixed; adding new voices requires the Base variant with ECAPA-TDNN voice cloning. - No repository-specific quality evaluation is documented here. - Multilingual coverage: verify the upstream model card for supported languages and quality by language. ## Safety and Responsible Use Qwen3-TTS is a voice synthesis model capable of producing realistic speech. CustomVoice uses predefined speaker identities (not arbitrary voice cloning), which limits some misuse vectors, but the synthesized output can still be deceptive to listeners. - Do not create synthetic speech intended to deceive listeners. - Disclose AI-generated audio where listeners would reasonably expect a human voice. - Users are responsible for compliance with applicable laws governing synthetic media in their jurisdiction. ## License [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/) — same as `Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice`. This packaging repo adds no new license terms.