Text to Speech (TTS) is technology that converts written text into spoken audio.
Think of it like this:
Written Input β [TTS Model] β Spoken Audio Output
"Hello world" β [Model] β π "Hello world"
Key idea: The model doesn't just "read" β it must interpret what it reads and decide how to say it.
This is where it gets interesting. The same symbol can mean completely different things depending on context.
Consider the colon symbol ::
| Text | Context | Correct Reading |
|---|---|---|
3:45 | Time | "three forty-five" |
102:98 | Sports score | "one hundred two to ninety-eight" |
16:9 | Aspect ratio | "sixteen to nine" |
Key idea: The model must read surrounding context to decide the correct interpretation β just like a human reader would.
Before improvements, TTS models made predictable mistakes by applying literal or default rules instead of context-aware ones.
Input: +49 170 9876543
β Before: "plus forty-nine, one hundred seventy,
nine million eight hundred seventy-six
thousand five hundred forty-three"
β
After: "plus four nine, one seven zero,
nine eight seven six five four three"
The mistake: Treating digit groups as large numbers instead of individual digits.
Input: Β₯250,000
β Before: "25,000 yen" β dropped a zero!
β
After: "250,000 yen" β correct magnitude
The mistake: Misreading the comma separator, causing a 10x magnitude error.
Input: SOβ
β Before: "sulfur double" β garbled/nonsensical
β
After: "S O two" β symbols preserved correctly
The mistake: Failing to recognize specialized scientific notation.
Input: Final score: 102-98
β Before: "one hundred two minus ninety-eight" β math interpretation
β
After: "one hundred two to ninety-eight" β score interpretation
The mistake: Treating - as a subtraction operator instead of a score separator.
To track progress, you need a benchmark β a standardized test with known correct answers.
Benchmark Structure (Eleven's internal test):
βββ 27 categories (currencies, scores, formulas, coordinates...)
βββ 8 languages
βββ Metric: Error Rate (% of outputs that are wrong)
| Version | Error Rate |
|---|---|
| Before (Alpha) | 15.3% |
| After (v3) | 4.9% |
| Improvement | 68% reduction |
Key idea: A 68% reduction in errors means roughly 2 out of 3 previous mistakes are now fixed.
The biggest gains came in categories where context determines meaning β not fixed rules.
Fixed rule (easy): $ always = "dollars"
Context-dependent: - could mean minus, to, through,
hyphen, or score separator
Models that learn to read surrounding words and symbols handle ambiguous cases far better than models applying rigid rules.
PROBLEM: Same symbols β different meanings depending on context
Models defaulted to literal/mathematical interpretations
SOLUTION: Train models to use surrounding context as clues
Test across many categories and languages
RESULT: Error rate: 15.3% β 4.9% (68% improvement)
Users preferred new version 72% of the time
The core lesson: Good TTS isn't just about pronunciation β it's about understanding context to interpret text the way a human reader naturally would. π―