eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

cmn_rules 4.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. // This file is UTF8 encoded
  2. // Default is to handle latin characters as pinyin
  3. // ?1: speak latin characters as English words
  4. .replace
  5. //replace tone mark with tone number
  6. ˉ 1
  7. ˊ 2
  8. ˇ 3
  9. ˋ 4
  10. ā a1
  11. á a2
  12. ă a3
  13. ǎ a3
  14. à a4
  15. ō o1
  16. ó o2
  17. ŏ o3
  18. ǒ o3
  19. ò o4
  20. ê ea
  21. ē e1
  22. é e2
  23. ĕ e3
  24. ě e3
  25. è e4
  26. ī i1
  27. í i2
  28. ĭ i3
  29. ǐ i3
  30. ì i4
  31. ū u1
  32. ú u2
  33. ǔ u3
  34. ù u4
  35. ǖ ü1
  36. ǘ ü2
  37. ŭ u3
  38. ǚ ü3
  39. ǜ ü4
  40. //some pinyin vaiants
  41. ŋ ng
  42. ɑ a
  43. ɡ g
  44. ẑ zh
  45. ĉ ch
  46. ŝ sh
  47. .L01 j q x y
  48. // Note: ngK matches "ng" if not followed by a vowel
  49. // (D will match on a digit and also if no digit is present. (special for tone
  50. language).
  51. // 儿 兒 erhua
  52. .group a
  53. ?1 a _^_EN
  54. a A
  55. ai ai
  56. a1i ai55
  57. a2i ai35
  58. a3i ai214
  59. a4i ai51
  60. ao Au
  61. a1o Au55
  62. a2o Au35
  63. a3o Au214
  64. a4o Au51
  65. a (DnK a
  66. ch) a (DngK A
  67. ch) a (4ngK a
  68. ch) a (ng4K a
  69. k) a (DngK A
  70. _) a (DngK A
  71. y) a iA
  72. y) ao Au
  73. y) a1o Au55
  74. y) a2o Au35
  75. y) a3o Au214
  76. y) a4o Au51
  77. y) a (DnK iE
  78. y) a (DngK iA
  79. .group b
  80. ?1 b _^_EN
  81. b p
  82. @) b (K _^_EN
  83. .group c
  84. ?1 c _^_EN
  85. c tsh
  86. ch (+ ts.h
  87. @) c (K _^_EN
  88. .group d
  89. ?1 d _^_EN
  90. d t
  91. @) d (K _^_EN
  92. .group e
  93. ?1 e _^_EN
  94. e o-
  95. d) e @
  96. t) e @
  97. n) e @
  98. l) e @
  99. y) e iE
  100. ea E
  101. ei ei
  102. e1i ei55
  103. e2i ei35
  104. e3i ei214
  105. e4i ei51
  106. e (Dn @ //en eng
  107. er (K @r
  108. e1r (K @r55
  109. e2r (K @r35
  110. e3r (K @r214
  111. e4r (K @r51
  112. .group f
  113. ?1 f _^_EN
  114. f f
  115. @) f (K _^_EN
  116. .group g
  117. ?1 g _^_EN
  118. g k
  119. @) g (K _^_EN
  120. .group h
  121. ?1 h _^_EN
  122. h X
  123. @) h (K _^_EN
  124. .group i
  125. ?1 i _^_EN
  126. i i //i in ing
  127. z) i i[
  128. c) i i[
  129. s) i i[
  130. h) i i. //after zh ch sh
  131. r) i i.
  132. ia iA
  133. ia (DnK iE
  134. ia (DngK iA
  135. iao jAu
  136. ia1o jAu55
  137. ia2o jAu35
  138. ia3o jAu214
  139. ia4o jAu51
  140. ie iE
  141. io (DngK y
  142. q) io (DngK u
  143. iu iou
  144. .group j
  145. ?1 j _^_EN
  146. j tS;
  147. @) j (K _^_EN
  148. .group k
  149. ?1 k _^_EN
  150. k kh
  151. @) k (K _^_EN
  152. .group l
  153. ?1 l _^_EN
  154. l l
  155. @) l (K _^_EN
  156. @) l (v l
  157. .group m
  158. ?1 m _^_EN
  159. m m
  160. @) m (K _^_EN
  161. .group n
  162. ?1 n _^_EN
  163. n n
  164. ng (K N // consider (ng+vowel) as (n g+vowel) ??
  165. _) ng (K N- // syllablic [N]
  166. .group o
  167. ?1 o _^_EN
  168. o o
  169. ou ou
  170. o1u ou55
  171. o2u ou35
  172. o3u ou214
  173. o4u ou51
  174. ong (K ong
  175. o1ng (K ong55
  176. o2ng (K ong35
  177. o3ng (K ong214
  178. o4ng (K ong51
  179. y) o io
  180. y) ou iou
  181. y) o1u iou55
  182. y) o2u iou35
  183. y) o3u iou214
  184. y) o4u iou51
  185. .group p
  186. ?1 p _^_EN
  187. p ph
  188. @) p (K _^_EN
  189. .group q
  190. ?1 q _^_EN
  191. q tS;h
  192. @) q (K _^_EN
  193. .group r
  194. ?1 r _^_EN
  195. r z.
  196. r (K @r11
  197. .group s
  198. ?1 s _^_EN
  199. s s
  200. sh (+ s.
  201. @) s (K _^_EN
  202. .group t
  203. ?1 t _^_EN
  204. t th
  205. @) t (K _^_EN
  206. .group u
  207. ?1 u _^_EN
  208. u u
  209. ua wA
  210. ua (DnK ua
  211. g) ua (DnK wa
  212. k) ua (DnK wa
  213. ua (DngK wA
  214. uai uai
  215. ua1i uai55
  216. ua2i uai35
  217. ua3i uai214
  218. ua4i uai51
  219. ue yE //üe
  220. ui uei
  221. sh) ui wei
  222. u (DnK u@
  223. k) u (DnK wu@
  224. _h) u (DnK wu@
  225. t) u (DnK wu@
  226. uo uo
  227. sh) ui rei
  228. sh) u (DnK wo-
  229. sh) uo wo
  230. L01) u y /// j,q,x,y + u
  231. L01) u (DnK y@
  232. q) u (DnK+ yi
  233. L01) ua (DnK y&
  234. L01) ue yE
  235. .group ü
  236. ?1 ü _^_EN
  237. ü y
  238. üe yE
  239. .group v //variant of ü
  240. ?1 v _^_EN
  241. v v // foreign words
  242. l) v y //ü
  243. n) v y //ü
  244. l) ve yE //üe
  245. n) ve yE //üe
  246. .group w
  247. ?1 w _^_EN
  248. @) w (K _^_EN
  249. wa wA //wa wan wang
  250. wai wai
  251. wa1i wai55
  252. wa2i wai35
  253. wa3i wai214
  254. wa4i wai51
  255. wei wei
  256. we1i wei55
  257. we2i wei35
  258. we3i wei214
  259. we4i wei51
  260. we wu@ //wen weng
  261. wo wo
  262. wu wu
  263. .group x
  264. ?1 x _^_EN
  265. x S;
  266. @) x (K _^_EN
  267. .group y
  268. ?1 y _^_EN
  269. y j //before a o e i
  270. y (u //NULL before u
  271. y (uK ;
  272. y (uDn ;
  273. yo (DngK yu
  274. y (K i // foreign words
  275. @) y (K _^_EN
  276. .group z
  277. ?1 z _^_EN
  278. z ts
  279. zh (+ ts.
  280. @) z (K _^_EN
  281. //tone number
  282. .group
  283. 1 55
  284. 2 35
  285. 3 214
  286. 4 51
  287. 5 11
  288. | _|