Technologie
8
min read

Speech-to-text name accuracy - why spelling still fails

Published on
December 15, 2025
by
Vincent Theeten

We pikken de draad weer op

In het eerste artikel toonden we waarom namen en emails correct krijgen zo'n vervelende, maar kritieke uitdaging is voor voice AI. Een gemiste letter, een weggevallen "at", en plots stort de hele flow in elkaar: de email wordt niet verstuurd, geen opvolging via telefoon en er is geen ticket terug te vinden.

Dat stuk ging over de waarom. Waarom het ertoe doet. Waarom dit het vertrouwen in een voice systeem kan maken of breken.

In dit tweede artikel gaan we van het waarom naar het wat. Wat gebeurt er als we real-world Vlaamse namen en emails nemen en ze door de best gekende speech-to-text (STT) engines van vandaag laten lopen? We kijken naar uitgesproken namen, gespelde namen, en e-mailadressen. Het doel is niet om deze tools af te kraken – ze zijn krachtig – maar om hun limieten te tonen wanneer de data geen free-flowing conversatie is maar gestructureerde contactgegevens.

Speech-to-Text (STT) Resultaten

Om een baseline te zetten, liet ik 100 Vlaamse opnames lopen – 50 uitgesproken door een mannelijke stem, 50 door een vrouwelijke stem. Elk bevatte voornamen, achternamen, gespelde versies, en e-mailadressen. Deze gingen door vijf engines: Whisper (Base, Medium, Large), Deepgram Nova (2 & 3), en Scribe v1.

Synthetische dataset van 50 Vlaamse namen en emails

De resultaten

STT nauwkeurigheid over uitgesproken namen, spelling en email velden


Belangrijkste patronen

Uitgesproken namen zijn meestal oké. Grotere modellen hanteren Vlaamse namen beter, maar fouten blijven.

Franse namen zijn makkelijker dan Nederlandse (Laurent, Dubois ↔ Stijn, Verstraeten).

Gespelde namen werken bijna nooit. Engines maken van letter-per-letter input kapotte woorden.

Emails zagen er deels correct uit maar waren nooit bruikbaar. Het gespelde naam-gedeelte binnen de email was vaak correct, maar de syntax was altijd fout: geen van de engines produceerde het @ symbool, dus zelfs hoge scores betekenen geen geldige e-mailadressen.

Waarom het gebeurt

STT modellen zijn gebouwd voor vloeiende conversatie, niet voor gestructureerde data. Ze proberen woorden te maken van klanken. Daarom wordt "@" "at", en daarom worden gespelde namen nonsens.

Maar in de praktijk gebruiken bedrijven geen ruwe STT engines rechtstreeks. Ze gebruiken voice agent platformen die er omheen gewikkeld zijn. Dus testten we die ook.

Voice Agent Test

Vervolgens probeerde ik hetzelfde met een simpele voice agent, gebouwd met VAPI en ElevenLabs Conversational Agent. Deze platformen transcriberen niet alleen – ze voegen prompts, logica en tool calls toe bovenop de ruwe STT.

De agent vraagt om een naam en email, en roept dan twee simpele tools op om op te slaan wat hij denkt gehoord te hebben voordat hij met de gebruiker bevestigt.

De twee tool calls

store_full_name – getriggerd zodra de agent een voor- en achternaam extraheert. Hij slaat beide op, plus het ruwe snippet van wat gehoord werd. Zelfs als de naam fout is, wordt de tool call onmiddellijk gemaakt.

store_email_address – getriggerd zodra een email gedetecteerd wordt. Opnieuw gebeurt de call meteen, met de ruwe transcriptie doorgegeven.

Dit ontwerp maakt de flow realistischer: het systeem slaat data instant op, en komt dan terug om te checken of het correct was. Het toont ook waarom kleine fouten ertoe doen – de verkeerde naam of email wordt vaak eerst opgeslagen, en correcties vloeien niet altijd door.

Spellen kost tijd

Gebruiker: Het is Nathalie Verstraeten
Getranscribeerd: "Natalie Verstraten"
Agent: Is dat N-A-T-A-L-I-E, achternaam V-E-R-S-T-R-A-T-E-N?
Gebruiker: Nee, N-A-T-H-A-L-I-E, V-E-R-S-T-R-A-E-T-E-N.
Agent: Begrepen. Nathalie Verstraeten.
Gebruiker: Mijn email is nathalie.verstraeten@hotmail.com
Getranscribeerd: "Mijn email is natalie.verstraten.hotmail.com"
Gebruiker: Nee! 🤯

...Het komt er uiteindelijk wel, maar het is omslachtig en kost veel correcties en spelling.

Spellen blijft kapot

Zelfs met zorgvuldig spellen sluipen fouten binnen. Het NAVO-alfabet zou kunnen helpen, maar niemand in België gebruikt dat natuurlijk. Dus zitten we vast tussen traag spellen en incorrecte capture.

Correcties dragen niet over

Gebruiker: nathalie.verstraeten@hotmail.com
Opgeslagen: natalie.verstraten@telenet.be

Zelfs na de correctie is de email fout. De naam één keer fixen, fixt hem niet overal.

Wat we leren

Spellen is traag. Zelfs simpele namen zoals Nathalie Verstraeten kostten meerdere heen-en-weer turns om correct te krijgen.

Spellen is onbetrouwbaar. Letter-per-letter input is bijna altijd verminkt, en het NAVO-alfabet is niet praktisch in België.

Correcties propageren niet. Een naam één keer fixen, fixt hem niet automatisch in het email veld.

Emails zien er accuraat uit maar zijn niet geldig. Engines vangen het gespelde naam-gedeelte vaak correct op, maar de algemene syntax is kapot – het @ symbool verschijnt nooit, dus het resultaat is geen bruikbaar adres.

Deze experimenten tonen dat er niet één enkel probleem is – er zijn er meerdere. En elk zal zijn eigen weg vooruit nodig hebben. In Deel 3 van deze reeks kijken we naar de verschillende strategieën die dit in de praktijk écht kunnen laten werken.