Hoe werkt tekst naar spraak? Van spelling naar geluid

Samenvatting

Hoe werkt tekst naar spraak? Eerst normaliseert de software de tekst en breidt ze getallen en afkortingen uit. Een uitspraakfase zet woorden om in fonemen, en een prosodiemodel voorspelt toonhoogte, timing en nadruk. Daarna zet een neurale vocoder dat plan om in een geluidsgolf. Fouten komen meestal uit de eerste stappen, zoals namen of getallen, niet uit de stem zelf. Daarom geeft schonere invoer een betere luisterervaring.

Over-ear koptelefoon op een open paperback naast een tablet met een lang artikel

Hoe werkt tekst naar spraak? In drie stappen. Eerst maakt de software je tekst schoon en bepaalt ze hoe elk woord moet worden uitgesproken. Daarna voorspelt een neuraal model het ritme, de toonhoogte en de timing van de zin, als spectrogram. Ten slotte zet een vocoder dat spectrogram om in een echte geluidsgolf die je hoort. De hele keten draait in enkele seconden voor een artikel van 1.000 woorden, daarom kun je een link plakken en op play drukken.

Wat gebeurt er precies tussen de pagina en je oren?

Zie het als een estafette met vier lopers. De tekst gaat erin. De genormaliseerde tekst gaat door naar een uitspraakfase. Die uitspraak gaat door naar een prosodiefase. Prosodie gaat naar een golfvormgenerator. Er komt geluid uit.

Elke moderne engine, van de stem in het toegankelijkheidsmenu van je telefoon tot de voorlezers in leesapps, volgt een versie van die estafette. Sommige nieuwere systemen stoppen twee of drie lopers in één netwerk, maar de taken bestaan nog. Ze worden alleen binnen één model uitgevoerd.

INVOER   → "Dr. Voss paid $4.50 on 5/21."
STAP 1   → "Doctor Voss paid four dollars fifty cents on May twenty-first."
STAP 2   → /ˈdɑːktɚ vɔs .../
STAP 3   → toonhoogte, duur, energie per foneem
STAP 4   → golfvorm, 22.050 tot 48.000 samples per seconde

Dat is de hele truc. De rest van dit stuk gaat over wat elke loper doet, waar hij faalt en wat je hoort als dat gebeurt.

Waarom is de eerste stap, tekstnormalisatie, zo belangrijk?

Omdat geschreven tekst niet vanzelf uitspreekbare tekst is. Een pagina staat vol getallen, datums, afkortingen, valutatekens, URL's, voetnootnummers en emoji. Geen daarvan heeft een vanzelfsprekende uitspraak.

Tekstnormalisatie breidt ze uit. "5/21/24" wordt "21 mei tweeduizend vierentwintig". "$4.50" wordt "vier dollar vijftig". "St." wordt "Street" of "Saint", afhankelijk van de context. Oudere engines deden dit met handgeschreven regels. Nieuwere combineren regels met een klein geleerd model voor de dubbelzinnige gevallen.

Dit is ook de plek waar artikelen misgaan op manieren die je meteen opmerkt. Een productnaam als "iPhone 15 Pro Max" die als "vijftien" in plaats van "één vijf" wordt gelezen, verandert de zin. Een verwijzing als "[12]" midden in een alinea voorlezen breekt de gedachte. Goede article-to-audio-tools verwijderen voetnootmarkeringen, slaan navigatietekst over en beslissen wat ze met tabellen doen voordat de stem begint.

Bij een lange tekst hoor je het verschil in de eerste minuut. Als de voorlezer struikelt over een getal, is de voorbewerking mislukt, niet de stem.

Oscilloscoopscherm met een vloeiende spraakgolf

Hoe weet het systeem hoe elk woord moet worden uitgesproken?

Engelse spelling is een slechte gids voor klank. "Though", "through", "tough" en "thought" delen bijna alle letters en vrijwel geen klanken. De engine heeft dus een uitspraakfase nodig, meestal grapheme-to-phoneme-conversie genoemd, of G2P.

Een foneem is de kleinste geluidseenheid die woorden van elkaar onderscheidt. Het Engels gebruikt er ongeveer veertig. De G2P-stap zet letters op twee manieren om in fonemen. Een uitspraakwoordenboek behandelt veelvoorkomende woorden en bekende uitzonderingen. Een geleerd model raadt de rest, zoals een achternaam die het nog nooit heeft gezien.

Dan komt het moeilijke deel: homografen. "Read" in "I read it yesterday" en "I read every morning" is dezelfde spelling met andere klanken. "Bass" de vis en "bass" het instrument ook. Het model moet naar de zin eromheen kijken, daarom gebruiken moderne engines contextbewuste netwerken in plaats van simpele opzoektabellen.

Waar het nog steeds misgaat:

De meeste engines laten je een eigen uitspraak toevoegen. Weinig lezers doen dat ooit. Als één woord de voorlezer steeds laat struikelen, is die instelling het zoeken waard.

Waar komen ritme en intonatie vandaan?

Deze fase maakt het verschil tussen een vlakke stem en een stem waarnaar je veertig minuten kunt luisteren. Het heet prosodie: accent, tempo, pauzes en toonhoogtebeweging over een hele zin.

Mensen doen dat zonder erbij na te denken. We gaan omhoog met de toon aan het eind van een vraag, vertragen voor een komma en leggen de nadruk op het woord dat de boodschap draagt. Een TTS-model moet dat allemaal voorspellen uit alleen de tekst. Voor elk foneem schat het drie getallen: hoe lang het duurt, hoe hoog de toonhoogte ligt en hoeveel energie het draagt. Het gebruikt daarvoor de omringende woorden, de leestekens en de positie van elk klinkje binnen de lettergreep, het woord en de zin.

Leestekens zijn het sterkste signaal dat het model krijgt. Een komma levert een korte pauze op, een punt een langere, een alinea-einde een nog langere. Daarom klinkt een slecht opgemaakt artikel, zonder alinea's of met een muur van geneste citaten, gehaast, zelfs met een uitstekende stem.

Eén getal om te onthouden. Een gemiddelde voorlezer spreekt ongeveer 150 woorden per minuut. Een essay van 3.000 woorden is dus rond de 20 minuten audio. De meeste apps laten je het afspelen naar 1,5x of 2x brengen, waarmee datzelfde essay 13 of 10 minuten wordt. De kwaliteit van de prosodie bepaalt of 1,5x comfortabel blijft of in brij verandert.

Wat is een vocoder, en waarom heb je er een nodig?

Na de prosodieplanning heeft het model een plan maar nog geen geluid. In de meeste neurale systemen is dat plan een mel-spectrogram: een beeld van hoe de energie over de frequenties verdeeld is in de tijd, meestal op ongeveer 80 frames per seconde.

Een spectrogram is geen audio. Het gooit de fijne fasedetails weg die van een golfvorm een golfvorm maken. Dus moet een tweede model, de vocoder, een golfvorm reconstrueren die erbij past. Dat betekent tienduizenden audiosamples per seconde genereren, elk een getal dat de luchtdruk op dat moment beschrijft.

WaveNet, in 2016 door DeepMind gepubliceerd, maakte neurale vocodering beroemd. Het genereerde ruwe audio één sample tegelijk en klonk veel natuurlijker dan alles wat ervoor kwam. Het was ook traag. Latere vocoders zoals HiFi-GAN genereren audio parallel en draaien vele keren sneller dan realtime, wat direct afspelen op een telefoon mogelijk maakt.

Sommige systemen slaan de middenstap over. VITS, beschreven in deze paper uit 2021, traint één netwerk dat van fonemen direct naar een golfvorm gaat. Minder overdrachten betekent minder plekken waar fouten zich opstapelen.

Hoe zijn we van de pratende speeltjes uit de jaren tachtig hier gekomen?

Spraaksynthese begon niet met neurale netwerken. Ze ging door drie tijdperken, en in oudere schermlezers hoor je nog restanten van de eerste twee.

Vintage pratend speeltje uit de jaren tachtig en printplaat van een spraaksynthesizer op een bureau

Formant- en regelgebaseerde synthese. Ingenieurs modelleerden het stemkanaal met filters en stelden de parameters met de hand af. Het geluid was verstaanbaar maar onmiskenbaar mechanisch. Dit is de stem van vroege pratende speeltjes en de eerste generatie schermlezers. Veel blinde gebruikers zetten er nog steeds een op hoge snelheid op hun telefoon, omdat hij snel en voorspelbaar is en nooit verandert tussen updates.

Concatenatieve of unit-selection-synthese. In plaats van de stem te modelleren, nam men een menselijke spreker dertig uur op, sneed het geluid in kleine eenheden en plakte tijdens het draaien de juiste stukjes aan elkaar. Het klonk veel menselijker, maar met hoorbare naden. Je hoorde de overgangen bij ongewone woorden, en een stem kon zijn stijl niet veranderen zonder een nieuwe opnamesessie.

Neurale synthese. De huidige aanpak. Het model leert de hele koppeling van tekst naar klank uit een grote set opnames en genereert audio in plaats van die te plakken. Stijl, snelheid en emotie zijn regelbaar. Een stem klonen uit een kort fragment is mogelijk geworden. En de naden zijn grotendeels verdwenen.

Een eerlijke kanttekening. Neurale stemmen zijn niet perfect. Ze kunnen een woord verzinnen, een lettergreep laten vallen of een zin die nadruk nodig had platslaan. De fouten zijn zeldzamer en vreemder dan bij de oude systemen, maar ze bestaan. Bij lange documenten kies je daarom liever een iets vlakkere stem die nooit haperd dan een mooie die elke vijftigste zin verknoeit.

Welke TTS-tools laten deze fasen in de praktijk zien?

Verschillende producten wedden verschillend op de estafette. Een paar om te kennen, met een eerlijke kijk op elk.

Speechify leunt op app-afwerking en een grote stemmenbibliotheek. Sterk op mobiel, met imports uit veel bronnen. Als je de breedste reeks integraties wilt, begin hier.

NaturalReader is de vlakkere, oudere naam in het veld. Het is betrouwbaar bij documenten en pdf's, en een verstandige keuze als je invoer uit bestanden bestaat in plaats van uit webartikelen.

ElevenLabs zit aan het andere uiteinde. Het is eerst een platform voor stemgeneratie, met sterke prosodie en klonen, en gebouwd om audio te maken die je publiceert, niet om een leeslijst af te werken.

Voice Dream Reader is de app die veel slechtzienden al kennen. Je kunt de onderliggende stemengine wisselen, uitspraken afstemmen en de snelheid in fijne stappen instellen. Dat maakt de pijplijn hierboven iets wat je echt kunt bijstellen.

Ga niet uit van het idee dat een van hen "de beste stem" heeft. Wat verschilt is de voorbewerking: hoe ze een artikel schoonmaken, wat ze met een tabel doen, hoe ze je stuk van 5.000 woorden met geneste citaten aanpakken. Daar slaagt of mislukt een leesworkflow, meestal zonder dat je het merkt.

Pendelaar met één oordopje die bij schemering op een treinperron wacht

Wat verandert dit aan hoe je luistert?

Als je de estafette kent, heb je drie praktische zetten.

  1. Maak de invoer schoon. Haal advertenties, cookiebanners en voetnootrommel weg voordat je een artikel naar audio stuurt. Een leesmodus helpt. De voorbewerking kan maar zoveel repareren.

  2. Stem de snelheid af op de prosodie. Als een stem op 1,0x goed klinkt maar bij 1,5x breekt, is het duurmodel het zwakke punt. Probeer een andere stem voordat je van snelheid afziet.

  3. Repareer de terugkerende fouten. Als een naam of afkorting steeds misgaat, voeg dan één keer een eigen uitspraak toe in plaats van maandenlang naar dezelfde fout te luisteren.

Test ook met je slechtste artikel, niet met je beste. Een schoon blogbericht van 800 woorden bewijst niets. Een dicht stuk van 4.000 woorden met getallen, citaten en een tabel is het echte examen.

Voor je volgende reistijd zet je één lang en één kort stuk in de wachtrij. Luister de eerste twee minuten van elk op normaal tempo en daarna op 1,5x. Je hoort dan de fasen die we net behandelden, en je weet welke loper de estafettestok liet vallen.

Veelgestelde vragen

Hoe werkt tekst naar spraak in het kort?
De software maakt de tekst schoon, bepaalt hoe elk woord klinkt, voorspelt ritme en toonhoogte en genereert daarna een geluidsgolf uit dat plan. In moderne systemen doet een neurale vocoder die laatste stap.
Wat is het verschil tussen oude en neurale tekst naar spraak?
Oudere systemen gebruikten met de hand afgestelde regels of plakten opgenomen fragmenten aan elkaar, wat hoorbare naden gaf. Neurale systemen leren van vele uren spraak en genereren het geluid direct, zodat tempo en intonatie veel minder mechanisch klinken.
Waarom spreekt tekst naar spraak sommige woorden verkeerd uit?
Engelse spelling is inconsistent, en namen, afkortingen en homografen als read en bass hangen af van de context. Als de uitspraakfase het verkeerd raadt, zegt de voorlezer het ook verkeerd. Eigen uitspraakinstellingen lossen dat meestal op.
Hoe snel leest een tekst naar spraak-stem voor?
Een gemiddelde voorlezer spreekt ongeveer 150 woorden per minuut op normaal tempo. Bij 1,5x is dat ongeveer 225, zodat een essay van 3.000 woorden daalt van rond de 20 minuten naar ongeveer 13.
Wat is een vocoder bij tekst naar spraak?
Een vocoder is het model dat een spectrogram, een kaart van frequenties over de tijd, omzet in een echte geluidsgolf. HiFi-GAN en WaveNet zijn bekende voorbeelden.
Kan tekst naar spraak PDF's en webartikelen even goed lezen?
Niet altijd. Webartikelen bevatten navigatie en advertenties, pdf's bevatten kolommen, koppen en voetnoten. Tools verschillen in hoe goed ze die rommel wegfilteren voordat de stem begint, en die opschoning telt vaak zwaarder dan de stem zelf.
Is tekst naar spraak nuttig voor mensen met een visuele beperking?
Ja. Het geeft toegang tot geschreven tekst zonder dat je naar een scherm hoeft te kijken, en veel lezers gebruiken snelle, vlakke stemmen omdat die voorspelbaar en makkelijk te volgen zijn.