Oggi abbiamo deciso di pubblicare Navoiy TTS come progetto open source. Siamo partiti da CosyVoice2-0.5B, lo abbiamo messo su una GPU e cucinato con abbastanza ingredienti audio uzbeki. Ne è risultato un modello di sintesi vocale che parla bene l’uzbeko.
Il modello trasforma il testo uzbeko in parlato neutro o espressivo. Include anche uno strumento di normalizzazione che prepara numeri, date, orari, apostrofi e testo uzbeko in cirillico per la sintesi.
Nulla è perfetto, e anche questo modello ha i suoi limiti. Tutto dipende dagli ingredienti: i dati. Più ingredienti di qualità portano a risultati migliori.
Perché abbiamo aperto il modello a tutti?
Il linguaggio quotidiano non è fatto soltanto di parole semplici. Per questo il modello è stato preparato per:
- leggere bene numeri, date e orari;
- pronunciare correttamente nomi e luoghi;
- comprendere gli alfabeti latino e cirillico;
- parlare con pause naturali;
- supportare diversi stili di parlato;
- pronunciare parole russe e inglesi all’interno di una frase.
Abbiamo cercato di considerare anche altre situazioni che potresti incontrare e di risolvere le difficoltà associate.
Il modo più semplice per ringraziarci è condividere il progetto con gli amici. Saremo felici se il modello si rivelerà utile nel tuo progetto.
Siamo felici che tu utilizzi i nostri modelli. Grazie per usare i nostri modelli di trascrizione e sintesi vocale.
Come si usa?
Segui questi passaggi per installare, configurare e avviare il modello. Il checkpoint non funziona da solo: servono anche il codice originale di CosyVoice e il modello base CosyVoice2-0.5B.
1. Installa prima CosyVoice
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
git checkout 074ca6dc9e80a2f424f1f74b48bdd7d3fea531cc
git submodule update --init --recursive
pip install -r requirements.txt
cd ..2. Scarica Navoiy TTS
git clone https://huggingface.co/aisha-org/navoiy-tts
pip install -r navoiy-tts/requirements.txtScarica il modello base CosyVoice2-0.5B nella revisione indicata nella scheda del modello.
3. Genera la voce
python navoiy-tts/inference.py \
--cosyvoice-dir CosyVoice \
--base-model-dir CosyVoice/pretrained_models/CosyVoice2-0.5B \
--checkpoint navoiy-tts/emotion_600h_joint.pt \
--reference reference.wav \
--text "Bugun siz bilan muhim bir xabarni baham ko'rmoqchiman." \
--emotion warm \
--output output.wavLo script richiede capacità di calcolo CUDA e genera audio a 24 kHz. Usa --list-emotions per vedere tutte le emozioni disponibili.
Emozioni
Il modello supporta le emozioni calm, happy, sad, angry, nervous, surprised, whisper, warm, tired e sarcastic.
Queste impostazioni non garantiscono un risultato specifico. La voce finale dipende dal testo, dall’audio di riferimento, dal checkpoint e dal seme casuale. Consigliamo di provare il sistema con i tuoi testi prima di usarlo in produzione.
Normalizzazione
Numeri e date possono essere difficili da pronunciare per un modello di sintesi vocale. Navoiy TTS offre anche un modulo di normalizzazione:
from uztts.normalize import normalize
print(normalize('Bugun 16.07.2026, soat 14:30 da uchrashamiz.'))Converte il testo cirillico in latino, uniforma gli apostrofi e normalizza numeri comuni, date, orari, ordinali e altri casi.
Limiti
Il modello può pronunciare male nomi, prestiti linguistici, abbreviazioni e numeri insoliti. Può anche ripetere, omettere o cambiare parole. Non abbiamo ancora valutato completamente dialetti e testi multilingue.
Prima di clonare una voce, ottieni il consenso esplicito del suo proprietario. Non usare il modello per impersonificazione, inganno, frode, molestie o per aggirare sistemi di autenticazione vocale. Dichiara che una voce è sintetica quando gli ascoltatori potrebbero altrimenti credere che appartenga a una persona reale.
Conclusione
Navoiy TTS non promette risultati perfetti per ogni frase. È una base aperta che sviluppatori e ricercatori possono provare, migliorare e usare per creare nuovi prodotti.
Esplora il modello su Hugging Face, ascolta le demo e condividi la tua esperienza.
