license: apache-2.0
pipeline_tag: text-to-speech
base_model: Qwen/Qwen3-TTS-12Hz-0.6B-Base
language:
- zh
- en
- ja
- ko
- de
- fr
- ru
- pt
- es
- it
tags:
- audio
- tts
- voice-clone
qwen_tts_finetune_0.6B_e10_l1e6
This is a fine-tuned Qwen3-TTS-12Hz-0.6B-Base model for custom voice cloning, applying the fix from QwenLM/Qwen3-TTS#178.
Fine-Tuning Parameters
| Parameter | Value |
|---|---|
| Base model | Qwen/Qwen3-TTS-12Hz-0.6B-Base |
| Speaker | duarte |
| Training samples | 200 |
| Test samples | 10 |
| Learning rate | 1e-06 |
| Epochs | 10 |
| Batch size | 4 |
| Gradient accumulation | 4 |
| Seed | 42 |
| Subcodec input | false |
Evaluation Results
| Metric | Value |
|---|---|
| WER (Word Error Rate) | 0.0229 |
| CER (Character Error Rate) | 0.0019 |
| Avg Duration Diff | +0.12 s |
Qwen3-TTS-12Hz-0.6B-Base (Base Model)
Qwen3-TTS Technical Report | GitHub Repository | Hugging Face Demo
Qwen3-TTS is a family of advanced multilingual, controllable, robust, and streaming text-to-speech models. Trained on over 5 million hours of speech data spanning 10 languages, Qwen3-TTS supports state-of-the-art 3-second voice cloning and description-based control.
This specific checkpoint is the 0.6B Base model, which is capable of rapid voice cloning from a user-provided audio input.
Quickstart
Installation
pip install -U qwen-tts
# Optional: for optimized performance
pip install -U flash-attn --no-build-isolation
Sample Usage (Voice Clone)
To clone a voice and synthesize new content using the Base model, you can use the following code snippet:
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel
# Load the model
model = Qwen3TTSModel.from_pretrained(
"Qwen/Qwen3-TTS-12Hz-0.6B-Base",
device_map="cuda:0",
dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)
# Reference audio for cloning
ref_audio = "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav"
ref_text = "Okay. Yeah. I resent you. I love you. I respect you. But you know what? You blew it! And thanks to you."
# Generate speech
wavs, sr = model.generate_voice_clone(
text="I am solving the equation: x = [-b ± √(b²-4ac)] / 2a? Nobody can — it's a disaster (◍•͈⌔•͈◍), very sad!",
language="English",
ref_audio=ref_audio,
ref_text=ref_text,
)
# Save the resulting audio
sf.write("output_voice_clone.wav", wavs[0], sr)
Overview
Introduction
Qwen3-TTS covers 10 major languages (Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, and Italian) as well as multiple dialectal voice profiles to meet global application needs. Key features:
- Powerful Speech Representation: Powered by the self-developed Qwen3-TTS-Tokenizer-12Hz, it achieves efficient acoustic compression and high-dimensional semantic modeling.
- Universal End-to-End Architecture: Utilizing a discrete multi-codebook LM architecture, it realizes full-information end-to-end speech modeling.
- Extreme Low-Latency Streaming Generation: End-to-end synthesis latency as low as 97ms, meeting the rigorous demands of real-time interactive scenarios.
- Intelligent Text Understanding and Voice Control: Supports speech generation driven by natural language instructions, allowing for flexible control over multi-dimensional acoustic attributes.
Model Architecture
Citation
If you find this work useful, please consider citing the technical report:
@article{Qwen3-TTS,
title={Qwen3-TTS Technical Report},
author={Hangrui Hu and Xinfa Zhu and Ting He and Dake Guo and Bin Zhang and Xiong Wang and Zhifang Guo and Ziyue Jiang and Hongkun Hao and Zishan Guo and Xinyu Zhang and Pei Zhang and Baosong Yang and Jin Xu and Jingren Zhou and Junyang Lin},
journal={arXiv preprint arXiv:2601.15621},
year={2026}
}
Xet Storage Details
- Size:
- 4.41 kB
- Xet hash:
- f0dcc899f448834e5140b3b0c283ded41c0a9440628a99c3d9d9adbb5708748c
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.