WaveNet e Text-To-Speech (TTS) – le macchine sono in grado di parlare

WaveNet and Text-To-Speech (TTS) le macchine sono in grado di parlare

I progressi di quest’ultimo anno per quanto riguarda il Deep Learning sono davvero eccezionali. Moltissimi passi avanti sono stati fatti in molti campi della tecnologia grazie proprio alle reti neurali e tra questi vi è la voce sintetica, o meglio il Text-To-Speech (TTS) cioè quella serie di tecnologie in grado di simulare il modo di parlare umano eseguendo la lettura di un testo. Tra i modelli realizzati quindi vi è WaveNet, un modello altamente innovativo che ha rivoluzionato il modo di fare Text-To-Speech facendole fare un salto in avanti davvero sorpendente.

WaveNet and Text-To-Speech (TTS) machines can speak m

Le tecnologie Text-To-Speech (TTS)

Il desiderio di poter far parlare le macchine simulando il più possibile gli esseri umani è da sempre stato un sogno per tutti i ricercatori. Negli ultimi anni, le numerose applicazioni di “macchine parlanti” in molti ambiti professionali ha spinto fortemente la ricerca ed il mercato a cercare delle soluzioni sempre più efficienti e che producessero via via dei risultati sempre più reali.

Ma la realizzazione di una macchina parlante non si è dimostrata una cosa facile, il modo di parlare umano è molto complesso, e non è fatto solo di parole registrate, ma anche di inflessioni, espressioni che aggiungono enfasi ed emozioni alla pronuncia, tanto da renderla comprensibile o meno. Una parola asettica in una frase senza espressioni può rendere il risultato non solo poco gradevole ma anche di difficile comprensione.

Comunque i risultati ci sono, tanto da sviluppare una nuova area tecnologica chiamata Text-to-Speech (TTS), o meno comunemente Speech Synthesis.

TTS text to speech

La maggior parte dei dispositivi che necessitano di questa tecnologia, basano il loro funzionamento sulla concatenative TTS, Questa tecnica utilizza un vasto database di piccoli frammenti di discorso (parole registrate) da un singolo speaker e poi ricombinate tra di loro per formare frasi intere. Navigatori satellitari, cellulari, voci automatizzate nelle stazioni dei treni utilizzano questa tecnica. Comunque, nonostante la sua notevole diffusione, la concatenative TTS è molto limitata. Infatti non esistono inflessioni della voce come enfasi ed emozioni, e si basano totalmente su una singola voce. Se si volesse una voce diversa sarebbe necessario riregistrare tutte le parole in un nuovo database.

Queste limitazioni hanno portato allo sviluppo della tecnica parametric TTS, dove tutte le informazioni necessarie per generare i dati sono immagazzinate nei parametri di un modello, e quindi i contenuti e le caratteristiche del modo di parlare di un discorso possono essere controllati tramite degli input passati direttamente al modello. Il modello poi si basa sui parametri per generare e processare i segnali audio, utilizzando numerosi algoritmi per il signal processing (processamento di segnale) chiamati vocoders.

WaveNet

Completamente diversa dalle due tecnologie TTS precedenti, WaveNet lavora direttamente modellando la forma d’onda del segnale audio, un campione alla volta. Questa tecnologia quindi non si limita solo ad applicazioni Text-To-Speech ma può anche essere utilizzata per generare qualsiasi modello di audio, compresa la musica.

WaveNet waveform resolution

I ricercatori hanno da sempre cercato di evitare di creare modelli di forme d’onda audio per una valida ragione: sono estremamente rapide. Infatti per ogni secondo di onda sonora sono necessari svariate migliaia di campioni, e per quanto riguarda la modellizzazione sono evidenziabili delle strutture per qualsiasi scala di tempo, rendendo pressoché impossibile una semplificazione del modello.

Comunque con i progressi fatti dal Deep Learning in questi ultimi anni, si è potuto realizzare un modello in grado di lavorare direttamente a livello di singolo campione. WaveNet si basa sulla costruzione di un modello completamente auto-regressivo, in cui la predizione di un singolo campione è il risultato di quelli precedenti già elaborati.

Questo è stato possibile grazie ai successi di due modelli di Deep Learning, chiamati PixelRNN e PixelCNN , realizzati proprio quest’ultimo anno. Creati per la generazione di immagini naturali, si basano sulla costruzione di ogni singolo pixel (e dei suoi colori) basandosi sulla predizione calcolata tenendo conto di tutti gli altri pixel circostanti. Il successo di questi due modelli, che lavorano su sistemi bidimensionali, ha ispirato i ricercatori ad utilizzare WaveNet, che è l’adattamento monodimensionale dei due modelli precedenti, applicandolo nel campo delle onde audio.

WaveNet neural network

L’animazione visualizzata sopra mostra come WaveNet lavora per generare le predizioni per ogni singolo campione. La struttura di WaveNet è basata su una neurale completamente convoluzionale, dove gli strati di convoluzione hanno vari fattori di delazione che permettono ai suoi rispettivi campi di crescere esponenzialmente con la profondità e coprire migliaia di timestep.

Durante il periodo di apprendimento della rete neurale (training time), vengono utilizzate come sequenze di ingresso i campioni di onde sonore reali registrate da speaker umani.

WaveNet è il sistema attuale più all’avanguardia per il TTS

Una volta realizzato il modello da parte dei ricercatori, si sono immediatamente realizzati dei test per valutarne le prestazioni.

Per prima cosa WaveNet è stato istruito utilizzando dei dataset TTS di Google in modo da poter valutare le sue prestazioni, rimanendo nello stesso ambito delle altre due tecniche TTS utilizzate attualmente da Google (parametriche e concatenative).

Poi si è deciso di paragonare tutti i metodi, compreso anche un discorso reale umano, attraverso le  Mean Opinion Scores (MOS). I MOS sono una misura standard per testare la qualità sonora, e vengono effettuati come test alla cieca con soggetti umani, che hanno la possibilità di dare un voto da 1 a 5.

MOS judgement

Per quanto riguarda i linguaggi sono stati utilizzati sia l’Inglese degli Stati Uniti che il Chinese Mandarino, una lingua molto complessa. Comunque i risultati si sono dimostrati simili in entrambe i casi.

WaveNet - MOS test results

Dai risultati ottenuti, si può vedere inoltre che con WaveNet si è ridotta di molto la percezione tra sintetica e naturale della voce umana di oltre il 50%. Questo è forse il risultato più eccezionale di questa tecnologia.

Testiamo WaveNet

Ecco alcuni esempi di questi tre sistemi che puoi ascoltare e valutare personalmente.

US English:

Mandarin Chinese:

Il passaggio alla lettura dei testi per WaveNet

Una volta che il modello per la sintesi vocale era stato realizzato, il passo successivo era quello di poterlo utilizzare utilizzando del testo come input. Quindi si è dovuto trovare un modo per insegnare a WaveNet cosa fosse un testo.

Per fare questo, la prassi migliore è stata quellal di convertire un testo scritto in una sequenza di caratteristiche fonetiche e linguistiche (che contengono informazioni su fonema, sillaba, parola, ecc..) ed utilizzandole come input da associare alle onde sonore corrispondenti.

wavenet - text to speech

Quindi WaveNet si è sviluppato anche affinchè la rete neurale sia in grado di fare previsioni condizionate non solo dai precedenti campioni audio, ma anche dal testo passato in lettura.

Un esperimento interessante è quello far generare a WaveNet un discorso senza l’introduzione di un testo allegato. Il risultato è stato sorprendente, dato che si ha ancora la generazione di un linguaggio parlato, ma che all’ascolto risulta un balbettio dove le parole vengono appena accennate, troncate creando discorsi senza un senso.

Inoltre ascoltando i risultati precedenti, si possono udire anche suoni che non sono direttamente legati alla pronuncia delle parole, ma provenieneti dal respiro e dal momento della bocca. Questo è certamente una buona evidenza della grande flessibilità del modello di WaveNet per generare audio realistici.

Utilizzare più voci in modo semplice

Un altro passo in avanti è che WaveNet è in grado di imparare le caratteristiche da molte voci diverse, sia maschili che femminili. Per evitare poi problemi con la riproduzione di una voce sintetica specifica, WaveNet viene condizionato per identificare lo speaker che sta parlando, in modo poi da riprodurlo correttamente.

wavenet - multiple speaker training

Con questo approccio, si è evidenziato che l’apprendimento da ogni singolo speaker si è dimostrato più semplice quando la rete neurale apprende da più speaker diversi, rispetto a quando l’apprendimento è basato su di un solo speaker. Questo fenomeno evidenza un fattore di trans-apprendimento tra i vari speaker. Cioè quello che WaveNet impara da uno speaker potrà essere utilizzato per gli altri.

Questo aspetto è davvero sbalorditivo.

Alla fine si potrà modificare l’identità dello speaker per dire a WaveNet quale voce utilizzare per la riproduzione dello stesso testo.

WaveNet non si limita al solo TTS, ma può riprodurre anche la musica

Basandosi sulla predizione dei singoli campioni audio, si è anche visto che WaveNet è in grado di poter modellizzare qualsiasi altro segnale audio, oltre alle voci umane. Si è quindi provato ad utilizzarlo in altri ambiti. Interessante per esempio sono i tentativi fatti utilizzando delle melodie di musica classica suonata solo con un pianoforte. 

wavenet - classical piano reproduction

Si sono ottenuti dei risultati davvero affascinanti.

Conclusioni

Il 2017 si è dimostrato l’anno del Deep Learning, in cui moltissime tecniche e modelli di predizione sono stati presentati e hanno dimostrato le loro grandi capacità predittive. Anche il Text-To-Speech ha visto l’introduzione di WaveNet, un sistema in grado di potere simulare il modo di parlare umano in maniera sbalorditiva, portando la percezione umana a quasi non distinguere più tra una voce sintetica ed una naturale.

Speriamo che il 2018 possa portare numerose innovazioni in questo e in molti altri campi.

Lascia un commento