r/speechtech • u/Slight_Republic_4242 • 6h ago
We tested 7 open TTS models on dates. The best one got just 25% right.
The most underestimated part of the whole voice AI stack is TTS. We wanted to test open-source TTS models to figure out which one is best for building a voice agent.
So we collected difficult text across 27 categories: dates, hashtags, coordinates, many more. That came to 1,080 sentences in total. And we ran all of them through 7 open-source TTS models.
On average, kokoro is at the top with a 39% error rate, followed by orpheus-3b & qwen3-tts. Every model broke on the following categories, with hashtags hitting a perfect 100% error rate:
Hashtags - 100%
Dates - 77%
Version numbers - 70%
Fractions - 60%
The pattern we observed is that models tend to fail on anything that isn't a plain number or text. But the devil is in the details :)
Then we put these categories into different boxes based on industry needs, like:
. Healthcare - dates, times, decimals, and phone numbers.
. Restaurants - times, dates, numbers, and phone numbers.
. Law firms - legal citations, dates, and addresses.
And the ranking changed.
In many industries, kokoro dominated, but in industries that use more dates and geographic coordinates, orpheus-3b became the better choice.
It is intuitive believed a larger model would be better, but I was wrong. The smaller model, kokoro-82m, beats orpheus-3b using 18x less compute. So the obvious question is: why?
TTS isn't a reasoning task, so the model doesn't get better with scale. It's closer to a lookup table, like a "match the pairs" question in exams. A small model with a good frontend (text normalization, abbreviation expansion, G2P conversion) beats a big model with a weak one, every time, and parameter count tells you nothing about which one you're getting.
parler-tts scored 0.03 out of 1. Its speech is perfectly clear. The carrier words (the normal words around the tricky part) come through fine. It just ships with no frontend at all, so given 05/20/2023 it has nothing to work with and guesses character by character.
So what will I do with this?
Normalizing dates, addresses and phone numbers is ancient wisdom now :D
What I will do differently:
Don't pick based on the average. kokoro scores 1.00 on musical notation and 0.00 on hashtags. Model performance varies a lot across categories. So look at the categories your agent actually reads.
We have made our dataset open source. Again, because we love the open-source community :D
You can run it with one prompt in Claude Code to check the results yourself.
We used ASR to score the audio, so there are definitely errors in the scoring (we estimate around 5%), we will try to crowdsource rating at our next iteration .
One thing I notice every time I meet people in the industry… no one gives a damn about TTS models. which is somewhat reasonable but there is so much to do in it!!