Nvidia ha rilasciato MagpieTTS. L'ho installato localmente e testato su input multilingue. Questo modello è costruito sul framework NeMo e conta circa 357 milioni di parametri - abbastanza piccolo da girare praticamente ovunque.
Al suo cuore usa un'architettura transformer encoder-decoder con un text encoder non-autoregressivo che processa i trascritti in input. Parlerò di più dell'architettura dopo aver fatto il setup. Sto usando Ubuntu con una GPU Nvidia H100 da 80 GB, ma il consumo di VRAM è basso e puoi farlo girare anche su CPU.
Installare NVIDIA MagpieTTS
Creo un ambiente pulito, installo NeMo, clono il repo e lancio una demo Gradio. Al primo avvio scarica il modello e avvia un'app locale.
Crea e attiva un ambiente virtuale:
conda create -n magpietts python=3.10 -y
conda activate magpietts
Installa le dipendenze:
pip install --upgrade pip
pip install "nemo_toolkit[tts]" gradio torch torchaudio torchvision
Clona il repository NeMo per riutilizzare il codice di esempio:
git clone https://github.com/NVIDIA/NeMo.git
cd NeMoLancia una demo Gradio. Al primo avvio scarica un checkpoint piccolo e serve su localhost alla porta 7860:
# Se la directory examples include un'app Gradio per MagpieTTS, eseguila così:
python examples/tts/magpie/gradio_demo.pyGPU e VRAM
Ho controllato l'uso di VRAM con nvidia-smi. Si è mantenuto appena sopra i 3 GB durante l'inferenza, il che corrisponde alle dimensioni del modello e lo rende facile da eseguire.
nvidia-smiPuoi farlo girare anche su CPU, con inferenza più lenta. L'app Gradio locale tipicamente si lega a http://127.0.0.1:7860.
Test NVIDIA MagpieTTS
La demo include una text box per l'input, una lista di lingue target e alcuni speaker forniti. Ho scelto Sophia per il primo run e ho lasciato il testo non normalizzato. La generazione ha richiesto meno di 10 secondi.
Ho cambiato la lingua target in tedesco e selezionato Aria come speaker. Ha completato in meno di 10 secondi e la pronuncia suonava forte al mio orecchio. Poi sono passato a francese e spagnolo, cambiando speaker a Jason e una voce femminile che avevo provato prima.
Ho continuato con l'italiano e una nuova identità speaker. Per quanto posso dire performa bene, ma i madrelingua giudicheranno sempre meglio gli accenti. Il prossimo check è stato il vietnamita, che è una lingua low-resource rispetto a quelle europee.
Tutti gli speaker nel training set sono identità inglesi, quindi per il vietnamita potresti sentire un accento come indicato nella model card. Ho poi testato il mandarino nella voce di Sophia e ha retto bene, accento incluso. Hindi nella voce di Leo e giapponese sono stati i prossimi nella lista.
Lingue e Speaker
Hanno incluso cinque identità speaker inglesi. Ognuna di loro può sintetizzare speech attraverso nove lingue, che ho testato nella demo. Gestisce numeri, abbreviazioni e caratteri speciali per la maggior parte delle lingue supportate.
Non c'è molta espressività in termini di emozioni in questo modello. Per un controllo emotivo più ricco hanno offerte enterprise, ma mi sono concentrato sul modello locale.
Architettura
L'architettura è diretta. Un transformer encoder-decoder sta al centro. Un text encoder non-autoregressivo processa i trascritti in input e li passa via cross-attention a un decoder autoregressivo.
Token Audio e Codec
Il decoder predice discrete audio codec tokens attraverso otto codebook paralleli. Questi token vengono convertiti in una waveform da un neural audio codec chiamato nano codec che gira a 22 kHz. Quello stage del codec ricostruisce l'audio dalla rappresentazione discreta in modo efficiente.
Training e Raffinamento
Per migliorare la qualità dell'output e l'allineamento, il modello incorpora un attention prior. Usa anche classifier-free guidance e reinforcement learning via group relative policy optimization (GRPO). C'è uno stage opzionale di local transformer refinement layered sopra il decoder primario.
Copertura e Prospettive
Niente è fondamentalmente nuovo nei building block, e i guadagni sembrano venire dalle scelte di training e dalla copertura linguistica più ampia. È bello vedere lingue oltre quelle europee incluse, con espansione probabile nel tempo.
Ho seguito i modelli di Nvidia per un po' e questo mostra progressi chiari sulla copertura multilingua con un singolo set di voci.
Pensieri Finali
MagpieTTS gira localmente, parte veloce e resta leggero sulla VRAM per un sistema TTS multilingue. Ottieni cinque identità speaker inglesi che possono sintetizzare attraverso nove lingue, con gestione solida di numeri e simboli.
L'espressività è basica, ma per sintesi multilingua pulita con controllo locale, funziona.
Se stai costruendo assistenti vocali che devono parlare italiano, francese, spagnolo e altre lingue mantenendo la stessa voce - e vuoi farlo tutto on-premise senza mandare audio a cloud esterni - MagpieTTS è una soluzione concreta.
Consiglio pratico: Usa questo modello quando la privacy è importante (healthcare, finance, dati sensibili) o quando vuoi evitare costi API ricorrenti per TTS. Non è il migliore per contenuti altamente espressivi o emotivi, ma per documentazione tecnica, tutorial, assistenti interni - fa il suo lavoro bene.
Vuoi integrare AI nel tuo business?
Contattami per una consulenza su come implementare strumenti AI nella tua azienda.
Matteo Giardino esplora AI, produttività e tecnologia che funziona davvero. Segui per altri approfondimenti su strumenti concreti.
