Seguici sui social

Intelligenza Artificiale

OpenVoice: clonazione vocale istantanea e versatile

mm

Nella sintesi text-to-speech (TTS), Instant Voice Cloning (IVC) consente al modello TTS di clonare la voce di qualsiasi parlante di riferimento utilizzando un breve campione audio, senza richiedere ulteriore formazione per il parlante di riferimento. Questa tecnica è nota anche come sintesi vocale Zero-Shot. L'approccio Instant Voice Cloning consente una personalizzazione flessibile della voce generata e dimostra un valore significativo in un'ampia gamma di situazioni del mondo reale, inclusi chatbot personalizzati, creazione di contenuti e interazioni tra esseri umani e modelli linguistici di grandi dimensioni (LLM).

Sebbene gli attuali framework di clonazione vocale svolgano bene il loro lavoro, sono pieni di alcune sfide sul campo, tra cui Controllo flessibile dello stile vocale cioè i modelli non hanno la capacità di manipolare gli stili vocali in modo flessibile dopo aver clonato la voce. Un altro importante ostacolo incontrato dagli attuali framework di clonazione istantanea è Clonazione vocale interlinguistica Zero-Shot vale a dire, per scopi di formazione, i modelli attuali richiedono l'accesso a un ampio set di dati multilingue o MSML per parlanti di massa, indipendentemente dalla lingua. 

Per affrontare questi problemi e contribuire al miglioramento dei modelli di clonazione vocale istantanea, gli sviluppatori hanno lavorato su OpenVoice, un versatile framework di clonazione vocale istantanea che replica la voce di qualsiasi utente e genera parlato in più lingue utilizzando una breve clip audio dell'oratore di riferimento. . OpenVoice dimostra che i modelli Instant Voice Cloning possono replicare il colore del tono dell'oratore di riferimento e ottenere un controllo granulare sugli stili vocali tra cui accento, ritmo, intonazione, pause e persino emozioni. Ciò che è più impressionante è che il framework OpenVoice dimostra anche notevoli capacità nel realizzare una clonazione vocale multilingue a colpo zero per lingue esterne al set di dati MSML, consentendo a OpenVoice di clonare le voci in nuove lingue senza un'approfondita pre-formazione per quella lingua. OpenVoice riesce a fornire risultati di clonazione vocale istantanea superiori pur essendo computazionalmente fattibile con costi operativi fino a 10 volte inferiori rispetto alle attuali API disponibili con prestazioni inferiori. 

In questo articolo parleremo in modo approfondito del framework OpenVoice e scopriremo la sua architettura che gli consente di fornire prestazioni superiori nelle attività di clonazione vocale istantanea. Quindi iniziamo. 

OpenVoice: abilitazione versatile della clonazione vocale istantanea

Come accennato in precedenza, Instant Voice Cloning, noto anche come Sintesi vocale da testo a zero-shot, consente al modello TTS di clonare la voce di qualsiasi oratore di riferimento utilizzando un breve campione audio senza la necessità di alcuna formazione aggiuntiva per l'oratore di riferimento. La clonazione vocale istantanea è sempre stata un argomento di ricerca caldo con lavori esistenti tra cui i framework XTTS e VALLE che estraggono l'incorporamento degli altoparlanti e/o i token acustici dall'audio di riferimento che funge da condizione per il modello autoregressivo. Il modello autoregressivo genera quindi token acustici in sequenza e quindi decodifica questi token in una forma d'onda audio grezza. 

Sebbene i modelli di clonazione vocale istantanea autoregressiva clonino notevolmente il colore del tono, non riescono a manipolare altri parametri di stile tra cui accento, emozione, pause e ritmo. Inoltre, i modelli autoregressivi presentano anche una bassa velocità di inferenza e i loro costi operativi sono piuttosto elevati. Gli approcci esistenti come il framework YourTTS utilizzano un approccio non autoregressivo che dimostra un discorso di inferenza significativamente più veloce rispetto ai framework di approccio autoregressivo, ma non sono ancora in grado di fornire ai propri utenti un controllo flessibile sui parametri di stile. Inoltre, sia i framework di clonazione vocale istantanea basati su autoregressivo che quelli non autoregressivi necessitano dell'accesso a un ampio set di dati multilingue MSML o con altoparlanti di massa per la clonazione vocale multilingue. 

Per affrontare le sfide affrontate dagli attuali framework di clonazione vocale istantanea, gli sviluppatori hanno lavorato su OpenVoice, una libreria open source di clonazione vocale istantanea che mira a risolvere le seguenti sfide affrontate dagli attuali framework IVC. 

  1. La prima sfida è consentire ai framework IVC di avere un controllo flessibile sui parametri di stile oltre al colore del tono, inclusi accento, ritmo, intonazione e pause. I parametri di stile sono cruciali per generare conversazioni e discorsi naturali nel contesto piuttosto che narrare in modo monotono il testo di input. 
  2. La seconda sfida è consentire ai framework IVC di clonare voci multilingue in un contesto zero-shot. 
  3. La sfida finale è raggiungere velocità di inferenza in tempo reale elevate senza deteriorare la qualità. 

Per affrontare i primi due ostacoli, l'architettura del framework OpenVoice è progettata in modo da disaccoppiare i componenti della voce al meglio delle sue capacità. Inoltre, OpenVoice genera il colore del tono, la lingua e altre funzionalità vocali in modo indipendente, consentendo al framework di manipolare in modo flessibile i singoli tipi di lingua e stili di voce. Il framework OpenVoice affronta la terza sfida per impostazione predefinita poiché la struttura disaccoppiata riduce la complessità computazionale e i requisiti di dimensione del modello. 

OpenVoice: metodologia e architettura

Il quadro tecnico del framework OpenVoice è efficace e sorprendentemente semplice da implementare. Non è un segreto che clonare il colore del tono di qualsiasi oratore, aggiungere una nuova lingua e abilitare contemporaneamente il controllo flessibile sui parametri vocali possa essere impegnativo. È così perché l'esecuzione simultanea di queste tre attività richiede che i parametri controllati si intersechino utilizzando una grande porzione di set di dati combinatori. Inoltre, in un unico altoparlante normale sintesi vocale da testo, per le attività che non richiedono la clonazione della voce, è più semplice aggiungere il controllo su altri parametri di stile. Basandosi su questi, il framework OpenVoice mira a separare le attività di Instant Voice Cloning in sottoattività. Il modello propone di utilizzare un modello Text to Speech di base dell'altoparlante per controllare i parametri di lingua e stile e utilizza un convertitore di colori di tono per includere il colore di tono di riferimento nella voce generata. La figura seguente mostra l'architettura del framework. 

Fondamentalmente, il framework OpenVoice utilizza due componenti: un convertitore di toni e colori e un modello di sintesi vocale o TTS dell'oratore di base. Il modello di sintesi vocale di base dell'oratore è un modello a altoparlante singolo o multi-altoparlante che consente un controllo preciso sui parametri di stile, lingua e accento. Il modello genera una voce che viene poi trasmessa al convertitore del colore del tono, che cambia il colore del tono dell'altoparlante di base nel colore del tono dell'altoparlante di riferimento. 

Il framework OpenVoice offre molta flessibilità quando si tratta del modello di sintesi vocale di base dell'oratore poiché può utilizzare il modello VITS con lievi modifiche che gli consentono di accettare incorporamenti di linguaggio e stile nel predittore di durata e nel codificatore di testo. Il framework può anche impiegare modelli come Microsoft TTS che sono commercialmente economici oppure può distribuire modelli come InstructTTS in grado di accettare richieste di stile. Per il momento, il framework OpenVoice utilizza il modello VITS, sebbene anche gli altri modelli siano un'opzione fattibile. 

Venendo al secondo componente, il Tone Color Converter è un componente codificatore-decodificatore che ospita al centro un flusso normalizzatore invertibile. Il componente codificatore nel convertitore tono-colore è una CNN unidimensionale che accetta come input lo spettro trasformato di Fourier a breve termine del modello testo-parlato di base dell'oratore. Il codificatore genera quindi mappe delle caratteristiche come output. L'estrattore del colore del tono è una semplice CNN bidimensionale che opera sullo spettrogramma mel della voce in ingresso e genera un singolo vettore di caratteristiche come output che codifica l'informazione del colore del tono. I livelli di flusso di normalizzazione accettano le mappe delle caratteristiche generate dal codificatore come input e generano una rappresentazione delle caratteristiche che preserva tutte le proprietà di stile ma elimina le informazioni sul colore del tono. Il framework OpenVoice applica quindi i livelli di flusso di normalizzazione nella direzione inversa e prende le rappresentazioni delle caratteristiche come input e restituisce i livelli di flusso di normalizzazione. La struttura quindi decodifica gli strati di flusso di normalizzazione in forme d'onda grezze utilizzando una pila di convoluzioni unidimensionali trasposte. 

L'intera architettura del framework OpenVoice è feed forward senza l'utilizzo di alcun componente autoregressivo. Il componente convertitore tono-colore è simile alla conversione vocale a livello concettuale ma differisce in termini di funzionalità, obiettivi formativi e bias induttivo nella struttura del modello. I livelli di flusso di normalizzazione condividono la stessa struttura dei modelli di sintesi vocale basati sul flusso, ma differiscono in termini di funzionalità e obiettivi di formazione. 

Inoltre, esiste un approccio diverso per estrarre le rappresentazioni delle caratteristiche; il metodo implementato dal framework OpenVoice offre una migliore qualità audio. Vale anche la pena notare che il framework OpenVoice non ha intenzione di inventare componenti nell'architettura del modello, piuttosto entrambi i componenti principali, ovvero il convertitore di toni e colori e il modello TTS dell'altoparlante di base, provengono entrambi da lavori esistenti. Lo scopo principale del framework OpenVoice è quello di formare un framework disaccoppiato che separi il controllo della lingua e lo stile vocale dalla clonazione del colore del tono. Sebbene l'approccio sia abbastanza semplice, è piuttosto efficace soprattutto nei compiti che controllano stili e accenti o nei compiti di generalizzazione di nuove lingue. Ottenere lo stesso controllo quando si utilizza un framework accoppiato richiede una grande quantità di calcoli e dati e non si generalizza bene ai nuovi linguaggi. 

Fondamentalmente, la filosofia principale del framework OpenVoice è quella di disaccoppiare la generazione del linguaggio e degli stili vocali dalla generazione del colore del tono. Uno dei maggiori punti di forza del framework OpenVoice è che la voce clone è fluida e di alta qualità purché il TTS a singolo altoparlante parli fluentemente. 

OpenVoice: esperimento e risultati

La valutazione delle attività di clonazione vocale è un obiettivo difficile per numerosi motivi. Per cominciare, i lavori esistenti spesso utilizzano dati di formazione e test diversi che rendono il confronto di questi lavori intrinsecamente ingiusto. Sebbene il crowdsourcing possa essere utilizzato per valutare parametri come il punteggio medio dell’opinione, la difficoltà e la diversità dei dati del test influenzeranno in modo significativo il risultato complessivo. In secondo luogo, diversi metodi di clonazione vocale hanno dati di addestramento diversi e la diversità e la scala di questi dati influenzano in modo significativo i risultati. Infine, l'obiettivo primario delle opere esistenti spesso differisce l'uno dall'altro, quindi differiscono nella loro funzionalità. 

A causa dei tre motivi sopra menzionati, non è giusto confrontare numericamente i sistemi di clonazione vocale esistenti. Ha invece molto più senso confrontare questi metodi qualitativamente. 

Clonazione accurata dei toni dei colori

Per analizzarne le prestazioni, gli sviluppatori creano un set di test con individui anonimi, personaggi del gioco e celebrità che costituiscono la base di relatori di riferimento e ha un'ampia distribuzione vocale che include sia campioni neutri che voci espressive uniche. Il framework OpenVoice è in grado di clonare il colore del tono di riferimento e generare parlato in più lingue e accenti per ciascuno degli altoparlanti di riferimento e per i 4 altoparlanti di base. 

Controllo flessibile sugli stili vocali

Uno degli obiettivi del framework OpenVoice è controllare gli stili vocali in modo flessibile utilizzando il convertitore di toni e colori che può modificare il tono del colore preservando tutte le altre caratteristiche e proprietà della voce. 

Gli esperimenti indicano che il modello preserva gli stili vocali dopo la conversione nel colore del tono di riferimento. In alcuni casi, tuttavia, il modello neutralizza leggermente le emozioni, un problema che può essere risolto passando meno informazioni agli strati del flusso in modo che non riescano a liberarsi dell’emozione. Il framework OpenVoice è in grado di preservare gli stili dalla voce base grazie all'utilizzo di un convertitore di toni e colori. Consente al framework OpenVoice di manipolare il modello di sintesi vocale dell'oratore di base per controllare facilmente gli stili vocali. 

Clone vocale multilingue

Il framework OpenVoice non include dati di parlanti di grandi dimensioni per una lingua invisibile, ma è in grado di ottenere una clonazione vocale quasi multilingue in un'impostazione zero-shot. Le funzionalità di clonazione vocale multilingue del framework OpenVoice sono due:

  1. Il modello è in grado di clonare accuratamente il colore del tono dell'oratore di riferimento quando la lingua dell'oratore di riferimento non viene vista nel set di dati multi-speaker multilingue o MSML. 
  2. Inoltre, nel caso in cui la lingua dell'oratore di riferimento non venga vista, il framework OpenVoice è in grado di clonare la voce dell'oratore di riferimento e parlare nella lingua a condizione che il modello di sintesi vocale dell'oratore di base supporti la lingua. 

Considerazioni finali

In questo articolo abbiamo parlato di OpenVoice, un versatile framework di clonazione vocale istantanea che replica la voce di qualsiasi utente e genera parlato in più lingue utilizzando un breve clip audio dell'oratore di riferimento. L'intuizione principale alla base di OpenVoice è che finché un modello non deve eseguire la clonazione del colore del tono dell'oratore di riferimento, un framework può utilizzare un modello TTS dell'oratore di base per controllare la lingua e gli stili vocali. 

OpenVoice dimostra che i modelli Instant Voice Cloning possono replicare il colore del tono dell'oratore di riferimento e ottenere un controllo granulare sugli stili vocali tra cui accento, ritmo, intonazione, pause e persino emozioni. OpenVoice riesce a fornire risultati di clonazione vocale istantanea superiori pur essendo computazionalmente fattibile con costi operativi fino a 10 volte inferiori rispetto alle attuali API disponibili con prestazioni inferiori. 

"Un ingegnere di professione, uno scrittore a memoria". Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedito a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.