Chinese Text-to-Speech: Tones, Polyphones and How to Fix Them
Updated · 7 min read · Leelo team
Chinese text-to-speech is hard because the voice has to turn characters into sounds, and that conversion is full of traps: many characters have more than one reading, tones change depending on their neighbours, and written Chinese has no spaces between words. Modern Mandarin voices read everyday text well; the errors cluster around polyphonic characters, names, numbers and short text with little context. You fix them by giving the voice more context, rewording, or setting the pronunciation of the problem word once.
How does text-to-speech know how to pronounce Chinese characters?
An English voice can lean on spelling, however irregular. A Chinese voice can't: a character doesn't spell its sound. Before a word is spoken, the system has to do several things, whether as separate steps or inside one neural model:
- Split the text into words. Chinese writes no spaces, so the voice decides where each word begins and ends.
- Choose a reading for each character. Where a character has several, the word and the sentence decide which.
- Apply tone changes. Some tones shift depending on the syllable that follows.
- Plan the phrasing. Where to pause, which words to stress, and how the pitch moves over the sentence.
The classic example of why step 1 matters is 南京市长江大桥. Split one way it is Nánjīng shì / Chángjiāng dàqiáo, "the Nanjing Yangtze River Bridge". Split another way it is Nánjīng shìzhǎng / Jiāng Dàqiáo, "Nanjing's mayor, Jiang Daqiao". The character 长 is read cháng in the first version and zhǎng in the second. One wrong split and both the meaning and the pronunciation change.
Why do tones matter so much in Mandarin text-to-speech?
Mandarin has four tones plus a light neutral tone, and the tone is part of the word. The textbook example:
| Character | Pinyin | Tone | Meaning |
|---|---|---|---|
| 妈 | mā | 1st, high and level | mother |
| 麻 | má | 2nd, rising | hemp |
| 马 | mǎ | 3rd, low, dipping | horse |
| 骂 | mà | 4th, falling | to scold |
| 吗 | ma | neutral | question particle |
A voice that gets the tone wrong doesn't just sound foreign; it can say a different word. In practice, modern voices rarely get the basic tone of a common character wrong. The trouble is in the rules that change tones in context.
Tone sandhi rules a voice must apply
- Two third tones in a row: the first becomes a rising second tone. 你好 is written nǐ hǎo but said ní hǎo.
- 一 (one): said yī when counting or as an ordinal (第一, dì yī), yí before a fourth tone (一个, yí gè), and yì before the other tones (一天, yì tiān).
- 不 (not): normally bù, but bú before a fourth tone (不是, bú shì; 不要, bú yào).
Pinyin usually shows the original tones, not the changed ones, so a voice trained on correct speech has to learn these rules rather than read them off the page.
Neutral tone and erhua
Some words change meaning when the second syllable is light. 东西 dōngxi is "thing", while dōngxī is "east and west". 地道 dìdao is "authentic", while dìdào is "tunnel". Northern Mandarin also adds an "r" sound to some words (erhua): 哪儿 nǎr (where), 一点儿 yìdiǎnr (a little). Mandarin as spoken in Taiwan uses far less erhua and fewer neutral tones, so the same text can sound right for one audience and slightly off for another.
What are polyphonic characters, and why do voices misread them?
Polyphonic characters (多音字, duōyīnzì) have two or more readings, usually with different meanings. They are the most common source of errors in Chinese text-to-speech.
| Character | Reading 1 | Reading 2 |
|---|---|---|
| 行 | xíng: 行走 xíngzǒu (to walk) | háng: 银行 yínháng (bank) |
| 长 | cháng: 长城 Chángchéng (Great Wall) | zhǎng: 校长 xiàozhǎng (principal) |
| 重 | zhòng: 重要 zhòngyào (important) | chóng: 重新 chóngxīn (again) |
| 乐 | lè: 快乐 kuàilè (happy) | yuè: 音乐 yīnyuè (music) |
| 还 | hái: 还有 háiyǒu (also) | huán: 还书 huán shū (return a book) |
| 好 | hǎo: 很好 hěn hǎo (very good) | hào: 爱好 àihào (hobby) |
| 都 | dōu: 都是 dōu shì (all are) | dū: 首都 shǒudū (capital) |
Inside a common word, the reading is fixed and voices get it right. Errors appear when the character stands alone, sits in a rare word or a name, or appears in a sentence where both readings are plausible.
A worked example
Take an opening line for a bank training course: 欢迎参加银行业务培训。本课程重点讲解重新开户的流程。 ("Welcome to the banking operations training. This course focuses on the process for reopening an account.")
Two characters need care. 行 must be háng in 银行 (bank). 重 must be zhòng in 重点 (focus) and chóng in 重新 (again), two different readings in one sentence. Now add 行长 (bank president), hángzhǎng: both characters take their less common reading. If the voice says xíngcháng, listeners will notice immediately.
How to fix a misread character
- Give it context. A lone word in a heading is the hardest case; a full sentence usually fixes it.
- Reword. If 还 keeps coming out wrong, a synonym such as 归还 (guīhuán, to return) removes the ambiguity.
- Set the pronunciation once. For names and recurring terms, add an entry to the pronunciation dictionary so every occurrence is read the same way. The pronunciation help page explains how.
Mandarin, Cantonese or Taiwan Mandarin: which Chinese do you need?
"Chinese" covers several spoken languages, and the script you write in doesn't decide the accent.
- Mainland Mandarin (Putonghua) is the standard in mainland China and the usual choice for a broad Chinese-speaking audience.
- Taiwan Mandarin uses Traditional characters and has some different readings and vocabulary. 垃圾 (garbage) is lājī on the mainland and often lèsè in Taiwan; software is 软件 ruǎnjiàn on the mainland and 軟體 ruǎntǐ in Taiwan; taxi is 出租车 on the mainland and 計程車 in Taiwan.
- Cantonese is spoken in Hong Kong, Macau and Guangdong. It has six main tones (traditionally counted as nine) and its own colloquial characters such as 嘅, 冇 and 佢. It is effectively a different language for text-to-speech purposes, not an accent of Mandarin.
Check the Chinese voices page to hear which varieties and accents are available, and write the script with the vocabulary of the audience you want.
How should numbers, dates and English words be written for Chinese TTS?
- Two: 二 (èr) when counting or in dates (二月, èryuè, February), but 两 (liǎng) before a measure word (两个人, liǎng gè rén, two people).
- Phone and room numbers: 1 is often read yāo, so 110 is yāo yāo líng.
- Years: read digit by digit, so 2026年 is èr líng èr liù nián.
- Large numbers: Chinese groups by ten thousand (万, wàn) rather than by thousand, so 120,000 is 十二万 (shí'èr wàn). The voice has to regroup Western-style digits.
- Percentages: 50% is 百分之五十 (bǎi fēn zhī wǔshí).
- English words: Chinese business text is full of them (App, PPT, brand names). Some voices read them in English, some in a Chinese approximation. Listen to each one.
Where a number must be read a particular way, write it in characters.
How do you get natural Chinese text-to-speech?
- Choose the variety and the voice for your audience.
- Use full-width punctuation (,。?!、). Chinese commas are where the voice breathes. A 60-character sentence with no commas will sound rushed.
- Generate and listen line by line, with your eye on polyphonic characters, names and numbers. In the Leelo studio you can regenerate a single line and keep several takes to compare.
- Fix readings by rewording or with the pronunciation dictionary.
- Adjust pace and pauses where the delivery feels flat. See directing the delivery.
- Have a native speaker review it, especially for language-learning content, where a wrong tone teaches the wrong word.
This matters most for e-learning, where hours of narration make spot-checking every line impractical, and for dubbing videos into Mandarin, where the translated script should be reviewed before the voice is generated.
Frequently asked questions
Can AI text-to-speech pronounce Mandarin tones correctly?
For common words in full sentences, yes. Modern voices handle basic tones and the main tone sandhi rules well. Errors come mostly from polyphonic characters, names and very short text, not from the tones themselves.
Does Chinese text-to-speech work with Traditional characters?
Script and accent are separate. A voice can read Traditional or Simplified text, but its accent, vocabulary choices and readings such as lājī versus lèsè follow the variety it was built for. Match the voice to your audience, not to the script.
Is there Cantonese text-to-speech?
Cantonese voices exist, but Cantonese is a separate spoken language with six main tones and its own colloquial writing. Check the voice list for what is available, and write the script in Cantonese if you want it to sound like natural Cantonese speech.
How do I fix a character that is read with the wrong pronunciation?
First give it more context or reword the sentence. If the word recurs, such as a name or a product, set its pronunciation in the pronunciation dictionary so every occurrence is read the same way.
Can I dub an English video into Mandarin?
Yes. Video dubbing translates the speech and generates Mandarin audio, at 5,000 credits per minute of video. Review the translated script for polyphonic characters and names before you publish.
Hear it for yourself.
Turn any script into finished audio. 1,000 credits free to start.
Start free: 1,000 credits
