TDE Innovatie Lab: Jouw eigen digitale stem met Tacotron

Ruud Dankers
Head of Innovation

Hoe gaaf zou het zijn als je jouw eigen stem in een digitaal formaat zou hebben? Een digital voice. Je een machine woorden kunt laten uitspreken alsof je ze zelf uitgesproken zou hebben. Klinkt creepy, right? Of toch niet? Zou het, indien goed toegepast, mogelijkheden bieden? Voor ALS-patiënten, die hun stem dreigen kwijt te raken als gevolg van deze vreselijke spierziekte? Als commentator van een sportwedstrijd? Of als organisatie, waarbij je een tone of voice nu letterlijk designed? Typisch vragen waar ons TDE Innovatie lab wel raad mee weet.

Van idee naar prototype

Samen met Handpicked Labs en afstudeerder Luuk Suijkerbuijk bouwen we aan een prototype die dit mogelijk maakt om de beleving te verrijken met een audio-voice-over op basis van Data. Op basis van Tacotron 2 (by Google), Wavenet en AI is het mogelijk om een model te trainen op basis van audioboeken en teksten uit deze boeken. Door audioboeken in te lezen, vergelijkt de software tekst en uitspraak en kan hij voorspellen hoe een zin met verschillende intonaties uitgesproken zou moeten worden. Het doel? Een persoonlijke text-to-speech zodat we niet alleen maar naar Siri of Alexa hoeven te luisteren.

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. Er is echter toch heel goed te horen dat het bij deze systemen om computer-gegenereerde spraak gaat, waar het juist van belang is om een natuurlijk gesproken verhaal te creëren.

Daarnaast beschikt alleen het systeem van Google over ook een Nederlandse variant, die meteen een stuk minder natuurlijk klinkt. Het kunnen werken met Nederlandse spraak is voor ons een vereiste aan het systeem. Een tweede vereiste is geen generieke en onnatuurlijke stem te gebruiken, wat eigenlijk alle systemen doen. Daarnaast is het een grote wens om de mogelijkheid te hebben de stem van een bekende sportverslaggever te kunnen gebruiken. Op basis van deze eisen is er onderzoek gedaan naar een machine learning systeem waarmee een Text to Speech model getraind kan worden. Dit om de natuurlijkheid en zelfs het stemgeluid zelf in de hand te houden.

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 er gekozen voor Tacotron 2, een systeem dat met machine learning modellen genereert die leren 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 van acceptabel niveau en kunnen nog verder getraind worden 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 open source gezet. Na het bekijken van deze verschillende implementaties, de bijgevoegde audio samples en de community kwamen er twee implementaties als beste uit. 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 op het eerste gezicht er netter en daardoor beter uitzag, was de output van Rayhane Mamah aanzienlijk beter. Op basis van dit resultaat is dan ook de keuze gevallen op de Tacotron 2 implementatie van Rayhane Mamah.

Voorbeeld

In onze zoektocht naar een goede Nederlandse stem om te trainen, kwamen we uit bij Herman Koch, waarvan online veel audioboeken beschikbaar zijn. Op basis van 40 minuten aan audio, kunnen we hem op de volgende manier laten spreken:

Now what?

We merkten dat we op een gegeven moment tegen de limieten van Tacotron in het Nederlands aan gingen lopen. De kwaliteit van de Tacotron 2 audio laat nog te wensen over. Zeker, de uitspraak is een stuk natuurlijker dan de bestaande Text to Speech systemen, maar nog niet altijd foutloos. Ook het stemgeluid van met name de Nederlandse variant klinkt nog niet goed genoeg. We zijn nog bezig om dit te verbeteren. Maar als er geen verbetering komt, is het de vraag of de huidige modellen goed genoeg zijn om uiteindelijk ook voor een applicatie met een zuiver stemgeluid te gebruiken.

Maar stel dat dit wél goed genoeg blijkt te zijn, hoe zou deze techniek dan bijvoorbeeld de Running Story van een Smart Medal kunnen verrijken? Nou, zo dus. We blijven de komende periode sleutelen, want met 'nee, het kan niet' nemen wij eigenlijk nooit genoegen ;)