PaperEvaluation, Speech, Thai language
How clearly do voices read Thai tip alerts? A blind test of 30 voices
60 unseen alerts, two speech recognizers, 2,000 resamples: where Tipjai Voice 1 stands against 29 voices from 10 companies, and where it still loses.

Summary
- Tipjai Voice 1 was heard wrong on 6.0% of characters across 60 alerts no voice had seen: 8th of 30 voices, with a 95% interval of 4.6% to 7.5%.
- Compared pair by pair on the same alerts, 0 voices were clearly clearer than Tipjai Voice 1, it was clearly clearer than 7, and 22 were too close to call.
- It costs ฿0 per alert and takes 1.38 s per alert on a laptop CPU. The voices heard wrong less often cost ฿35 to ฿168 per 1,000 alerts.
- It loses on names: 26th of 30 for hearing the supporter's name right.
- On naturalness, one blind listener gave it 3.17 out of 5; the best voice scored 5.00. That gap is Tipjai Voice 2's main job.
The task
On a Thai live stream, every tip is read aloud the moment it arrives. An alert has three parts: the supporter's name, often a gaming handle written in Latin letters; the amount in baht; and a short message full of slang, 555, stretched letters and emoji.
The voice has to get it right the first time, live, with no second take. So the question here is narrow and measurable: when you listen, how much of what you hear matches what you should have heard?

The test set
The test set has 60 alerts, written separately and frozen before any voice was scored. Tipjai Voice 1 was frozen before the set was opened, and nothing was tuned after seeing results. 33 alerts have a supporter name in Latin letters and 27 in Thai; the average alert is 50 characters. No real supporter message is in the set.
The set has now been used once, for these published results, so it is released in full under Reproduce it. The next voice is measured on new sets no one has seen.
The voices
30 voices were tested: Tipjai Voice 1 and 29 voices from 10 companies. Each vendor's audio came from its own service on 5 and 6 October 2026. Every voice read all 60 alerts, except iApp ChindaTTS Kaitom, which read 39; it is left off the board, because a mean over other alerts cannot be ranked with the rest.
Prices are list prices before VAT, converted at 33.695 baht per dollar (2026-10-05, European Central Bank reference rate via api.frankfurter.dev). No vendor's audio has ever been used to train or tune Tipjai Voice.
Scoring
Two Thai speech recognizers listen to every clip: Thonburian Whisper (biodatlab/whisper-th-medium-combined) and Typhoon Whisper large-v3 (typhoon-ai). The score is the character error rate: the share of characters heard wrong, after every accepted reading of a name or loanword is mapped to one spelling. Digits, the repeat mark ๆ and stretched letters are normalised before counting. Each voice's score is the mean of the two recognizers.
95% intervals come from 2,000 bootstrap resamples of the alerts. A rank range is the 2.5th to 97.5th percentile of a voice's rank across those resamples. Paired comparisons resample the same alerts for both voices, 4,000 times (seed 6); when the interval of the difference crosses zero, we call the pair too close to call.
Results
Dots are the share heard wrong; lines are 95% intervals. The shaded band is Tipjai Voice 1's interval: a voice whose line meets it cannot be told apart from ours on these alerts. Every clip is matched to -20 LUFS.
- Gemini 3.8 Flash TTS Kore+0.7 [−1.3, +2.7] too close to call
- ElevenLabs v4 Sarah+0.7 [−1.8, +2.8] too close to call
- ElevenLabs v4 Charlie+0.6 [−1.4, +2.4] too close to call
- Cartesia Sonic 3.6 Somchai+0.4 [−1.8, +2.4] too close to call
- ElevenLabs v4 Turbo Sarah+0.2 [−2.3, +2.4] too close to call
- MiniMax Speech 2.8 HD male 1+0.2 [−1.8, +2.0] too close to call
- Cartesia Sonic 3.6 Supannee+0.2 [−2.6, +2.5] too close to call
- Gemini 3.8 Flash Lite TTS Kore †−0.2 [−2.0, +1.6] too close to call
- Google Neural2-C−0.2 [−2.6, +1.9] too close to call
- Google Standard-A−0.2 [−2.6, +1.9] too close to call
- Cartesia Sonic 3.6 Kanya−0.3 [−3.2, +2.2] too close to call
- Grok Luna−0.3 [−3.6, +2.5] too close to call
- Microsoft MAI-Voice-2.1 Krit−0.3 [−3.1, +2.0] too close to call
- Grok Ara−0.3 [−3.9, +2.5] too close to call
- ElevenLabs v3 Conversational Sarah−0.8 [−3.5, +1.6] too close to call
- MiniMax Speech 2.8 HD female 1−0.8 [−4.0, +1.8] too close to call
- Microsoft MAI-Voice-2.1 Flash Harper−1.1 [−3.9, +1.6] too close to call
- Google Chirp 3 HD Kore−1.1 [−4.5, +1.7] too close to call
- Google Chirp 3 HD Charon−1.5 [−4.9, +1.3] too close to call
- Qwen Audio 3.0 TTS Flash, loongjohn−1.7 [−4.3, +0.5] too close to call
- Microsoft Premwadee−2.0 [−4.5, +0.3] too close to call
- ElevenLabs v3 Sarah−2.2 [−5.3, +0.5] too close to call
- Qwen Audio 3.0 TTS Plus, longanlingxin−2.5 [−5.0, −0.3] Tipjai Voice 1 clearly clearer
- Inworld TTS-2 Dennis−2.7 [−5.1, −0.5] Tipjai Voice 1 clearly clearer
- Microsoft Niwat−3.2 [−5.3, −1.1] Tipjai Voice 1 clearly clearer
- Microsoft MAI-Voice-2.1 Harper−5.4 [−11.4, −0.5] Tipjai Voice 1 clearly clearer
- Botnoi 311 (Northern dialect)−6.4 [−8.5, −4.3] Tipjai Voice 1 clearly clearer
- Inworld TTS-2 Flash Dennis−10.8 [−13.3, −8.4] Tipjai Voice 1 clearly clearer
- Fish Audio S2.1 Pro, library voice−20.7 [−24.1, −17.5] Tipjai Voice 1 clearly clearer
Each dot is the difference in errors (Tipjai Voice 1 minus that voice, in percentage points) on the same alerts; each line is its 95% interval.
List price per 1,000 alerts (log scale) against share heard wrong (clearest at the top)
No public list price, so not drawn: Botnoi 311 (Northern dialect) 12.4%
| Gemini 3.8 Flash TTS Kore | ฿35 | 5.3% |
|---|---|---|
| ElevenLabs v4 Sarah | ฿135 | 5.4% |
| ElevenLabs v4 Charlie | ฿135 | 5.4% |
| Cartesia Sonic 3.6 Somchai | ฿84 | 5.7% |
| ElevenLabs v4 Turbo Sarah | ฿67 | 5.9% |
| MiniMax Speech 2.8 HD male 1 | ฿168 | 5.9% |
| Cartesia Sonic 3.6 Supannee | ฿84 | 5.9% |
| Tipjai Voice 1 | ฿0 | 6.0% |
| Gemini 3.8 Flash Lite TTS Kore † | ฿24 | 6.2% |
| Google Neural2-C | ฿27 | 6.3% |
| Google Standard-A | ฿6.7 | 6.3% |
| Cartesia Sonic 3.6 Kanya | ฿84 | 6.3% |
| Grok Luna | ฿25 | 6.3% |
| Microsoft MAI-Voice-2.1 Krit | ฿37 | 6.4% |
| Grok Ara | ฿25 | 6.4% |
| ElevenLabs v3 Conversational Sarah | ฿67 | 6.8% |
| MiniMax Speech 2.8 HD female 1 | ฿168 | 6.9% |
| Microsoft MAI-Voice-2.1 Flash Harper | ฿25 | 7.1% |
| Google Chirp 3 HD Kore | ฿51 | 7.2% |
| Google Chirp 3 HD Charon | ฿51 | 7.5% |
| Qwen Audio 3.0 TTS Flash, loongjohn | ฿25 | 7.8% |
| Microsoft Premwadee | ฿25 | 8.0% |
| ElevenLabs v3 Sarah | ฿135 | 8.2% |
| Qwen Audio 3.0 TTS Plus, longanlingxin | ฿34 | 8.5% |
| Inworld TTS-2 Dennis | ฿42 | 8.8% |
| Microsoft Niwat | ฿25 | 9.2% |
| Microsoft MAI-Voice-2.1 Harper | ฿37 | 11.5% |
| Inworld TTS-2 Flash Dennis | ฿25 | 16.8% |
| Fish Audio S2.1 Pro, library voice | ฿67 | 26.7% |
List prices before VAT, 50 characters per alert. Vertical lines are 95% intervals. Labelled: Tipjai Voice 1, the clearest voice and the cheapest.
Names
Names are Tipjai Voice 1's clearest weakness: the name was heard right in 29 and 30 of 60 alerts by the first and second recognizer, 26th of 30. It got 10.5 of 33 Latin-script names (median of all voices 13.75) and 19 of 27 Thai-script names (median 24.5).
- Microsoft MAI-Voice-2.1 Harper44/47
- Grok Luna41/45
- Microsoft MAI-Voice-2.1 Flash Harper42/43
- Gemini 3.8 Flash TTS Kore41/43
- Grok Ara40/44
- Cartesia Sonic 3.6 Somchai40/43
- Cartesia Sonic 3.6 Kanya39/44
- Cartesia Sonic 3.6 Supannee39/43
- MiniMax Speech 2.8 HD female 139/42
- ElevenLabs v4 Sarah41/39
- MiniMax Speech 2.8 HD male 139/41
- Google Neural2-C38/41
- Google Standard-A39/40
- ElevenLabs v4 Turbo Sarah39/39
- Google Chirp 3 HD Kore38/40
- Microsoft MAI-Voice-2.1 Krit35/42
- Google Chirp 3 HD Charon37/40
- Qwen Audio 3.0 TTS Flash, loongjohn39/36
- ElevenLabs v4 Charlie38/36
- Gemini 3.8 Flash Lite TTS Kore †35/36
- ElevenLabs v3 Conversational Sarah33/36
- Inworld TTS-2 Dennis35/31
- ElevenLabs v3 Sarah32/33
- Microsoft Premwadee32/31
- Qwen Audio 3.0 TTS Plus, longanlingxin30/32
- Tipjai Voice 129/30
- Microsoft Niwat30/29
- Fish Audio S2.1 Pro, library voice24/25
- Botnoi 311 (Northern dialect)19/18
- Inworld TTS-2 Flash Dennis17/18
One row per voice, most names right at the top; one square per alert. Half a square: one recognizer heard it right. Right column: recognizer 1 / 2.
Two rulers
Thonburian WhisperTyphoon Whisper large-v3
- ElevenLabs v4 Charlie1
- Gemini 3.8 Flash TTS Kore2
- ElevenLabs v4 Sarah3
- MiniMax Speech 2.8 HD male 14
- ElevenLabs v4 Turbo Sarah5
- Cartesia Sonic 3.6 Somchai6
- Grok Luna7
- Gemini 3.8 Flash Lite TTS Kore †8
- Google Standard-A9
- Tipjai Voice 110
- Google Neural2-C11
- Cartesia Sonic 3.6 Supannee12
- Microsoft MAI-Voice-2.1 Flash Harper13
- Cartesia Sonic 3.6 Kanya14
- Microsoft MAI-Voice-2.1 Krit15
- Grok Ara16
- ElevenLabs v3 Conversational Sarah17
- MiniMax Speech 2.8 HD female 118
- Google Chirp 3 HD Kore19
- Qwen Audio 3.0 TTS Flash, loongjohn20
- Google Chirp 3 HD Charon21
- Qwen Audio 3.0 TTS Plus, longanlingxin22
- Inworld TTS-2 Dennis23
- ElevenLabs v3 Sarah24
- Microsoft Premwadee25
- Microsoft Niwat26
- Microsoft MAI-Voice-2.1 Harper27
- Botnoi 311 (Northern dialect)28
- Inworld TTS-2 Flash Dennis29
- Fish Audio S2.1 Pro, library voice30
- 1Cartesia Sonic 3.6 Somchai
- 2Cartesia Sonic 3.6 Supannee
- 3ElevenLabs v4 Sarah
- 4ElevenLabs v4 Turbo Sarah
- 5Tipjai Voice 1
- 6Gemini 3.8 Flash TTS Kore
- 7Grok Ara
- 8Cartesia Sonic 3.6 Kanya
- 9Microsoft MAI-Voice-2.1 Krit
- 10ElevenLabs v4 Charlie
- 11Google Neural2-C
- 12Gemini 3.8 Flash Lite TTS Kore †
- 13Google Standard-A
- 14MiniMax Speech 2.8 HD male 1
- 15Grok Luna
- 16MiniMax Speech 2.8 HD female 1
- 17ElevenLabs v3 Conversational Sarah
- 18Google Chirp 3 HD Kore
- 19Google Chirp 3 HD Charon
- 20Microsoft MAI-Voice-2.1 Flash Harper
- 21Microsoft Premwadee
- 22ElevenLabs v3 Sarah
- 23Qwen Audio 3.0 TTS Flash, loongjohn
- 24Microsoft Niwat
- 25Qwen Audio 3.0 TTS Plus, longanlingxin
- 26Inworld TTS-2 Dennis
- 27Microsoft MAI-Voice-2.1 Harper
- 28Botnoi 311 (Northern dialect)
- 29Inworld TTS-2 Flash Dennis
- 30Fish Audio S2.1 Pro, library voice
| 1 | 2 | |
|---|---|---|
| ElevenLabs v4 Charlie | 1 | 10 |
| Gemini 3.8 Flash TTS Kore | 2 | 6 |
| ElevenLabs v4 Sarah | 3 | 3 |
| MiniMax Speech 2.8 HD male 1 | 4 | 14 |
| ElevenLabs v4 Turbo Sarah | 5 | 4 |
| Cartesia Sonic 3.6 Somchai | 6 | 1 |
| Grok Luna | 7 | 15 |
| Gemini 3.8 Flash Lite TTS Kore † | 8 | 12 |
| Google Standard-A | 9 | 13 |
| Tipjai Voice 1 | 10 | 5 |
| Google Neural2-C | 11 | 11 |
| Cartesia Sonic 3.6 Supannee | 12 | 2 |
| Microsoft MAI-Voice-2.1 Flash Harper | 13 | 20 |
| Cartesia Sonic 3.6 Kanya | 14 | 8 |
| Microsoft MAI-Voice-2.1 Krit | 15 | 9 |
| Grok Ara | 16 | 7 |
| ElevenLabs v3 Conversational Sarah | 17 | 17 |
| MiniMax Speech 2.8 HD female 1 | 18 | 16 |
| Google Chirp 3 HD Kore | 19 | 18 |
| Qwen Audio 3.0 TTS Flash, loongjohn | 20 | 23 |
| Google Chirp 3 HD Charon | 21 | 19 |
| Qwen Audio 3.0 TTS Plus, longanlingxin | 22 | 25 |
| Inworld TTS-2 Dennis | 23 | 26 |
| ElevenLabs v3 Sarah | 24 | 22 |
| Microsoft Premwadee | 25 | 21 |
| Microsoft Niwat | 26 | 24 |
| Microsoft MAI-Voice-2.1 Harper | 27 | 27 |
| Botnoi 311 (Northern dialect) | 28 | 28 |
| Inworld TTS-2 Flash Dennis | 29 | 29 |
| Fish Audio S2.1 Pro, library voice | 30 | 30 |
Left: rank by the first recognizer; right: by the second. Dark lines moved 8 places or more (at most 10). Tipjai Voice 1 ranks 10 and 5. This is why the board averages both.
Naturalness
- ElevenLabs v4 Sarah5.00
- ElevenLabs v4 Turbo Sarah5.00
- Qwen Audio 3.0 TTS Plus, longanlingxin3.50
- Tipjai Voice 13.17
- Microsoft Premwadee2.83
- Fish Audio S2.1 Pro, library voice1.50
1 listener, blind, 6 alerts from blind set 2, scale 1 to 5. A small sample: it shows a direction, not a ranking.
Speed and stability
On one laptop CPU, Tipjai Voice 1 takes 1.38 s per alert (median of 20) and reads up to 76 alerts a minute in parallel. Cloud voices include network time, so they are not compared here.
- Inputs
- 400
- Crashed, silent or clipped
- 0
- Same text, same audio
- Every time
The longest names and messages Tipjai accepts, emoji, links, other writing systems, numbers in every shape, invisible characters, HTML and stretched letters.
Limitations
- One listenerNaturalness comes from one listener and shows a direction only.
- 60 alertsEnough to separate voices that differ a lot, not enough to separate the top group.
- Recognizers have biasesThe two disagree by up to 10 places (figure 5): the score estimates what a person hears, it is not a person.
- The market moves fastThese are each vendor's voices on 5 and 6 October 2026. Newer releases are not in these results.
- Thai onlyThis set measures Thai tip alerts. English is not measured here.
- One machineSpeed was measured on one laptop while other work ran.
On blind set 3, written later and scored once, Tipjai Voice 1 was heard wrong on 6.9% of characters (60 alerts), inside its 95% interval on set 2.
Reproduce it
Everything needed to measure it again: all 60 alerts, the reading a listener should hear, and every accepted spelling of each name and loanword.
- thai-tip-alerts-set2.jsonalerts, readings, accepted spellings
- thai-tip-alerts-set2.csvthe same, for a spreadsheet
- Recognizers
- Thonburian Whisper (biodatlab/whisper-th-medium-combined); Typhoon Whisper large-v3 (typhoon-ai)
- Metric
- CER after mapping each accepted reading of a name or word to one spelling; digits, ๆ and stretched letters normalised
- Intervals
- 95% bootstrap, 2000 resamples, paired 4000, seed 6
- Listening loudness
- listening clips matched to -20 LUFS by one static gain
- Measured
- 2026-10-06
Cite
@techreport{tipjai2026thaitipalerts,
title = {How clearly do voices read Thai tip alerts? A blind test of 30 voices},
author = {{Tipjai Research}},
institution = {Tipjai},
year = {2026},
month = oct,
url = {https://research.tipjai.com/en/research/thai-tip-alert-benchmark/}
}These results first appeared on the Tipjai Voice Lab (tipjai.com/voice-lab) and match it number for number, because both read the same measurement files. Gemini 3.8 Flash TTS Kore is the clearest voice on the board.