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 20KB

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