Views
No views yet
hi) LoRA finetune of Qwen/Qwen3-TTS-12Hz-0.6B-Base, with the LoRA adapter merged into the base weights and the result quantized to 4-bit NF4 using bitsandbytes.| Base model | Qwen/Qwen3-TTS-12Hz-0.6B-Base |
| Architecture | Qwen3TTSForConditionalGeneration (discrete multi-codebook LM talker + code predictor) |
| Parameters | ~0.6B (talker), plus speech tokenizer |
| Target language | Hindi (hi) |
| Finetuning method | LoRA (adapter merged into base) |
| Quantization | bitsandbytes 4-bit NF4, double quantization, bfloat16 compute dtype |
| Speech tokenizer | Qwen3-TTS-Tokenizer-12Hz (12.5 Hz frame rate, 24 kHz audio) |
| Sample rate | 24 kHz |
| License | Apache-2.0 (inherited from base) |
text_projection, codec_head, code_predictor, speaker_encoder.config.json # Model + quantization config
generation_config.json # Default sampling params
model.safetensors # 4-bit NF4 quantized weights (~1.2 GB)
merges.txt / vocab.json # Text tokenizer
tokenizer_config.json
preprocessor_config.json
speech_tokenizer/ # Qwen3-TTS-Tokenizer-12Hz (encode/decode audio)1conda create -n qwen3-tts python=3.12 -y
2conda activate qwen3-tts
3
4pip install -U qwen-tts
5pip install -U bitsandbytes # required to load the 4-bit weights
6# Optional, for faster inference on supported GPUs:
7pip install -U flash-attn --no-build-isolationconfig.json, so the 4-bit weights load automatically — no extra BitsAndBytesConfig is needed.1import torch
2import soundfile as sf
3from qwen_tts import Qwen3TTSModel
4
5MODEL_ID = "<your-username>/Qwen-3-TTS-12Hz-Base-hi-LoRA-Finetuned-BNB-NF4"
6# or a local path to this folder
7
8model = Qwen3TTSModel.from_pretrained(
9 MODEL_ID,
10 device_map="cuda:0",
11 attn_implementation="flash_attention_2", # drop if flash-attn is not installed
12)
13
14# Short Hindi reference clip + its transcript for cloning
15ref_audio = "path/to/reference_hindi.wav"
16ref_text = "नमस्ते, मेरा नाम आरव है और मुझे संगीत सुनना बहुत पसंद है।"
17
18wavs, sr = model.generate_voice_clone(
19 text="आज मौसम बहुत सुहाना है, चलिए थोड़ी देर बाहर टहलने चलते हैं।",
20 language="Hindi",
21 ref_audio=ref_audio,
22 ref_text=ref_text,
23)
24
25sf.write("output_hindi_clone.wav", wavs[0], sr)1import torch
2from transformers import AutoModelForCausalLM, AutoProcessor
3
4model = AutoModelForCausalLM.from_pretrained(
5 MODEL_ID,
6 device_map="cuda:0",
7 trust_remote_code=True,
8)
9processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)| Method | LoRA, adapter merged into base weights |
| Target language | Hindi (hi) |
| LoRA rank / alpha / dropout | TBD |
| Target modules | TBD |
| Training data | TBD |
| Epochs / steps | TBD |
| Optimizer / LR / schedule | TBD |
| Hardware | TBD |
1@article{Qwen3-TTS,
2 title={Qwen3-TTS Technical Report},
3 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},
4 journal={arXiv preprint arXiv:2601.15621},
5 year={2026}
6}