Chinese Rule-Based Text Frontend

A TTS system mainly includes three modules: Text Frontend, Acoustic model and Vocoder. We provide a complete Chinese text frontend module in PaddleSpeech TTS, see exapmles in examples/other/tn and examples/other/g2p.

A text frontend module mainly includes:

  • Text Segmentation

  • Text Normalization (TN)

  • Word Segmentation (mainly in Chinese)

  • Part-of-Speech

  • Prosody

  • G2P (Grapheme-to-Phoneme, include Polyphone and Tone Sandhi, etc.)

  • Linguistic Features/Charactors/Phonemes

• text: 90 后为中华人民共和国成立 70 周年准备了大礼
• Text Normalization: 九零后为中华人民共和国成立七十周年准备了大礼
• Word Segmentation: 九零后/为/中华人民/共和国/成立/七十/周年/准备/了/大礼
• G2P:
    jiu3 ling2 hou4 wei4 zhong1 hua2 ren2 min2 gong4 he2 guo2 ...
• Prosody (prosodic words #1, prosodic phrases #2, intonation phrases #3, sentence #4):
    九零后#1为中华人民#1共和国#2成立七十周年#3准备了大礼#4

Among them, Text Normalization and G2P are the most important modules. We mainly introduce them here.

Text Normalization

Supported NSW (Non-Standard-Word) Normalization

NSW type

raw

normalized

serial number

电影中梁朝伟扮演的陈永仁的编号27149

电影中梁朝伟扮演的陈永仁的编号二七一四九

cardinal

这块黄金重达324.75克
我们班的最高总分为583分

这块黄金重达三百二十四点七五克
我们班的最高总分为五百八十三分

numeric range

12~23
-1.5~2

十二到二十三
负一点五到二

date

她出生于86年8月18日,她弟弟出生于1995年3月1日

她出生于八六年八月十八日, 她弟弟出生于一九九五年三月一日

time

等会请在12:05请通知我

等会请在十二点零五分请通知我

temperature

今天的最低气温达到-10°C

今天的最低气温达到零下十度

fraction

现场有7/12的观众投出了赞成票

现场有十二分之七的观众投出了赞成票

percentage

明天有62%的概率降雨

明天有百分之六十二的概率降雨

money

随便来几个价格12块5,34.5元,20.1万

随便来几个价格十二块五,三十四点五元,二十点一万

telephone

这是固话0421-33441122
这是手机+86 18544139121

这是固话零四二一三三四四一一二二
这是手机八六一八五四四一三九一二一

Grapheme-to-Phoneme

In Chinese, G2P is a very complex module, which mainly includes polyphone and tone sandhi.

We use g2pM and pypinyin as the default g2p tools. They can solve the problem of polyphones to a certain extent. In the future, we intend to use a trainable language model (for example, BERT) for polyphones.

However, g2pM and pypinyin do not perform well in tone sandhi, we use rules to solve this problem, which requires relevant linguistic knowledge.

The tone sandhi in Chinese mainly include:

  • soft tone sandhi (轻声变调)

  • "一" "不" tone sandhi ("一" "不" 变调)

  • three tone sandhi (三声变调)

For ease of understanding, we list the tone sandhi rules in Chinese here

1. 轻声变调

cases

语气助词“吧、呢、啊”等

吃吧、走吗、去呢、跑啊

结构助词:“的、地、得”

我的书、慢慢地走、跑得很快等

有的轻声音节和非轻声音节构成对比区别意义

买卖:一指生意;二指买和卖。
地道:一指纯粹、真正;二指地下通道。
大意:一指没有注意;二指主要的意思。
东西:一指各种事物;二指东面与西面。
言语:一指所说的话;二指开口,招呼。
运气:一指一种锻炼的方法。二指幸运。

名词的后缀:“们、子、头”

你们、房子、石头

名词或动词的第二个重叠音节

奶奶、姐姐、爸爸、试试、看看、说说、问问

名词后面表示方位的:“上、下、里”

桌上、地下、院里

动态助词:“了、着、过”

走了、看着、去过

作宾语的人称代词:“我、你、他”

找我、请你、麻烦他。

约定俗成

匀称、盘算、枇杷、篱笆、活泼、玄乎。狐狸、学生、拾掇、麻烦、蛤蟆、石榴。玫瑰、凉快、萝卜、朋友、奴才、云彩。脑袋、老爷、老婆、嘴巴、指头、指甲。委屈、喇叭、讲究、打发、打听、喜欢。点心、伙计、打扮、哑巴、女婿、首饰。自在、吓唬、力气、漂亮、队伍、地方。痛快、念叨、笑语、丈夫、志气、钥匙。月亮、正经、位置、秀气、上司、悟性。告示、动静、热闹、屁股、阔气、意思。等

2. "一" "不" 变调

"一" 变调

是否变调

cases

单独念

第一、一楼

序数

用在语句末尾

去声前变阳平(四声前变二声)

一栋yí dòng、一段yí duàn、一律yí lǜ、一路yí lù

非去声前变去声(非四声前变四声)

阴平(一声)
一发yì fā 、一端yì duān、一天yì tiān、一忽yì hū
阳平(二声)
一叠yì dié 、一同yì tóng 、一头yì tóu 、一条yì tiáo
上声(三声)
一统yì tǒng、一体yì tǐ、一览yì lǎn、一口yì kǒu

轻读,当“一”嵌在重叠式的动词之间

听一听 tīng yi tīng

"不" 变调

是否变调

cases

单独念

用在语句末尾

我不

去声前变阳平(四声前变成二声)

不怕bú pà、不妙bú miào、不犯bú fàn、不忿bú fèn

轻读,不”夹在重叠动词或重叠形容词之间、夹在动词和补语之间

懂不懂 dǒng bu dǒng 、看不清 kàn bu qīng

3. 三声变调

子类别

如何变调

cases

单独念

句末

在句中停顿并没被后音节影响

三声+三声

二声+三声

保险、保养、党委、尽管、老板、本领、引导、古老、敏感、鼓舞、永远、语法、口语、岛屿、保姆、远景、北海、首长、母语

三个三声相连

双音节+单音节(“双单格”结构)

前两个变二声

演讲稿、跑马场、展览馆、管理组、水彩笔、蒙古语、选取法、古典舞、虎骨酒、洗脸水、草稿纸

单音节+双音节(“单双格”结构)

第二个变二声

史小姐、党小组、好小伙、跑百米、纸老虎、李厂长、老保姆、冷处理、很友好、小雨伞

单音节+单音节+单音节(“单三格”结构)

前两个变二声

软懒散、稳准狠

更多三声音节相连时

按语意与若干二字组成三字组,然后按以上变调规律处理

岂有 / 此理。
请你 / 给我 / 打点儿 / 洗脸水。
手表厂 / 有五种 /好产品。

References