Nuova versione del sistema di sintesi vocale Silero

È disponibile una nuova versione pubblica del sistema di sintesi vocale della rete neurale Silero Text-to-Speech. Il progetto mira principalmente a creare un sistema di sintesi vocale moderno e di alta qualità che non sia inferiore alle soluzioni commerciali delle aziende e sia accessibile a tutti senza l'uso di costose apparecchiature server.

I modelli sono distribuiti sotto la licenza GNU AGPL, ma la società che sviluppa il progetto non rivela il meccanismo per l'addestramento dei modelli. Per eseguirlo, puoi utilizzare PyTorch e framework che supportano il formato ONNX. La sintesi vocale in Silero si basa sull'uso di moderni algoritmi di rete neurale profondamente modificati e metodi di elaborazione del segnale digitale.

Si noti che il problema principale delle moderne soluzioni di reti neurali per la sintesi vocale è che spesso sono disponibili solo all'interno di soluzioni cloud a pagamento e i prodotti pubblici hanno requisiti hardware elevati, sono di qualità inferiore o non sono completi e pronti all'uso prodotti. Ad esempio, per eseguire senza problemi una delle nuove popolari architetture di sintesi end-to-end, VITS, in modalità di sintesi (ovvero, non per l'addestramento del modello), sono necessarie schede video con più di 16 gigabyte di VRAM.

Contrariamente alla tendenza attuale, le soluzioni Silero funzionano con successo anche su 1 thread x86 di un processore Intel con istruzioni AVX2. Su 4 thread del processore, la sintesi consente di sintetizzare da 30 a 60 secondi al secondo nella modalità di sintesi a 8 kHz, nella modalità a 24 kHz - 15-20 secondi e nella modalità a 48 kHz - circa 10 secondi.

Caratteristiche principali della nuova versione di Silero:

  • La dimensione del modello è stata ridotta di 2 volte a 50 megabyte;
  • I modelli sanno come mettere in pausa;
  • Sono disponibili 4 voci di alta qualità in russo (e un numero infinito di voci casuali). Esempi di pronuncia;
  • I modelli sono diventati 10 volte più veloci e, ad esempio, in modalità 24 kHz permettono di sintetizzare fino a 20 secondi di audio al secondo su 4 thread del processore;
  • Tutte le opzioni vocali per una lingua sono racchiuse in un unico modello;
  • I modelli possono accettare interi paragrafi di testo come input, sono supportati i tag SSML;
  • La sintesi funziona contemporaneamente su tre frequenze di campionamento tra cui scegliere: 8, 24 e 48 kilohertz;
  • I “problemi dei bambini” sono stati risolti: instabilità e parole mancanti;
  • Aggiunti flag per controllare il posizionamento automatico degli accenti e il posizionamento della lettera “е”.

Attualmente, per la versione più recente della sintesi, sono disponibili al pubblico 4 voci in russo, ma nel prossimo futuro verrà pubblicata la prossima versione con le seguenti modifiche:

  • La velocità di sintesi aumenterà di altre 2-4 volte;
  • Verranno aggiornati i modelli di sintesi per le lingue della CSI: calmucco, tartaro, uzbeko e ucraino;
  • Verranno aggiunti modelli per le lingue europee;
  • Verranno aggiunti modelli per le lingue indiane;
  • Verranno aggiunti modelli per l'inglese.

Alcuni dei guasti del sistema inerenti alla sintesi Silero:

  • A differenza delle soluzioni di sintesi più tradizionali come RHVoice, la sintesi Silero non dispone di integrazione SAPI, client facili da installare o integrazioni per Windows e Android;
  • La velocità, sebbene senza precedenti per una soluzione del genere, potrebbe non essere sufficiente per la sintesi al volo su processori deboli ad alta qualità;
  • La soluzione di accento automatico non gestisce gli omografi (parole come castello e castello) e commette ancora errori, ma questo verrà corretto nelle versioni future;
  • L'attuale versione di sintesi non funziona su processori senza istruzioni AVX2 (o è necessario modificare specificatamente le impostazioni di PyTorch) perché uno dei moduli all'interno del modello è quantizzato;
  • L'attuale versione di sintesi ha essenzialmente una singola dipendenza PyTorch; tutto il materiale è "cablato" all'interno del modello e dei pacchetti JIT. I codici sorgente dei modelli non vengono pubblicati, così come il codice per eseguire modelli dai client PyTorch per altri linguaggi;
  • Libtorch, disponibile per piattaforme mobili, è molto più ingombrante del runtime ONNX, ma una versione ONNX del modello non è ancora disponibile.

Fonte: opennet.ru

Aggiungi un commento