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.

vi_rules 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017
  1. // replace combining (tone) accents with single characters
  2. .replace
  3. à à
  4. á á
  5. ả ả
  6. ã ã
  7. ạ ạ
  8. ằ ằ
  9. ắ ắ
  10. ẳ ẳ
  11. ẵ ẵ
  12. ặ ặ
  13. ầ ầ
  14. ấ ấ
  15. ẩ ẩ
  16. ẫ ẫ
  17. ậ ậ
  18. è è
  19. é é
  20. ẻ ẻ
  21. ẽ ẽ
  22. ẹ ẹ
  23. ề ề
  24. ế ế
  25. ể ể
  26. ễ ễ
  27. ệ ệ
  28. ì ì
  29. í í
  30. ỉ ỉ
  31. ĩ ĩ
  32. ị ị
  33. ò ò
  34. ó ó
  35. ỏ ỏ
  36. õ õ
  37. ọ ọ
  38. ồ ồ
  39. ố ố
  40. ổ ổ
  41. ỗ ỗ
  42. ộ ộ
  43. ờ ờ
  44. ớ ớ
  45. ở ở
  46. ỡ ỡ
  47. ợ ợ
  48. ù ù
  49. ú ú
  50. ủ ủ
  51. ũ ũ
  52. ụ ụ
  53. ừ ừ
  54. ứ ứ
  55. ử ử
  56. ữ ữ
  57. ự ự
  58. ỳ ỳ
  59. ý ý
  60. ỷ ỷ
  61. ỹ ỹ
  62. ỵ ỵ
  63. //================================
  64. // Consonants
  65. //================================
  66. .L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge
  67. .L02 n a
  68. .L03 t ch nh
  69. .L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ
  70. .group b
  71. b b
  72. _) b _b
  73. //b($w_alt2 _^_EN
  74. .group c
  75. c g //k
  76. c (_ kh
  77. _) ch tS; // try [tS;] [tS] [c] c
  78. ?2 _) ch c
  79. ?1 _)ch c
  80. ch (_ c
  81. ce (_ _^_EN
  82. _) cl _^_EN
  83. .group d
  84. d z // try [z] [J] [dZ] [dZ;] [J^]
  85. ?2 d J^
  86. ?1 d J^
  87. d (_ _^_EN
  88. .group đ
  89. đ d
  90. _) đ _d
  91. .group f
  92. //f f
  93. _) f _^_EN
  94. f (_ _^_EN
  95. .group g
  96. g (L04 Q // try [g] [Q]
  97. gh Q // or [g] [Q]
  98. gi z // try [D] [z] [j] [J^] [z;] [J] [dZ]
  99. g (ì z
  100. g (í z
  101. g (ỉ z
  102. g (ĩ z
  103. g (ị z
  104. ?1 g (ì J^
  105. ?1 g (í J^
  106. ?1 g (ỉ J^
  107. ?1 g (ĩ J^
  108. ?1 g (ị J^
  109. ?2 g (ì J^
  110. ?2 g (í J^
  111. ?2 g (ỉ J^
  112. ?2 g (ĩ J^
  113. ?2 g (ị J^
  114. ?1 gi J^
  115. ?2 gi J^
  116. ?1 giết J^'iE3g
  117. ?2 giết J^'iE3g
  118. ?1 giếng J^'iE3N
  119. ?2 giếng J^'iE3N
  120. ?1 giêng J^'iE1N
  121. ?2 giêng J^'iE1N
  122. giết z'iE3t[
  123. giếc z'iE3kh
  124. giêng z'iE1N
  125. giếng z'iE3N
  126. giểng z'iE4N
  127. giễng z'iE5N
  128. giệng z'iE6N
  129. ?1 giệt J^'iE6g
  130. giệt z'iE6t[
  131. giệc z'iE6kh
  132. _) gol _^_EN
  133. _) gat _^_EN
  134. ght (_ _^_EN
  135. .group h
  136. h h
  137. ?2 hu w
  138. .group j
  139. j Z
  140. .group k
  141. k k
  142. //k (_ kh
  143. kh x
  144. k (_ _^_EN
  145. .group l
  146. l l
  147. l (_ _^_EN
  148. le (_ _^_EN
  149. .group m
  150. m m
  151. .group n
  152. n n
  153. ?1 n (_ N //n
  154. ?2 n (_ N
  155. ng N
  156. ngh N
  157. nh n^
  158. ?2 L02) nh n
  159. nd (_ _^_EN
  160. .group ñ
  161. ñ n^
  162. .group p
  163. p p
  164. ph f
  165. .group q
  166. q k
  167. q (_ kh
  168. qu w //kw
  169. .group r
  170. r z // try [z] [z.] [r] [z;]
  171. ?2 r Q
  172. ?1 r z.
  173. r (_ _^_EN
  174. rm (_ _^_EN
  175. .group s
  176. s s. // try [s.] [s] [S]
  177. _) sh _^_EN
  178. s (_ _^_EN
  179. st (_ _^_EN
  180. se (_ _^_EN
  181. .group t
  182. t t[
  183. ?1 t (_ kh
  184. ?2 t (_ kh
  185. th t
  186. tr tS //cr // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;]
  187. ?1 tr cr
  188. ?2 tr c
  189. ts (_ _^_EN
  190. te (_ _^_EN
  191. th (_ _^_EN
  192. tt (_ _^_EN
  193. .group v
  194. v v
  195. ?2 v J^
  196. ve (_ _^_EN
  197. .group w
  198. w w
  199. _) w _^_EN
  200. w (_ _^_EN
  201. .group x
  202. x s
  203. x (_ _^_EN
  204. .group z
  205. z z
  206. z (_ _^_EN
  207. //================================
  208. // Vowels
  209. //================================
  210. .group a
  211. a a:
  212. ai a:I
  213. aì a:I2
  214. aí a:I3
  215. aỉ a:I4
  216. aĩ a:I5
  217. aị a:I6
  218. ay aI
  219. ?2 ay a:I
  220. aỳ aI2
  221. aý aI3
  222. aỷ aI4
  223. aỹ aI5
  224. aỵ aI6
  225. ao a:U
  226. aò a:U2
  227. aó a:U3
  228. aỏ a:U4
  229. aõ a:U5
  230. aọ a:U6
  231. au aU
  232. ?2 au a:U
  233. aù aU2
  234. aú aU3
  235. aủ aU4
  236. aũ aU5
  237. aụ aU6
  238. a (L01 _^_EN
  239. ai (L02 _^_EN
  240. .group à
  241. à a:2
  242. ài a:I2
  243. ày aI2
  244. ?2 ày a:I2
  245. ào a:U2
  246. àu aU2
  247. ?2 àu a:U2
  248. .group á
  249. á a:3
  250. ái a:I3
  251. áy aI3
  252. áo a:U3
  253. áu aU3
  254. ?2 áu a:U3
  255. ?2 áy a:I3
  256. .group ả
  257. ả a:4
  258. ải a:I4
  259. ảy aI4
  260. ảo a:U4
  261. ảu aU4
  262. ?2 ảu a:U4
  263. ?2 ảy a:I4
  264. .group ã
  265. ã a:5
  266. ãi a:I5
  267. ãy aI5
  268. ão a:U5
  269. ãu aU5
  270. ?2 ãu a:U5
  271. ?2 ãy a:I5
  272. .group ạ
  273. ạ a:6
  274. ại a:I6
  275. ạy aI6
  276. ạo a:U6
  277. ạu aU6
  278. ?2 ạu a:U6
  279. ?2 ạy a:I6
  280. //================================
  281. .group ă
  282. ă a
  283. .group ằ
  284. ằ a2
  285. .group ắ
  286. ắ a3
  287. .group ẳ
  288. ẳ a4
  289. .group ẵ
  290. ẵ a5
  291. .group ặ
  292. ặ a6
  293. //=================================
  294. .group â
  295. â @
  296. ây @I
  297. âu @U1
  298. ?2 â (L03 a
  299. ?1 â (L03 a
  300. .group ầ
  301. ầ @2
  302. ầy @I2
  303. ầu @U2
  304. ?2 ầ (L03 a2
  305. ?1 ầ (L03 a2
  306. .group ấ
  307. ấ @3
  308. ấy @I3
  309. ấu @U3
  310. ?2 ấ (L03 a3
  311. ?1 ấ (L03 a3
  312. .group ẩ
  313. ẩ @4
  314. ẩy @I4
  315. ẩu @U4
  316. .group ẫ
  317. ẫ @5
  318. ẫy @I5
  319. ẫu @U5
  320. .group ậ
  321. ậ @6
  322. ậy @I6
  323. ậu @U6
  324. ?2 ậ (L03 a6
  325. ?1 ậ (L03 a6
  326. //===========================
  327. .group e
  328. e E
  329. eo EU
  330. eò EU2
  331. eó EU3
  332. eỏ EU4
  333. eỗ EU5
  334. eọ EU6
  335. e (L01 _^_EN
  336. ey (_ _^_EN
  337. .group è
  338. è E2
  339. èo EU2
  340. .group é
  341. é E3
  342. éo EU3
  343. .group ẻ
  344. ẻ E4
  345. ẻo EU4
  346. .group ẽ
  347. ẽ E5
  348. ẽo EU5
  349. .group ẹ
  350. ẹ E6
  351. ẹo EU6
  352. //============================
  353. .group ê
  354. ê e
  355. êu eU1
  356. ?2 ê (L03 @:
  357. ?2 ê (L02 @:
  358. .group ề
  359. ề e2
  360. ều eU2
  361. ?2 ề (L03 @:2
  362. ?2 ề (L02 @:2
  363. .group ế
  364. ế e3
  365. ếu eU3
  366. ?2 ế (L03 @:3
  367. ?2 ế (L02 @:3
  368. .group ể
  369. ể e4
  370. ểu eU4
  371. ?2 ể (L03 @:4
  372. ?2 ể (L02 @:4
  373. .group ễ
  374. ễ e5
  375. ễu eU5
  376. ?2 ễ (L03 @:5
  377. ?2 ễ (L02 @:5
  378. .group ệ
  379. ệ e6
  380. ệu eU6
  381. ?2 ệ (L03 @:6
  382. ?2 ệ (L02 @:6
  383. //============================
  384. .group i
  385. i i
  386. //i (A j
  387. ia i@
  388. ià i@2
  389. iá i@3
  390. iả i@4
  391. iã i@5
  392. iạ i@6
  393. iê iE
  394. iề iE2
  395. iế iE3
  396. iể iE4
  397. iễ iE5
  398. iệ iE6
  399. iu iU
  400. iù iU2
  401. iú iU3
  402. iủ iU4
  403. iũ iU5
  404. iụ iU6
  405. iêu iU
  406. iều iU2
  407. iếu iU3
  408. iểu iU4
  409. iễu iU5
  410. iệu iU6
  411. i (L01 _^_EN
  412. ?2 i (L03 @
  413. ?1 i (L03 @
  414. ?2 i (L02 @
  415. .group ì
  416. ì i2
  417. ì (A j2
  418. ìa i@2
  419. ìu iU2
  420. ?2 ì (L03 @2
  421. ?1 ì (L03 @2
  422. ?2 ì (L02 @2
  423. .group í
  424. í i3
  425. í (A j3
  426. ía i@3
  427. íu iU3
  428. ?2 í (L03 @3
  429. ?1 í (L03 @3
  430. ?2 í (L02 @3
  431. .group ỉ
  432. ỉ i4
  433. ỉ (A j4
  434. ỉa i@4
  435. ỉu iU4
  436. ?2 ỉ (L03 @4
  437. ?1 ỉ (L03 @4
  438. ?2 ỉ (L02 @4
  439. .group ĩ
  440. ĩ i5
  441. ĩ (A j5
  442. ĩa i@5
  443. ĩu iU5
  444. ?2 ĩ (L03 @5
  445. ?1 ĩ (L03 @5
  446. ?2 ĩ (L02 @5
  447. .group ị
  448. ị i6
  449. ị (A j6
  450. ịa i@6
  451. ịu iU6
  452. ?2 ị (L03 @6
  453. ?1 ị (L03 @6
  454. ?2 ị (L02 @6
  455. //=========================
  456. .group o
  457. o O
  458. oa o@ // modify oa sound example: hoa,khoa // o (A w
  459. oà o@2
  460. oá o@3
  461. oả o@4
  462. oã o@5
  463. oạ o@6
  464. oo o@
  465. oi OI
  466. oì OI2
  467. oí OI3
  468. oỉ OI4
  469. oĩ OI5
  470. oị OI6
  471. ong O#
  472. oe o& // Adding oe sound example: lóe sáng,toét mắt
  473. o (L01 _^_EN
  474. oai Oi // oai sound
  475. oại Oi6
  476. oài Oi2
  477. oái Oi3
  478. oải Oi4
  479. oãi Oi5
  480. .group ò
  481. ò O2
  482. òi OI2
  483. òa o@2 //ò (A w2
  484. òng O#2
  485. òe o&2
  486. .group ó
  487. ó O3
  488. ói OI3
  489. óa o@3 //ó (A w3
  490. óng O#3
  491. óe o&3
  492. .group ỏ
  493. ỏ O4
  494. ỏi OI4
  495. ỏa o@4 //ỏ (A w4
  496. ỏng O#4
  497. ỏe o&4
  498. .group õ
  499. õ O5
  500. õi OI5
  501. õa o@5 //õ (A w5
  502. õng O#5
  503. õe o&5
  504. .group ọ
  505. ọ O6
  506. ọi OI6
  507. ọa o@6 //ọ (A w6
  508. ọng O#6
  509. ọe o&6
  510. //=============================
  511. .group ô
  512. ô o
  513. ôi oI
  514. ông o# // ông sound
  515. ?2 ôi O- //south dialect
  516. .group ồ
  517. ồ o2
  518. ồi oI2
  519. ồng o#2
  520. ?2 ồi O-2
  521. .group ố
  522. ố o3
  523. ối oI3
  524. ống o#3
  525. ?2 ối O-3
  526. .group ổ
  527. ổ o4
  528. ổi oI4
  529. ổng o#4
  530. ?2 ổi O-4
  531. .group ỗ
  532. ỗ o5
  533. ỗi oI5
  534. ỗng o#5
  535. ?2 ỗi O-5
  536. .group ộ
  537. ộ o6
  538. ội oI6
  539. ộng o#6
  540. ?2 ội O-6
  541. //=============================
  542. .group ơ
  543. ơ @:
  544. ơi @:I
  545. ơu @:U
  546. ?2 ơi @- //south dialect
  547. .group ờ
  548. ờ @:2
  549. ời @:I2
  550. ờu @:U2
  551. ?2 ời @-2
  552. .group ớ
  553. ớ @:3
  554. ới @:I3
  555. ớu @:U3
  556. ?2 ới @-3
  557. .group ở
  558. ở @:4
  559. ởi @:I4
  560. ởu @:U4
  561. ?2 ởi @-4
  562. .group ỡ
  563. ỡ @:5
  564. ỡi @:I5
  565. ỡu @:U5
  566. ?2 ỡi @-5
  567. .group ợ
  568. ợ @:6
  569. ợi @:I6
  570. ợu @:U6
  571. ?2 ợi @-6
  572. //=============================
  573. .group u
  574. u u
  575. u (A w
  576. A) u w
  577. ui uI
  578. uì uI2
  579. uí uI3
  580. uỉ uI4
  581. uĩ uI5
  582. uị uI6
  583. ua u@
  584. uà u@2
  585. uá u@3
  586. uả u@4
  587. uã u@5
  588. uạ u@6
  589. uô u@
  590. uồ u@2
  591. uố u@3
  592. uổ u@4
  593. uỗ u@5
  594. uộ u@6
  595. uôi u@j
  596. uồi u@j2
  597. uối u@j3
  598. uổi u@j4
  599. uỗi u@j5
  600. uội u@j6
  601. //ung u#
  602. u (L01 _^_EN
  603. ui (L01 _^_EN
  604. ua (L01 _^_EN
  605. ?2 u u-
  606. .group ù
  607. ù u2
  608. ù (A w2
  609. ùi uI2
  610. ùa u@2
  611. //ùng u#2
  612. ?2 ù u-2
  613. .group ú
  614. ú u3
  615. ú (A w3
  616. úi uI3
  617. úa u@3
  618. //úng u#3
  619. ?2 ú u-3
  620. .group ủ
  621. ủ u4
  622. ủ (A w4
  623. ủi uI4
  624. ủa u@4
  625. //ủng u#4
  626. ?2 ủ u-4
  627. .group ũ
  628. ũ u5
  629. ũ (A w5
  630. ũi uI5
  631. ũa u@5
  632. //ũng u#5
  633. ?2 ũ u-5
  634. .group ụ
  635. ụ u6
  636. ụ (A w6
  637. ụi uI6
  638. ụa u@6
  639. //ụng u#6
  640. ?2 ụ u-6
  641. //=============================
  642. .group ư
  643. ư y
  644. ưi yI
  645. ưa y@
  646. ươ y@
  647. ườ y@2
  648. ướ y@3
  649. ưở y@4
  650. ưỡ y@5
  651. ượ y@6
  652. ưu yw
  653. ươi y@j
  654. ười y@j2
  655. ưới y@j3
  656. ưởi y@j4
  657. ưỡi y@j5
  658. ượi y@j6
  659. ươu y@w
  660. ườu y@w2
  661. ướu y@w3
  662. ưởu y@w4
  663. ưỡu y@w5
  664. ượu y@w6
  665. .group ừ
  666. ừ y2
  667. ừi yI2
  668. ừa y@2
  669. ừu yw2
  670. .group ứ
  671. ứ y3
  672. ứi yI3
  673. ứa y@3
  674. ứu yw3
  675. .group ử
  676. ử y4
  677. ửi yI4
  678. ửa y@4
  679. ửu yw4
  680. .group ữ
  681. ữ y5
  682. ữi yI5
  683. ữa y@5
  684. ữu yw5
  685. .group ự
  686. ự y6
  687. ựi yI6
  688. ựa y@6
  689. ựu yw6
  690. //=============================
  691. .group y
  692. y i
  693. // y (A j
  694. ya i@
  695. yà i@2
  696. yá i@3
  697. yả i@4
  698. yã i@5
  699. yạ i@6
  700. yê i@
  701. yề i@2
  702. yế i@3
  703. yể i@4
  704. yễ i@5
  705. yệ i@6
  706. // yêu i@U
  707. y (L01 _^_EN
  708. .group ỳ
  709. ỳ i2
  710. ỳ (A j2
  711. ỳa i@2
  712. .group ý
  713. ý i3
  714. ý (A j3
  715. ýa i@3
  716. .group ỷ
  717. ỷ i4
  718. ỷ (A j4
  719. ỷa i@4
  720. .group ỹ
  721. ỹ i5
  722. ỹ (A j5
  723. ỹa i@5
  724. .group ỵ
  725. ỵ i6
  726. ỵ (A j6
  727. ỵa i@6
  728. //=============================
  729. .group 0xce // Greek letters
  730. // 0xce is the first byte of the utf-8 code for these characters
  731. α a:1n_|f'a:1
  732. ά a:1n_|f'a:1
  733. β b'e1_|t['a:1
  734. γ Q'a:1_|m'a:1
  735. δ J'E1n_|t['a:1
  736. ε E1p_|s'i1_|l'O1n
  737. έ E1p_|s'i1_|l'O1n
  738. ζ D'e1_|t['a:1
  739. η e1_|t['a:1
  740. ή e1_|t['a:1
  741. θ t'e1_|t['a:1
  742. ι i1_|'o1_|t['a:1
  743. ί i1_|'o1_|t['a:1
  744. κ k'a:1p_|p'a:1
  745. λ l'a1m_|_d'a:1
  746. μ mw'i1
  747. ν nw'i1
  748. ξ s'i7
  749. ο o1_|m'i1_|kz.'O7n
  750. .group 0xcf // Greek letters
  751. π p'i1
  752. ρ z.'o1
  753. σ s'i3c_|m'a:1
  754. ς s'i3c_|m'a:1
  755. τ t['o1
  756. υ u1p_|s'i1_|l'O1n
  757. ύ u1p_|s'i1_|l'O1n
  758. φ f'i1
  759. χ c'i1
  760. ψ ps'i1
  761. ω o1_|m'e1_|Q'a:7
  762. ώ o1_|m'e1_|Q'a:7
  763. ό o1_|m'i1_|kz.'O7n
  764. .group
  765. % f'@2n||cr'am
  766. ! _:c'@3m_|t'a:7n_:
  767. ! (\!
  768. // : koUl@n
  769. D_) h (_DD_ D'@:2 // omit colon in time, eg: 2:30
  770. $ d'o||l'a
  771. != x'o#_|_b'a2N_
  772. >= l'@:3n_|h'@:1n_|hw,a6kh_b'a2N
  773. <= n^'O4_|h'@:1n_|hw,a6kh_b'a2N
  774. __) - (_D cr'y2
  775. A_) - (_D _
  776. C_) - (_D _
  777. . c'@3m_
  778. . (. _:
  779. \.) .