È disponibile un nuovo rilascio pubblico del sistema di sintesi vocale neurale Silero Text-to-Speech. Il progetto è principalmente orientato alla creazione di un sistema di sintesi vocale moderno e di alta qualità, in grado di competere con le soluzioni commerciali delle grandi aziende, e accessibile a chiunque senza la necessità di costose attrezzature server.
I modelli sono distribuiti con licenza GNU AGPL, ma l'azienda che sviluppa il progetto non rivela i meccanismi di addestramento dei modelli. È possibile utilizzare PyTorch e framework che supportano il formato ONNX per l'esecuzione. La sintesi vocale in Silero si basa sull'uso di algoritmi neurali moderni e modificati e metodi di elaborazione digitale dei segnali.
Si segnala che il principale problema delle moderne soluzioni di reti neurali per la sintesi vocale è che spesso sono disponibili solo come servizi cloud a pagamento, mentre i prodotti pubblici presentano requisiti hardware elevati, qualità inferiore o non sono prodotti completati e pronti per l'uso. Ad esempio, per avviare senza problemi una delle nuove architetture di sintesi end-to-end popolari, VITS, in modalità sintesi (ovvero non per l'addestramento dei modelli) sono necessarie schede grafiche con più di 16 gigabyte di VRAM.
Contrariamente alla tendenza attuale, le soluzioni Silero funzionano con successo anche su un singolo thread di processore Intel x86 con istruzioni AVX2. Su 4 thread, la sintesi permette di sintetizzare da 30 a 60 secondi al secondo in modalità 8 kHz, 15-20 secondi in modalità 24 kHz e circa 10 secondi in modalità 48 kHz.
Caratteristiche principali della nuova versione di Silero:
- La dimensione del modello è stata ridotta della metà a 50 megabyte;
- I modelli possono effettuare pause;
- Sono disponibili 4 voci di alta qualità in russo (e un numero infinito di casuali). Esempi di pronuncia;
- I modelli ora sono dieci volte più veloci e, ad esempio, nella modalità a 24 kHz possono sintetizzare fino a 20 secondi di audio al secondo su 4 thread di CPU;
- Tutte le varianti vocali per una lingua sono imballate in un unico modello;
- I modelli possono ricevere interi paragrafi di testo in input, supportano i tag SSML;
- La sintesi funziona immediatamente a tre frequenze di campionamento a scelta: 8, 24 e 48 kilohertz;
- Risolti i "problemi infantili": instabilità e omissione di parole;
- Aggiunti flag per controllare la punteggiatura automatica e l'inserimento della lettera "ё".
Attualmente, per la versione più recente della sintesi, sono disponibili pubblicamente 4 voci in lingua russa, ma nel prossimo futuro sarà pubblicata la versione successiva con le seguenti modifiche:
- La velocità di sintesi crescerà ulteriormente di 2-4 volte;
- Saranno aggiornati i modelli di sintesi per le lingue della CSI: Kalmyk, Tataro, Uzbek e Ucraino;
- Saranno aggiunti modelli per le lingue europee;
- Saranno aggiunti modelli per le lingue indiane;
- Saranno aggiunti modelli per la lingua inglese.
Alcuni dei problemi sistemici associati alla sintesi Silero:
- A differenza di soluzioni più tradizionali per la sintesi, come RHVoice, la sintesi Silero non ha integrazione con SAPI, client facili da installare e integrazioni per Windows e Android;
- La velocità, sebbene sia senza precedenti per una tale soluzione, potrebbe non essere sufficiente per la sintesi in tempo reale su processori deboli con alta qualità;
- La soluzione per la contrazione automatica non gestisce gli omografi (parole come zAmok e zamOk) e commette ancora degli errori, ma questa carenza sarà corretta nelle future versioni;
- L'attuale versione della sintesi non funziona su processori privi di istruzioni AVX2 (o è necessario modificare specificamente le impostazioni di PyTorch), poiché uno dei moduli all'interno del modello è quantizzato;
- L'attuale versione della sintesi ha sostanzialmente come unica dipendenza PyTorch, tutta la parte interna è "incapsulata" all'interno del modello e dei pacchetti JIT. I codici sorgente dei modelli non sono pubblicati, così come il codice per avviare i modelli tramite clienti PyTorch per altri linguaggi;
- Libtorch, disponibile per piattaforme mobili, è molto più ingombrante rispetto a ONNX runtime, ma la versione ONNX del modello non è ancora fornita.
Fonte: opennet.ru
