MagpieTTS 357M: la sintesi vocale in 12 lingue che gira anche su laptop

MagpieTTS è il modello di sintesi vocale multilingue di NVIDIA: 364 milioni di parametri, 12 lingue — italiano e francese inclusi — e un file da 332 MB che gira in locale su un normale laptop, senza GPU. È il secondo anello della catena voce che abbiamo già visto su questo sito: Whisper trasforma la voce in testo, e MagpieTTS fa il contrario, trasforma il testo in voce.
Fino a un anno fa la sintesi vocale locale era un compromesso: o funzionava in una lingua sola, o aveva l'accento di un robot. Un modello unico che copre 12 lingue con la stessa identità di voce in ciascuna è una cosa diversa. E costa meno di un'ora di vita.
Cos'è MagpieTTS Multilingual 357M
NVIDIA ha pubblicato su Hugging Face MagpieTTS Multilingual: un modello end-to-end di text-to-speech con architettura transformer encoder-decoder, 364M parametri e licenza open che permette l'uso commerciale. Copre dodici lingue: arabo, cinese, inglese, francese, tedesco, hindi, italiano, giapponese, coreano, portoghese, spagnolo e vietnamita.
La versione attuale è la v2607 (luglio 2026), che ha aggiunto arabo, coreano e portoghese alle nove della v2602 di marzo. Esistono anche checkpoint precedenti (v2512 di gennaio) se serve un'installazione pinnata.
Sotto il cofano, il modello non "disegna" l'audio come fa un modello di immagini: predice i token di un codec vocale (NanoCodec, 22 kHz, 1.89 kbps, 21.5 fotogrammi al secondo) e li decodifica in un WAV mono a 16 bit. La qualità del risultato dipende molto da questo codec, non solo dal modello di testo — è lo stesso principio per cui un film compresso bene resta bello anche a bitrate basso.
Cinque voci, Aria, Jason, Leo, Sofia e John Van Stan, con toni diversi. L'output è sempre un file WAV: nessun server, nessuna API, nessun invio di dati fuori dalla macchina.
I requisiti: i conti
Questo è il punto che interessa davvero: quanto serve per girarlo?
| MagpieTTS 357M | |
|---|---|
| File modello (GGUF Q8_0) | 332 MB |
| File modello (F16 completo) | 569 MB |
| RAM stimata totale (modello + codec) | meno di 1 GB |
| GPU | non richiesta (supportata come opzione) |
I numeri vengono dalla scheda del modello: il quantizzato Q8_0 pesa 332 MB, la versione a precisione intera 569 MB. Il decoder NanoCodec che converte i token in audio aggiunge poche centinaia di MB. Totale: meno di un gigabyte di RAM. Un laptop da 8 GB, un Raspberry Pi 5, un vecchio desktop: tutti ce la fanno.
Il motore è NeMo-Speech.cpp, un runtime C++ nativo di NVIDIA (v0.2.0, ottobre 2026) per Linux, macOS e Windows che gira a CPU e, se c'è una GPU NVIDIA, anche a CUDA. Scarica automaticamente modello GGUF, tokenizer e codec: niente configurazioni, niente ambienti Python.
Confrontato con l'alternativa storica per la voce locale, Piper, la differenza è di approccio:
| MagpieTTS 357M | Piper | |
|---|---|---|
| Parametri | 364M | modelli compatti per lingua |
| Lingue | 12, stesso modello | una per modello |
| Voci | 5, condivise tra lingue | molte, una per lingua e per voce |
| Installazione | binario C++ + 332 MB | Python + modello per lingua |
| Licenza | NVIDIA Open Model License (uso commerciale OK) | GPL-3.0 |
Piper ha una voce italiana specifica e una comunità vastissima; MagpieTTS ha la copertura multilingue in un file solo. Se la voce la usi in due o tre lingue, MagpieTTS vince sul pratico. Se ti serve un'italiana che suona italiana, oggi Piper è più avanti — e più in generale, il modello più piccolo è sempre quello che gira meglio su un portatile.
Da zero al primo audio
La via più corta è il runtime C++:
- Installa NeMo-Speech.cpp seguendo la guida di installazione (binario precompilato per Linux/macOS, oppure build da sorgente).
- Scarica il modello:
nemo-speech pull magpie— prende la v2607 GGUF, il tokenizer e NanoCodec. Se vuoi solo i file senza sintetizzare, questo comando basta. - Sintetizza:
nemo-speech synthesize "Buongiorno, sono la tua voce locale." --output voce.wav— al posto divoce.wavdevi trovare un file audio di alcuni secondi e aprirlo: è il risultato.
Se non va: se il passo 2 fallisce il download, verifica la connessione (i file vengono da Hugging Face); se il passo 3 non produce il file, controlla che la cartella in cui scrivi esista e sia scrivibile. Il runtime stampa in locale anche i log di normalizzazione del testo, utili a capire dove si blocca.
Per chi vuole programmare, c'è la via Python con il framework NeMo Speech:
pip install nemo_toolkit[tts]@main
from nemo.collections.tts.models import MagpieTTSModel
model = MagpieTTSModel.from_pretrained("nvidia/magpie_tts_multilingual_357m")
audio, _ = model.do_tts("Ciao, mondo.", language="it", speaker_index=4)
Serve Python ≥ 3.10.12 e la versione recente di PyTorch. La via C++ è per girare; la via Python è per integrare e sperimentare.
E i limiti?
Ogni voce ha un prezzo, e qui ce ne sono due.
Le dodici lingue usano le stesse cinque voci. Aria suona come Aria sia in italiano sia in vietnamita: è una scelta progettuale (identità costante tra le lingue, utile per un agente vocale), ma non troverai una voce con pronuncia italiana nativa. Per un prodotto destinato a chi parla italiano, questo si sente.
La fedeltà al testo dipende dalla normalizzazione. Numeri, sigle e abbreviazioni vengono gestite dal normalizzatore incorporato del modello per tutte le dodici lingue; in pratica, se scrivi "IVA 22%" e vuoi "iva ventidue percento", il normalizzatore deve capirlo. Per domini tecnici con sigle proprie, i test contano più delle specifiche.
C'è anche un limite di licenza da tenere a mente: la NVIDIA Open Model License permette l'uso commerciale ma ha condizioni proprie da leggere, non è una licenza libera stile MIT o Apache.
Dove lo metti
Il caso d'uso più naturale è la catena completa in locale: Whisper ascolta, il modello di testo ragiona, MagpieTTS risponde. È la stessa architettura di un assistente vocale, ma senza un singolo byte che attraversa la rete. Per chi arriva da qui, la voce locale parte da Whisper al text-to-speech; e se il modello di testo non è ancora installato, come eseguire un LLM localmente è il primo passo.
In sintesi
MagpieTTS Multilingual 357M è la sintesi vocale locale più completa uscita in questa stagione: 12 lingue, italiano incluso, in un file da 332 MB che gira su qualsiasi laptop senza GPU. Il runtime C++ di NVIDIA porta da zero al primo audio in tre comandi, e la licenza consente l'uso commerciale. Il limite onesto: le cinque voci sono inglesi in tutte le lingue, e per una voce italiana nativa Piper resta davanti. Se la voce la usi in più lingue, MagpieTTS è la scelta giusta; se in una sola, guarda anche l'alternativa.
Fonti
- Scheda del modello MagpieTTS Multilingual 357M — Hugging Face
- NeMo-Speech.cpp — GitHub NVIDIA
- Piper TTS — GitHub
Articolo generato con IA
Ti è piaciuto questo articolo?
Iscriviti alla newsletter per ricevere nuovi tutorial e guide.
Articoli Correlati

Agenti ML che girano in locale: MLExpert ed EpochGo su Ollama, costi API zero
MLExpert alza l'asticella a 35B e 72,7% di medaglie; EpochGo porta tre agenti AutoML su un 16 GB, zero API: cosa funziona oggi, i conti e i limiti.

Modelli di decisione in locale: JEV-35B e il System 1 da 3B attivi
Non serve un LLM grande per decidere. JEV-35B (35B, 3B attivi) in NVFP4 su una GPU da 32 GB e ej (11,4 MB) su CPU mostrano come fare routing, classificazione e controllo qualità senza generare un solo token.

