BlogText-to-Speech

How to judge a Thai AI voice in ten sentences

A ten-line listening test for any Thai text to speech voice, built on the sounds Thai carries and English does not, with a scoring sheet and the script to run.

· 9 min read

ข่าว, ขาว, and ข้าว are spelled with the same three letters and differ in tone alone. One is news, one is white, one is rice. A voice that gets one contour wrong turns a sentence about the morning news into a sentence about rice, and the listener hears the error before the sentence ends. Most demo scripts never put those three words in one line.

This guide is a listening test. It names the five things a Thai syllable carries that an English one does not, gives a ten-line script that checks each of them, and explains how to score the result. The script works on any voice. The Paxa TTS Flash voices are on the voices page, and the test is the same whichever voice is in the player.

Five things a Thai syllable carries#

Thai packs more into a syllable than English does. Each of the five properties below changes the meaning of a word on its own. Each is also a place where a voice can fail while sounding fluent to a listener who does not speak Thai.

  • Tone. Thai has five tones, and the tone is part of the word. ข่าว carries a low tone, ขาว a rising one, ข้าว a falling one. A wrong tone is a wrong word, and a flat reading that levels every tone is a reading with no words in it.
  • Vowel length. A short vowel and a long vowel are different vowels. ฝัน is a dream and ฝาน is to slice, and the only difference is how long the vowel lasts. A voice that clips long vowels merges pairs like these.
  • Final consonants. A syllable ending in ก, ด, or บ closes on a stop the speaker does not release. มาก ends with the mouth closed. A voice trained mostly on English tends to release the final, which adds a puff of air Thai listeners hear as foreign.
  • ร, ล, and clusters. Standard Thai keeps ร and ล apart and keeps clusters such as คร, ปล, and คล whole. Casual Bangkok speech drops the ร in ครับ and says คับ. A voice has to pick one register and hold it for the whole line, because a reading that alternates sounds like two speakers.
  • Borrowed words. A word borrowed from English has a fixed Thai reading, with its own tones, that the spelling only partly marks. คอมพิวเตอร์ ends on a falling tone nothing on the page records. A voice can read the Thai spelling with English sounds, or read it letter by letter, and both are wrong.

Three more things sit above the syllable. Written Thai has several words whose letters allow two readings, and only the sentence decides which. Numbers, dates, and times read by rules a voice has to know. A Thai question is marked by a word at the end, and the pitch of the whole sentence does the opposite of what an English question does.

The ten-line script#

Each line below tests one property, and the table after it says what to listen for. Every line is under 50 characters, which is the length the box on the text to speech page speaks without an account. Copy them in order.

the ten test lines
1.  ข่าวเช้านี้บอกว่าข้าวขาวราคาขึ้น
2.  เขาฝันว่าได้ฝานมะม่วงให้แม่
3.  หนังสือเล่มนี้หนักมาก อ่านจบแล้วครับ
4.  ครูให้เราอ่านเรื่องปลาในคลองครับ
5.  ส่งอีเมลจากคอมพิวเตอร์ที่ออฟฟิศ
6.  เด็กตากลมนั่งตากลมริมทะเล
7.  นัดวันที่ 15 กรกฎาคม 2569 เวลา 14:30 น.
8.  โทร 02 123 4567 ต่อ 21
9.  ทานข้าวหรือยังคะ ถ้ายังเดี๋ยวสั่งให้นะคะ
10.  ทีม Marketing จะส่ง report ให้ CEO ก่อนเที่ยง
LineChecksListen for
1Toneข่าว low, ขาว rising, ข้าว falling, three distinct contours in one sentence
2Vowel lengthฝัน short and ฝาน long, and the long one audibly longer
3Final consonantsหนัก, มาก, จบ, and ครับ each close on an unreleased stop, with no puff of air after the final
4ร, ล, and clustersครู, เรื่อง, ปลา, and คลอง keep their ร and their clusters, or the line drops them together in one casual register
5Borrowed wordsอีเมล, คอมพิวเตอร์, and ออฟฟิศ read as Thai words with Thai tones, with the falling tone on the last syllable of คอมพิวเตอร์
6Two readings of one stringThe first ตากลม reads as ตา-กลม, round eyes, and the second as ตาก-ลม, sitting in the breeze
7Date and time15 reads as สิบห้า, the year reads in full, and 14:30 น. reads as a clock time in either the formal or the spoken form
8Phone number and 21The digits read one by one, with สอง or the telephone form โท for 2, and ต่อ 21 reads as ยี่สิบเอ็ด
9Particles and a questionคะ on a high tone and นะคะ on the right two tones, with the question carried by the particle and no rising pitch across the sentence
10English inside ThaiMarketing and report read as English words, CEO reads letter by letter, and the Thai around them stays Thai

Line 6 is the classic test for reading in context, and it has a cousin in เพลา, which reads as one syllable when it means an axle and as two when it means a time of day. Line 9 matters most for a female voice, because ค่ะ on a falling tone and คะ on a high tone are one letter apart in spelling and a whole register apart in sound. The script guide covers how to write numbers and English words when the script is yours to change.

How to listen#

A fluent reading hides errors. The ear forgives a wrong tone when the sentence carries on at a natural pace, and a listener who is judging the overall feel will pass a voice that fails three lines. Score each line on its own check and nothing else.

  • Play each line twice. Listen to the whole line the first time, and listen for the one property the table names the second time.
  • Score each line 0, 1, or 2. Two means the check passes cleanly. One means a Thai listener would notice and understand. Zero means the word changed or the reading is wrong.
  • Read all ten lines in one voice before switching. Comparing line 3 in one voice against line 3 in another is the point, and mixing voices inside a run confuses the memory of what each one did.
  • Ask a native speaker to score lines 1, 2, 6, and 9 blind, without the table. Those four are where a non-native ear passes what a native ear fails.
  • Keep the audio. A file per line per voice is a small folder, and a decision made on it can be revisited when the script or the voice changes.

Note

A line that fails on every voice you test is a script problem. Rewrite it in the form the script guide gives, and run it again before you rule a voice out.

Where a natural reading breathes#

Thai writing puts a space between phrases and no mark between sentences. A speaker breathes at the space, holds a shorter beat at a comma, and runs straight through a phrase with no space in it. Lines 3 and 9 each carry one space, and the reading should pause there and nowhere else.

A reading that pauses inside a phrase has cut a word in half or has guessed a boundary wrong. A reading that runs through the space has lost the phrase structure, and a long sentence read that way sounds like a machine even when every syllable is right. Score this under the line it happens in, and note it separately, because the fix is different from the fix for a wrong tone.

Speed is the last thing to judge. Thai news reads fast and Thai bedtime stories read slow, and a voice cast for one job is at the wrong pace for the other. Judge the pace against the job the voice is for, and use speed on the request to move it after the sounds pass.

Reading the score#

The maximum is 20 per voice. A voice at 18 or above reads Thai as a Thai speaker would on the lines that matter. The remaining points are usually a number or a borrowed word the script can fix. A voice between 14 and 17 is usable for a surface where the text is written for it, and the lines it lost tell you what the writer has to avoid. Below 14 the voice is the problem, and a better script will not carry it.

One line overrides the total. A zero on line 1 means the voice does not hold tones, and every other line was passed by luck. Rule that voice out whatever the rest of the sheet says.

Voices the script treats differently#

Line 10 flips for an English-first voice. The 4 English-first voices read a whole English sentence with no Thai accent and read Thai with a foreign one, and the Thai lines above score them low by design. Test those voices on an English line of the same shape, and score line 10 on whether the Thai around the English words stays intelligible. The English voices page lists them and the jobs they are cast for.

The 4 regional voices read the same script in their own sound system. The regional varieties of Thai carry tone systems of their own, and a speaker of central Thai scoring line 1 on a regional voice is judging it against the wrong system. Have a speaker from that region score lines 1, 2, and 9, and read the accents page for what the register changes.

Run the script#

  • Paste the lines one at a time into the box on the text to speech page. It speaks 6 of the 26 voices with no account, one line every few seconds.
  • Open the speech tool for the full script in one run, any voice, and audio you can download. A new account starts with 100 free credits, which covers the whole ten-line script about 20 times.
  • Call POST /v1/tts with the same ten lines when the test is part of a build, and keep the files under version control beside the script.
  • Read each voice's page under voices before you pick. The catalog role says what the voice was cast for, and a voice at the wrong pace for the job fails a test no line above can catch.

Next steps#

  • Read the choosing guide to pick the two or three voices worth testing for a job.
  • Read the script guide to fix the lines a voice lost on numbers, English, and particles.
  • Read the voices reference for the ids and the fields the catalog returns.