--- license: apache-2.0 base_model: Qwen/Qwen3-TTS-12Hz-1.7B-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 1.7B CustomVoice — ONNX ONNX export of [Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice](https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice) for local inference with ONNX Runtime. Uses predefined built-in speaker voices selected by name at inference time; no reference audio is required. 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. The 0.6B version is in [`tonythethompson/Qwen3-TTS-12Hz-0.6B-CustomVoice-ONNX`](https://huggingface.co/tonythethompson/Qwen3-TTS-12Hz-0.6B-CustomVoice-ONNX). ## Source | Field | Value | |---|---| | Upstream model | [Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice](https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice) | | Upstream source revision | `0c0e3051f131929182e2c023b9537f8b1c68adfe` | | Packaging source revision | `a2b73f56ffec086c75f154024d5fc7f391f228af` | | 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, hidden=2048) | ~5.3 GB | | `talker_decode.onnx` + `.data` | Talker LM single-step decode | ~5.3 GB | | `code_predictor.onnx` + `.data` | Code Predictor (5 layers, 15 groups) | ~428 MB | | `vocoder.onnx` | Vocoder decoder (24kHz output) | ~435 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=2048 (larger than 0.6B) - **Code Predictor**: 5 layers, hidden=1024, generates codebook groups 1-15 - **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 predefined voices. The 1.7B CustomVoice variant targets higher synthesis quality than the 0.6B where VRAM and compute budget permit. ### 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/ElBruno.QwenTTS.git cd ElBruno.QwenTTS python python/download_onnx_models.py --repo-id elbruno/Qwen3-TTS-12Hz-1.7B-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. - Memory: the talker model pair alone is ~10.6 GB on disk; GPU VRAM requirement is proportionally larger than the 0.6B variant. - 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 - Very large model; requires substantial VRAM for GPU inference. - 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. ## Safety and Responsible Use Qwen3-TTS is a voice synthesis model capable of producing realistic speech. CustomVoice uses predefined speaker identities, which limits arbitrary voice cloning, but 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-1.7B-CustomVoice`. This packaging repo adds no new license terms.