A Thai voice from fifteen seconds of speech
An 82M model small enough to run on the device, trained entirely on speech a larger model generated, and the benchmark that says what it still gets wrong.
- Authors
- Kunat Pipatanakul, Potsawee Manakul, Warit Sirichotedumrong, Sittipong Sripaisarnmongkol, Pakorn Nathong, Phatrasek JirabovonvisutWayu Research, Paxa Labs, Typhoon
- Published
- 18 pages
- Report
- arXiv:2609.03502v1cs.CL, cs.AI
A voice-cloning model can reproduce a speaker from a few seconds of audio, but it needs a large generative backbone and a GPU to do it. A compact fixed-voice system runs anywhere, and needs hours of studio recording from the speaker it imitates. This report takes a third route: use the cloning model as a data source, turn a fifteen-second reference into a synthetic corpus, and train an 82M student on that. The student never hears a real recording of the voice it speaks with.
The result, Wayu-Paxa-TTS-Edge, reads Thai and English on the device. It scores 68.2% on a held-out set of 1,531 sentences built around expressions Thai speech models get wrong. It places phrase breaks more accurately than the 600M teacher it learned from, at 82M parameters.
One teacher, filtered, one student#
Thai text is prepared and verbalized, a zero-shot teacher renders it against a frozen voice reference, a quality filter accepts or rejects each candidate, and what survives trains the student. The filter rejects 23.0% of what the teacher produces. Rejection is not the same as deletion. A rejected text is re-rendered, because dropping it would quietly remove the hardest sentences from the corpus.
Twelve voices, none of them recorded
Each one began as a written description that the teacher turned into a speaker. These are the references the synthetic corpus was built from.
- Teen girl, brightfemale · teenager · high pitch0:04
- Young woman, brightfemale · young adult · high pitch0:04
- Young woman, clearfemale · young adult · moderate pitch0:06
- Young woman, warmfemale · young adult · low pitch0:06
- Middle-aged woman, clearfemale · middle-aged · moderate pitch0:06
- Middle-aged woman, warmfemale · middle-aged · low pitch0:08
- Elder woman, softfemale · elderly · moderate pitch0:05
- Elder woman, lowfemale · elderly · low pitch0:09
- Teen boy, brightmale · teenager · high pitch0:05
- Young man, clearmale · young adult · moderate pitch0:07
- Middle-aged man, warmmale · middle-aged · low pitch0:09
- Elder man, deepmale · elderly · very low pitch0:08
What character error rate hides#
Word error rate needs word boundaries, and Thai does not mark them. Character error rate avoids that, and then hides the errors that matter: a 150-character sentence can mispronounce a brand name and still score around 1% CER, which reads as fine. A transcript can also be perfectly correct while the waveform pauses in the middle of a word.
So the report measures four things: correctness on a challenge set of local expressions, pause placement, speaker similarity, and speaking rate. The challenge set holds 1,531 sentences, each containing one target expression, scored by whether the transcript contains it.
| Challenge-set category | Items |
|---|---|
| Thai-English code-switching | 391 |
| Names | 310 |
| Rare words | 410 |
| Informal spelling | 210 |
| Long sentences | 210 |
| Total | 1,531 |
What the student scores#
| System | Params | Keyword ↑ | Thai CER ↓ | Pause prec. ↑ | PPER ↓ |
|---|---|---|---|---|---|
| Wayu-Paxa-TTS-Edge | Params82M | Keyword ↑68.2% | Thai CER ↓3.7% | Pause prec. ↑91.4% | PPER ↓6.7% |
| OmniVoice teacher | Params600M | Keyword ↑72.8% | Thai CER ↓4.6% | Pause prec. ↑89.9% | PPER ↓17.6% |
| Gemini 3.1 Flash TTS | Params≥405B | Keyword ↑79.8% | Thai CER ↓3.3% | Pause prec. ↑96.4% | PPER ↓13.8% |
Compression costs the student difficult lexical realization and almost nothing else. It trails both larger systems on the challenge set, improves on the teacher's Thai CER, and produces the fewest pause errors of the three. Its rate of pauses inside a word is the lowest at 1.4%. Adding English took its English CER from 4.4% to 1.1% while leaving speaker similarity and the intra-word pause rate unchanged.
What each step of the recipe bought#
| Corpus construction | Hours | Keyword | CER | Pause prec. | PPER |
|---|---|---|---|---|---|
| Unfiltered baseline | 17.72 | 67.5% | 4.0% | 81.3% | 16.2% |
| + pause filtering | 17.63 | 69.6% | 3.5% | 88.4% | 14.3% |
| + bilingual frontend | 17.63 | 68.7% | 4.1% | 88.2% | 14.8% |
| + filtered scale-up | 40.58 | 67.2% | 3.9% | 85.4% | 11.9% |
| + resample rejected | 41.81 | 69.2% | 3.4% | 92.8% | 6.2% |
Scaling the corpus from 17.63 to 40.58 hours under the same filter improved the pause metrics and cost keyword accuracy. Repeated filtering thins out exactly the hard examples the challenge set asks about. Resampling the rejected texts recovers that coverage and produces the best configuration on every measure but one.
- Keyword accuracy, from scratch51.7%
- Keyword accuracy, pretrained69.2%
- Code-switch accuracy, from scratch22.8%
- Code-switch accuracy, pretrained65.5%
A dialect with no corpus#
Most language varieties will never have a licensed corpus or a recording studio, which is why most of them have no speech technology at all. The same pipeline was pointed at Isan with one fifteen-second crop of Isan-accented speech: the teacher rendered about 1.5 hours from it, and the student was fine-tuned for four epochs. Nothing else was recorded.
Fifteen seconds in, a dialect voice out
The reference clip, then the fine-tuned 82M model reading text from the Thai Dialect Isan Speech Corpus.
- The reference15 seconds of Isan-accented speech, from a public demo0:15
- The student, first sentence82M model, four Isan-only epochs0:10
- The student, second sentence82M model, four Isan-only epochs0:05
The adapted student sits at 0.842 cosine similarity to the reference against the teacher's 0.854, and reaches 5.5% Isan CER where the teacher reaches 6.6%. It pays for that in Central Thai, where CER rises from 3.4% to 5.1% and keyword accuracy falls from 69.2% to 65.8%. CER measures intelligibility and nothing more. Whether the result sounds natural to an Isan speaker is not something this evaluation can answer.
Where the method stops#
The student cannot learn what the teacher cannot say. Sampling the teacher 118 times and keeping any correct rendering lifts exact accuracy from 72.8% to 87.9%. That puts 15.1 points of the gap within reach of better sampling alone. The rest tracks the teacher's own training data. At 118 samples, keywords the teacher never saw are recovered 66% of the time, against 98% for keywords it saw between 100 and 10,000 times. What binds is coverage.
Both evaluation instruments lean on heuristics. Pause scoring composes Thai word segmentation with CTC forced alignment, and its accuracy is bounded by both; keyword scoring uses exact matching against accepted forms. The rates are most reliable as comparisons between systems measured with the same instrument.
If you are building on Thai speech#
The practical finding is that the expensive part of a Thai voice is not the model. It is the coverage of the data behind it, and text normalization and pronunciation handling sit outside the acoustic model, where 1.1 points of challenge-set accuracy were recovered with the weights frozen. Anyone shipping Thai speech can measure the same things: the evaluation framework and both benchmarks are open.
This is research. It is not a product specification. Paxa Labs serves Thai speech through its own text to speech API, which is a different model with a different roster and its own published limits.
Open artifacts
- wayu-ai/wayu-paxa-tts-edge(opens in a new tab)
The 82M fixed-voice Thai and English student, open weights, for on-device inference.
- wayu-ai/thai-tts-keyword-bench(opens in a new tab)cc-by-4.0
1,531 sentences, each built around one expression Thai speech models get wrong: a brand, a name, a rare compound, a chat spelling.
- wayu-ai/thai-tts-pause-bench(opens in a new tab)cc-by-4.0
210 long sentences for scoring where a Thai voice breaks, which no character-error number measures.
- wayu-research/thai-tts-eval(opens in a new tab)
The evaluation framework behind the speech report: keyword accuracy, pause placement, speaker similarity, speaking rate.
- wayu-research/wayu-tts-inference(opens in a new tab)
Reference inference for the speech model.
- kunato/wayu-paxa-tts-demo(opens in a new tab)
Type Thai, hear the 82M model read it.