TL;DR >

Dit blog beschrijft de mogelijkheden om met software audioboeken in te lezen en een vervolgens met AI een digital voice te creeren. We hebben een prototype voice-over gemaakt voor de Smart Medal App van TDE. Dit prototype is hier te bekijken.

Sssst

Waar we vroeger radio luisterden en TV keken met het geluid aan, is de ‘schermwereld’ waarin we leven is geluid als drager van informatie naar de achtergrond verdwenen. Websites & apps zijn doodstil.

Gelukkig worden er door de revolutie van de conversatie weer wat decibellen toegevoegd aan onze interactie met technologie en informatie. Stem input geeft voice output (wel vaak nog taak gestuurd). Steeds meer assistenten zijn in het Nederlands beschikbaar, en alles staat nog in de kinderschoenen.

Hoe gaaf zou het zijn als je je eigen stem in een digitaal formaat zou hebben? Een digital voice. Een vocal avatar. Je een machine woorden kunt laten uitspreken alsof je je zelf uitgesproken zou hebben. Klinkt creepy, right? Of toch niet? Zou het, indien goed toegepast, mogelijkheden bieden? Voor ALS-patienten, die hun stem dreigen kwijt te raken als gevolg van deze vreselijke spierziekte? Als voorlezer, als je er zelf niet bent? Als organisatie, waarbij je je tone of voice nu letterlijk designed?

Handpicked labs bouwt momenteel in samenwerking met E-sites en TDE een prototype voor de Smart Medal app waarbij jouw sport beleving verrijkt wordt door een audio-voice-over op basis van Hardloop- en wedstrijddata.

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 de eisen die nodig waren om aan alle eisen te voldoen.

De bekendste Text to Speech systemen zijn Google Text-to-Speech, Microsoft Watson en Amazon Polly. Deze zijn ook online te beluisteren op https://cloud.google.com/text-to-speech/ en https://text-to-speech-demo.ng.bluemix.net.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 ook meteen een stuk minder natuurlijk klinkt. Het kunnen werken met Nederlandse spraak is een vereiste van 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. Bovendien is dit op zichzelf al een zeer interessante techniek die het onderzoeken waard is.

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 veel belovend;

https://google.github.io/tacotron/publications/tacotron2/index.html

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 implementatie 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.

Voorbeelden

Hieronder tref je 6 voorbeelden. De eerste 3 zijn in het Engels, de volgende 3 in het Nederlands. De Nederlandse audio is gegenereerd op basis van 40min audioboeken, voorgelezen door Herman Koch.

Het betreft dus een digitale variant van de stem van Herman Koch.

Now what?

We merkten dat we op een gegeven moment tegen de limieten van Tacotron in 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, echter nog niet altijd foutloos, wat in een productieomgeving wel gewenst is. 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.

Anders moet er geconcludeerd worden dat de huidige Tacotron 2 technieken nog niet stabiel genoeg zijn en we moeten wachten op een upgrade.

Bekijk een prototype van de Smart Medal app met Tacotron voice-over

Get in touch!

Are you interested in working with or at Handpicked labs? Feel free to contact us or apply here. We are currently focussing on iOT + Robotics, Artificial Intelligence and Conversational systems.