Tre righe di codice. Tre secondi di audio. Ed ecco una voce sintetica che parla 10 lingue, italiano compreso, con una qualità che fa impallidire i servizi a pagamento. Qwen3-TTS è open source, gira sul tuo PC e non manda un solo byte nel cloud. Ecco come installarlo e usarlo in 15 minuti.
Qwen3-TTS: il text-to-speech che cambia le regole
A gennaio 2026, il team Qwen di Alibaba ha rilasciato Qwen3-TTS: un sistema text-to-speech open source che fa tre cose che fino a ieri richiedevano servizi cloud da centinaia di euro al mese.
Voice cloning — clona qualsiasi voce da soli 3 secondi di audio di riferimento
Voice design — crea voci dal nulla descrivendo come devono suonare in linguaggio naturale
Generazione multilingue — parla in 10 lingue (cinese, inglese, italiano, giapponese, coreano, tedesco, francese, russo, portoghese, spagnolo) con latenza di 97 millisecondi
Licenza Apache 2.0 — significa che puoi usarlo anche a fini commerciali, gratis, senza vincoli. Addestrato su 5 milioni di ore di audio, batte la concorrenza nei benchmark WER (Word Error Rate) su tutte e 10 le lingue, con una speaker similarity media di 0.789 sul voice cloning multilingue (superiore a ElevenLabs con 0.75 e MiniMax con 0.72). In parole povere: le voci clonate sono quasi indistinguibili dall'originale.
Cosa ti serve: low-end vs high-end
Qwen3-TTS ha due varianti, e la differenza non è solo di qualità — è di cosa puoi fare. Ecco la mappa completa per capire dove cadi.
GPU: GTX 1060 6GB, GTX 1650, Quadro T2000 (4 GB), o simili
Modello: 0.6B (scarica ~2.5 GB) — CustomVoice + Base (voice cloning). NOTA: il parametro instruct (tono, emozioni) è ignorato, la voce sarà corretta ma piatta
VoiceDesign (crea voci dal nulla): NON disponibile in 0.6B — serve il 1.7B o Google Colab
dtype: torch.float32 + device_map: "auto" (float16 causa errori NaN su GPU Turing/Pascal)
Iscriviti alla newsletter per ricevere i migliori articoli direttamente nella tua inbox.
Sicilia Tech: 5 miliardi di ambizioni, 714 startup e una domanda scomoda
STM investe €5B a Catania, Ragusa genera il 42% del fatturato ICT siciliano, 714 startup nel registro. Ma quante sopravvivono senza fondi pubblici?
Velocità: generazione in 5-15 secondi per frase
Step 0: Verifica che la GPU funzioni
Prima di installare qualsiasi cosa, verifica che i driver NVIDIA siano attivi. Apri un terminale e scrivi:
bash
nvidia-smi
Se vedi una tabella con il nome della tua GPU e la VRAM, sei a posto — salta al passo successivo. Se invece ricevi "comando non trovato", devi installare i driver.
Step 1: Installazione (5 minuti)
Apri il terminale e crea un ambiente Python isolato. Usiamo venv, che è incluso in Python — non devi installare nulla di extra. Se preferisci Conda (un gestore di ambienti più avanzato, scaricabile da conda.io), funziona ugualmente.
bash
# Crea un ambiente Python isolato (venv è incluso in Python, zero installazioni extra)
# Usa Python 3.12 o 3.13 — la 3.14 è troppo recente e può dare problemi
# Su Fedora: sudo dnf install python3.12
# Su Ubuntu/Debian: sudo apt install python3.12 python3.12-venv
python3.12 -m venv qwen-tts # oppure python3.13, ma NON python3.14
source qwen-tts/bin/activate # Windows: qwen-tts\Scripts\activate
# Installa Qwen3-TTS (una riga, tutto incluso)
pip install -U qwen-tts
Serve anche SoX (Sound eXchange), un tool audio di sistema usato internamente dal modello per processare i file audio:
bash
# Su Fedora/RHEL:
sudo dnf install sox
# Su Ubuntu/Debian:
sudo apt install sox
# Su macOS:
brew install sox
Questo è tutto. Il pacchetto qwen-tts installa tutte le dipendenze: PyTorch, Transformers, soundfile. Se hai una GPU compatibile e vuoi spremere le massime prestazioni, puoi aggiungere FlashAttention2. Ma attenzione: richiede il CUDA Toolkit completo installato sul sistema (non basta PyTorch). Se il comando fallisce, salta pure — Qwen3-TTS funziona perfettamente anche senza.
bash
# Opzionale: FlashAttention2 (velocità +30-40%)
# RICHIEDE il CUDA Toolkit completo (nvcc). Se non lo hai, SALTA questo step.
# Su Fedora/RHEL: sudo dnf install cuda-toolkit
# Su Ubuntu/Debian: sudo apt install nvidia-cuda-toolkit
# Qwen3-TTS funziona benissimo anche senza.
pip install -U flash-attn --no-build-isolation
Step 2: Genera il tuo primo audio
python
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel
# === SCEGLI LA TUA CONFIG ===
# LOW-END (GPU 4-6 GB): usa 0.6B + float32 + auto (spalma tra GPU e RAM)
model = Qwen3TTSModel.from_pretrained(
"Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice",
device_map="auto",
dtype=torch.float32,
)
# HIGH-END (GPU 8+ GB): decommenta queste righe e commenta quelle sopra
# model = Qwen3TTSModel.from_pretrained(
# "Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice",
# device_map="cuda:0",
# dtype=torch.bfloat16,
# )
# Genera audio con voce preimpostata
wavs, sr = model.generate_custom_voice(
text="Ciao, sono una voce generata da Qwen3-TTS. "
"Giro interamente sul tuo computer, senza cloud.",
language="Italian",
speaker="Ryan",
# instruct="Speak calmly and clearly.", # NOTA: ignorato dal 0.6B, funziona solo col 1.7B
)
sf.write("primo_audio.wav", wavs[0], sr)
print("Audio salvato: primo_audio.wav")
Esegui con python demo_base.py (NONbash demo_base.py — è Python, non bash!). Apri primo_audio.wav con il tuo player audio. La qualità è da servizio premium.
Le voci disponibili includono Ryan (maschile, dinamica, inglese nativo), Vivian (femminile, brillante, cinese nativo), Serena (femminile, calda, cinese), Aiden (maschile, solare, americano) e altre. L'italiano non ha una voce nativa dedicata, ma Ryan e Aiden gestiscono bene l'italiano grazie al training multilingue.
Step 3: Crea una voce dal nulla (Voice Design)
Ed è qui che la magia si fa seria. Il modello VoiceDesign ti permette di inventare voci che non esistono semplicemente descrivendole a parole. Vuoi un baritono con accento caldo? Una voce giovane ed energica? Basta chiederlo.
A differenza di altri sistemi TTS, Qwen3-TTS non supporta SSML (il linguaggio a tag per controllare pause e intonazione). Usa invece il parametro instruct, che accetta istruzioni in linguaggio naturale: "Speak with enthusiasm and warmth", "Read slowly with dramatic pauses", "Sound like a tired person at the end of a long day". Funziona sorprendentemente bene — ma solo col modello 1.7B. Col 0.6B il parametro viene silenziosamente ignorato.
python
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel
model = Qwen3TTSModel.from_pretrained(
"Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign",
device_map="cuda:0",
dtype=torch.bfloat16,
)
# Descrivi la voce che vuoi — in linguaggio naturale!
wavs, sr = model.generate_voice_design(
text="Benvenuti nel mio canale. Oggi parliamo di "
"intelligenza artificiale e di come sta cambiando tutto.",
language="Italian",
instruct="Deep warm male voice, calm and authoritative, "
"like a podcast host. Medium pace, clear diction.",
)
sf.write("voce_podcast.wav", wavs[0], sr)
print("Voce podcast generata!")
Qualche esempio di prompt per il voice design che funzionano bene:
"Young energetic female voice, bright and cheerful, like a tech YouTuber" — perfetta per video tutorial
"Deep authoritative male voice, slow pace, BBC newsreader style" — ideale per podcast o narrazione
"Dramatic male voice, theatrical, with emphasis and pauses" — per trailer o presentazioni
Step 4: Clona una voce reale (3 secondi bastano)
La funzionalità più potente — e più controversa. Con il modello Base puoi clonare qualsiasi voce a partire da un campione audio di soli 3 secondi. La voce sintetica manterrà timbro, ritmo e caratteristiche dell'originale.
python
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel
# === SCEGLI LA TUA CONFIG ===
# LOW-END (GPU 4-6 GB):
model = Qwen3TTSModel.from_pretrained(
"Qwen/Qwen3-TTS-12Hz-0.6B-Base",
device_map="auto",
dtype=torch.float32,
)
# HIGH-END (GPU 8+ GB): usa "Qwen/Qwen3-TTS-12Hz-1.7B-Base" con device_map="cuda:0" e dtype=torch.bfloat16
# Audio di riferimento (min 3 secondi) + trascrizione
ref_audio = "./mia_voce_campione.wav"
ref_text = "Questo è un esempio della mia voce reale."
# Genera nuovo audio con la voce clonata
wavs, sr = model.generate_voice_clone(
text="Questo testo viene letto con la mia voce clonata. "
"Incredibile, vero? E gira tutto in locale.",
language="Italian",
ref_audio=ref_audio,
ref_text=ref_text,
)
sf.write("voce_clonata.wav", wavs[0], sr)
print("Voce clonata generata!")
Il parametro ref_text è la trascrizione di quello che viene detto nel campione audio. Più è precisa, migliore sarà il risultato. Il campione audio ideale è tra 3 e 10 secondi, con voce chiara e senza rumore di fondo.
Se devi generare molte frasi con la stessa voce clonata, puoi creare un prompt riutilizzabile per evitare di rielaborare l'audio ogni volta:
python
# Crea il prompt una volta sola
prompt = model.create_voice_clone_prompt(
ref_audio="./mia_voce_campione.wav",
ref_text="Questo è un esempio della mia voce reale.",
)
# Riutilizzalo per generare quante frasi vuoi
testi = [
"Prima frase del mio podcast.",
"Seconda frase con la stessa voce.",
"Terza frase, sempre io!",
]
for i, testo in enumerate(testi):
wavs, sr = model.generate_voice_clone(
text=testo,
language="Italian",
voice_clone_prompt=prompt,
)
sf.write(f"clone_{i}.wav", wavs[0], sr)
print(f"Generati {len(testi)} file audio!")
La concorrenza: chi paga e chi regala
Per mettere le cose in prospettiva, ecco quanto costa la stessa cosa con i servizi cloud:
ElevenLabs: da 5$ a 99$/mese, voice cloning dal piano da 22$/mese in su. E si tengono una licenza perpetua sulla tua voce.
OpenAI TTS: integrato nell'API, 15$/milione di caratteri. Nessun voice cloning.
Google Cloud TTS: 4$/milione di caratteri per le voci Neural. Voice cloning solo enterprise.
Qwen3-TTS: 0€. Per sempre. Voice cloning incluso. Gira sul TUO hardware.
La questione etica (sì, dobbiamo parlarne)
Un sistema che clona voci in 3 secondi è uno strumento potentissimo. Anche pericoloso. Le truffe vocali basate su AI stanno esplodendo: un adulto su quattro, secondo uno studio globale, ha già ricevuto una chiamata con voce clonata. Usare questa tecnologia per impersonare qualcuno senza consenso è illegale in Italia e nella maggior parte dei Paesi europei.
Il motivo per cui vale la pena conoscere Qwen3-TTS non è per fare scherzi telefonici, ma per tre ragioni concrete: accessibilità (dare una voce a chi l'ha persa), content creation (podcast, video, audiolibri senza registrare ore di audio), e consapevolezza (capire quanto sia facile clonare una voce ti rende più difficile da fregare).