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.

ph_vietnam 6.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  1. //====================================================
  2. // Vietnamese Phonemes
  3. //====================================================
  4. phoneme 1 // ngang tone: level
  5. stress
  6. Tone(28, 32, envelope/p_level, NULL)
  7. endphoneme
  8. phoneme 2 // huyền tone: low falling
  9. stress
  10. Tone(20, 8, envelope/p_fall, NULL) //20
  11. endphoneme
  12. phoneme 3 // sắc Tone(rising
  13. stress
  14. Tone(25, 50, envelope/p_rise, NULL) // 25
  15. endphoneme
  16. phoneme 4 // hỏi Tone(curve (dipping rising)
  17. stress
  18. Tone(30, 5, envelope/p_fallrise, NULL)
  19. endphoneme
  20. phoneme 5 // ngã tone: broken (creaking rising)
  21. stress
  22. Tone(28,58, envelope/p_214, envelope/vi_5amp) // 28,58
  23. endphoneme
  24. phoneme 6 // nặng Tone(drop (constricted)
  25. stress
  26. //length 150 // ignore because it make too short sound 75 // reduce the length of the vowel
  27. Tone(40, 20, envelope/p_512, envelope/vi_6amp)
  28. endphoneme
  29. phoneme 7 // Tone(1 (ngang) at end of clause
  30. stress
  31. Tone(40, 20, envelope/p_fall, NULL)
  32. endphoneme
  33. // Vowels
  34. //=======
  35. phoneme a
  36. vowel starttype #@ endtype #@
  37. length 120
  38. FMT(vowel/a_6) //a_4)
  39. endphoneme
  40. phoneme a:
  41. vowel starttype #a endtype #a
  42. length 200 //280
  43. FMT(vietnam/a) //FMT(vowel/a_6)
  44. endphoneme
  45. phoneme E
  46. vowel starttype #e endtype #e
  47. length 200
  48. FMT(vowel/ee_3)
  49. endphoneme
  50. phoneme e
  51. vowel starttype #e endtype #e
  52. length 200
  53. FMT(vowel/e)
  54. endphoneme
  55. phoneme i
  56. vowel starttype #i endtype #i
  57. length 190
  58. IfNextVowelAppend(;)
  59. IF prevPhW(w) THEN
  60. VowelStart(w/wi)
  61. ENDIF
  62. FMT(vowel/i_4)
  63. endphoneme
  64. phoneme O
  65. vowel starttype #o endtype #o
  66. IF nextPh(kh) THEN
  67. length 95
  68. ELSE
  69. length 200
  70. ENDIF
  71. FMT(vowel/aa_4)
  72. endphoneme
  73. phoneme o
  74. vowel starttype #o endtype #o
  75. IF nextPh(kh) THEN
  76. length 95
  77. ELSE
  78. length 200
  79. ENDIF
  80. FMT(vowel/o_2)
  81. endphoneme
  82. phoneme u
  83. vowel starttype #u endtype #u
  84. IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound
  85. length 120
  86. ELSE
  87. length 200
  88. ENDIF
  89. FMT(vnasal/u_n) //vowel/u_7)
  90. endphoneme
  91. phoneme y
  92. vowel starttype #u endtype #u
  93. IF nextPh(kh) OR nextPh(N) THEN
  94. length 120
  95. ELSE
  96. length 200
  97. ENDIF
  98. FMT(vowel/u#_5)
  99. endphoneme
  100. phoneme @
  101. vowel starttype #@ endtype #a
  102. IF nextPh(kh) OR nextPh(N) THEN
  103. length 120
  104. ELSE
  105. length 170
  106. ENDIF
  107. FMT(vowel/V) //vowel/@_2)
  108. endphoneme
  109. phoneme @:
  110. vowel starttype #@ endtype #@
  111. length 280
  112. FMT(vowel/@_2)
  113. endphoneme
  114. // Diphthongs
  115. //===========
  116. phoneme aI
  117. vowel starttype #a endtype #i
  118. length 200 //250
  119. FMT(vdiph/&y)
  120. endphoneme
  121. phoneme a:I
  122. vowel starttype #a endtype #i
  123. length 200 //250
  124. FMT(vdiph/ai)
  125. endphoneme
  126. phoneme @I
  127. vowel starttype #@ endtype #i
  128. length 200 //250
  129. FMT(vdiph/@i)
  130. endphoneme
  131. phoneme @:I
  132. vowel starttype #@ endtype #i
  133. length 200 //250
  134. FMT(vdiph/@i)
  135. endphoneme
  136. phoneme eI
  137. vowel starttype #e endtype #i
  138. length 200
  139. FMT(vdiph/ei)
  140. endphoneme
  141. phoneme EI
  142. vowel starttype #e endtype #i
  143. length 200
  144. FMT(vdiph/eei)
  145. endphoneme
  146. phoneme OI
  147. vowel starttype #o endtype #i
  148. length 200
  149. FMT(vdiph/0i)
  150. endphoneme
  151. phoneme oI
  152. vowel starttype #o endtype #i
  153. length 200
  154. FMT(vdiph/oi)
  155. endphoneme
  156. phoneme uI
  157. vowel starttype #u endtype #i
  158. length 200
  159. FMT(vdiph/ui)
  160. endphoneme
  161. phoneme yI
  162. vowel starttype #u endtype #i
  163. length 200
  164. FMT(vdiph/u-i)
  165. endphoneme
  166. phoneme aU
  167. vowel starttype #a endtype #u
  168. length 210
  169. FMT(vdiph/aau_4)
  170. endphoneme
  171. phoneme a:U
  172. vowel starttype #a endtype #u
  173. length 230 //270
  174. FMT(vdiph/au)
  175. endphoneme
  176. phoneme eU
  177. vowel starttype #e endtype #u
  178. length 200
  179. FMT(vdiph/eu)
  180. endphoneme
  181. phoneme EU
  182. vowel starttype #e endtype #u
  183. length 200
  184. FMT(vdiph/eeu)
  185. endphoneme
  186. phoneme iU
  187. vowel starttype #i endtype #u
  188. length 200
  189. FMT(vdiph2/iu)
  190. endphoneme
  191. phoneme @U
  192. vowel starttype #@ endtype #u
  193. length 200
  194. FMT(vdiph/@u_3)
  195. endphoneme
  196. phoneme @:U
  197. vowel starttype #@ endtype #u
  198. length 270
  199. FMT(vdiph/@u)
  200. endphoneme
  201. phoneme i@
  202. vowel starttype #i endtype #@
  203. length 240
  204. FMT(vdiph2/ii@_3)
  205. endphoneme
  206. phoneme y@
  207. vowel starttype #i endtype #@
  208. length 200
  209. FMT(vdiph2/y-y#)
  210. endphoneme
  211. phoneme u@
  212. vowel starttype #u endtype #@
  213. length 200
  214. FMT(vdiph2/uu@)
  215. endphoneme
  216. // Addition Dipthongs
  217. phoneme o# // ông
  218. vowel starttype #o endtype #o
  219. length 200
  220. FMT(vnasal/a#u_n)
  221. endphoneme
  222. phoneme O# // ong
  223. vowel starttype #o endtype #o
  224. length 200
  225. FMT(vnasal/&u_n)
  226. endphoneme
  227. phoneme o@
  228. vowel starttype #o endtype #o
  229. length 160
  230. FMT(vdiph2/oa)
  231. endphoneme
  232. phoneme o&
  233. vowel starttype #o endtype #o
  234. length 160
  235. FMT(vietnam/oe)
  236. endphoneme
  237. phoneme kh
  238. vls vel frc
  239. lengthmod 3
  240. Vowelin f1=0 f2=2300 200 400 f3=200 80
  241. Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20
  242. WAV(vietnam/_c,5) //ufric/x, 50)
  243. endphoneme
  244. phoneme l
  245. liquid
  246. lengthmod 7
  247. //IF nextPh(isNotVowel) THEN
  248. // ChangePhoneme(l/2)
  249. //ENDIF
  250. //CALL vowelstart_l
  251. FMT(l/l_vi)
  252. endphoneme
  253. phoneme t
  254. vls alv stop
  255. //voicingswitch d
  256. lengthmod 2
  257. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  258. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  259. WAV(vietnam/th, 50)
  260. endphoneme
  261. phoneme cr
  262. vls pla afr sibilant
  263. //voicingswitch dZ
  264. lengthmod 2
  265. Vowelin f1=0 f2=2300 200 400 f3=-100 80
  266. WAV(vietnam/tr,10)
  267. endphoneme
  268. phoneme d
  269. vcd alv stop
  270. lengthmod 5
  271. Vowelin f1=1 f2=1700 -300 300 f3=-100 80
  272. Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
  273. WAV(vietnam/dd)
  274. endphoneme
  275. phoneme c
  276. vls pal stop palatal
  277. //voicingswitch J
  278. lengthmod 2
  279. length 75
  280. Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
  281. Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1
  282. WAV(vietnam/ch,5)
  283. endphoneme
  284. phoneme p
  285. vls blb stop
  286. lengthmod 2
  287. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  288. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  289. WAV(ustop/p_unasp_,10)
  290. endphoneme
  291. phoneme n
  292. vcd alv nasal
  293. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  294. Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
  295. lengthmod 4
  296. FMT(n/n#_)
  297. endphoneme
  298. phoneme t[ // dental variant of /t/
  299. vls dnt stop
  300. voicingswitch d[
  301. lengthmod 2
  302. Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
  303. Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
  304. IF nextPh(isPause2) THEN
  305. WAV(ustop/t_unasp2, 5)
  306. ENDIF
  307. WAV(ustop/t_hi, 70)
  308. endphoneme