Text-to-Speech
Transformers
Safetensors
Qwen3-TTS
English
text-generation
emotion
expressive-tts
lora
Instructions to use SpragAI/qwen3-tts-emotion-tags with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use SpragAI/qwen3-tts-emotion-tags with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-to-speech", model="SpragAI/qwen3-tts-emotion-tags")# Load model directly from transformers import AutoModelForSeq2SeqLM model = AutoModelForSeq2SeqLM.from_pretrained("SpragAI/qwen3-tts-emotion-tags", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Qwen3-TTS with Emotion Tags
This finetune provides inline delivery control for the nine Qwen3-TTS CustomVoice presets facilitating emotion controls directly from the transcript.
[Angry] I told them the whole story last night, and now everyone knows what happened.
It covers nine emotion tags across all nine preset voices, with the speaker embeddings left bit-identical to the base model meaning the source voice remains unchanged.
Tags [Angry] [Sad] [Happy] [Fast] [Gentle] [Tired] [Fearful] [Disgusted] [Surprised]
Voices aiden, dylan, eric, ono_anna, ryan, serena, sohee uncle_fu vivian
Usage
pip install qwen-tts
import soundfile as sf
import torch
from qwen_tts import Qwen3TTSModel
model = Qwen3TTSModel.from_pretrained(
"SpragAI/qwen3-tts-emotion-tags",
dtype=torch.bfloat16,
attn_implementation="sdpa",
device_map="cuda:0",
)
wav, sr = model.generate_custom_voice(
text="[Sad] None of it ever happened in the end.",
speaker="ryan", language="Auto")
sf.write("out.wav", wav[0], sr)
Samples
I told them the whole story last night, and now everyone knows what happened.
no tag (reference)
[Angry]
[Sad]
[Happy]
[Fast]
[Gentle]
[Tired]
[Fearful]
[Disgusted]
[Surprised]
Limitations
- Single utterance tags. A tag conditions the whole utterance wherever it appears.
- English only. Other languages may work but were not included in the training corpus.
Training
| base | Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice |
| method | LoRA r=32, alpha=64, dropout 0.05 |
| targets | q,k,v,o,gate,up,down_proj (talker body) |
| also trainable | the 15 code_predictor codec input embeddings |
| frozen | code_predictor network, codec_embedding (speaker rows preserved) |
| optimiser | Prodigy, d_coef 1.0, batch 4, 3 epochs |
| corpus | 76862 rows, 9 speakers, 9 tags, 16.7% with an explicit English prefix |
- Downloads last month
- 36
Model tree for SpragAI/qwen3-tts-emotion-tags
Base model
Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice