Blog

Tacotron: machine your voice

Jouw stem on demand

Een digitaal stemprofiel waarmee we een computer kunnen laten praten met jouw eigen stem. Klinkt tricky, toch? Voor jou is het waarschijnlijk niet aan de orde maar stel; door ziekte of een ongeval raak je je stem kwijt en moet je (net als Steven Hawking) met een spraakcomputer door het leven. Zou een digitale versie van jouw stem dan niet een oplossing kunnen zijn? 
Of stel dat jouw organisatie gebruik maakt van een chatbot die voortaan ook gesproken tekst moet kunnen reproduceren, zou het dan niet super zijn dat je de tone of voice van jouw bedrijf letterlijk kan implementeren? 
Dit zijn allemaal vragen waarop we het antwoord op wilde weten en daarom werd er vanuit Handpicked Labs een onderzoek ingesteld, we nemen je graag mee langs onze bevindingen. 

Van idee naar prototype

Handpicked Labs en afstudeerder Luuk Suijkerbuijk(TDE) ontwikkelden met hulp van E-sites een prototype die het mogelijk maakt om een stemprofiel (en daarmee de beleving) te verrijken met een audio voice-over op basis van data. Tacotron 2 (by Google), Wavenet en AI bieden de mogelijkheid om een model te trainen op basis van audioboeken. Hoe we dat doen? We lieten het model audioboeken lezen waarna de software tekst en uitspraak met elkaar vergeleek. Deze vergelijking kon op zijn beurt worden gebruikte om te voorspelen hoe een zin met verschillende intonaties uitgesproken zou moeten worden. Wat we hiermee wilden bereiken? 
Een alternatief op de stemmen van Amazon, Google en Apple maar bovenal een oplossing op de eerder genoemde vraagstukken.

TEXT-TO-SPEECH

Met software zal er dus spraak gegenereerd worden op basis van tekst. Hierbij is gekeken naar een bestaand framework dat meteen gebruikt kan worden, maar deze frameworks voldeden niet aan onze eisen. De lat ligt hoog, uiteraard. De bekendste Text to Speech systemen zijn Google Text-to-Speech, Microsoft Watson en Amazon Polly. Deze zijn hier ook online te beluisteren. De output van deze systemen klinkt redelijk natuurlijk. Maar menig  stem-connaisseur hoort direct dat het hierbij om computer-gegenereerde spraak gaat. De uitdaging ligt dus bij het zo natuurlijk mogelijk uitspreken van de teksten.

Daarnaast beschikt alleen het systeem van Google over ook een Nederlandse variant, die meteen een stuk minder natuurlijk klinkt. De Nederlandse taal en daarmee Nederlandse spraak is voor ons de eerste vereiste. Een tweede vereiste is het masteren van een dynamisch stemgeluid (iets waar veel andere systemen niet in slagen). Op basis van deze eisen is er onderzoek gedaan naar een machine learning systeem waarmee een Text to Speech model getraind kan worden. 

TACOTRON

Bij het onderzoeken van machine learning systemen viel al heel snel de aandacht op Tacotron 2; "An end-to-end speech synthesis system by Google". Dit systeem voldoet namelijk precies aan de eisen; hij leert met machine learning natuurlijke spraak te genereren op basis van tekst en hij heeft de mogelijkheid stemgeluid over te nemen van de trainingsdata. Trainingsdata zijn gesproken audioboeken. De audio samples waren veelbelovend;

https://google.github.io/tacot...

Uiteindelijk is gekozen voor Tacotron 2, een systeem dat met machine learning modellen genereert, die vervolgens gebruikt worden om tekst om te zetten naar natuurlijke spraak. Hierbij worden zowel de intonatie als het stemgeluid overgenomen van de trainingsdata. Met Tacotron 2 is uiteindelijk een Nederlands en een Engels model getraind. Deze modellen zijn een stap in de goede richting en worden nog verder getraind om een nieuw stemgeluid aan te nemen.

Een obstakel was echter dat Google de gedachten achter de techniek heeft gedeeld, maar niet de letterlijke techniek zoals zij deze geïmplementeerd hebben. Verschillende instanties en personen hebben vervolgens hun eigen implementatie van Tacotron 2 gemaakt en deze beschikbaar gemaakt (d.m.v open source). Na het bekijken van deze verschillende implementaties, de bijgevoegde audio samples en de community kwamen er twee implementaties als beste uit de bus: Van NVidia (NVIDIA, z.d.) en van Rayhane Mamah (Mamah, 2018).

Beide systemen zijn vervolgens uitgebreid bekeken en voor beide systemen is eenzelfde training gestart. Hoewel de implementatie van NVidia er in eerste instantie netter en daarmee betere uitzag, was de output van Rayhane Mamah aanzienlijk beter. Op basis van dit resultaat is dan ook de keuze gemaakt om Tacotron 2 te implementeren met de implementatie van Rayhane Mamah als basis.

Voorbeeld

Hieronder tref je 3 voorbeelden. De voorbeelden zijn gegenereerd op basis van 40 min audioboeken, voorgelezen door Herman Koch. Het resultaat is een digitale versie van zijn stem. Luister en oordeel zelf!