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_latvian 6.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. // IF thisPh(isStressed) THEN
  2. // FMT(vowel/..., 100)
  3. // ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  4. // FMT(vowel/..., 50)
  5. // ELSE
  6. // FMT(vowel/..., 75)
  7. // ENDIF
  8. phoneme a
  9. vowel starttype #a endtype #a
  10. length 120
  11. IF thisPh(isStressed) THEN
  12. FMT(vowel/aa_7, 90) // other possible variants: a_3, a_5 or aa_7
  13. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  14. FMT(vowel/aa_7, 45)
  15. ELSE
  16. FMT(vowel/aa_7, 68)
  17. ENDIF
  18. endphoneme
  19. phoneme a:
  20. vowel starttype #a endtype #a
  21. length 300
  22. long
  23. IF thisPh(isStressed) THEN
  24. FMT(vowel/aa_9, 80) // other possible variants: a_3
  25. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  26. FMT(vowel/aa_9, 40)
  27. ELSE
  28. FMT(vowel/aa_9, 60)
  29. ENDIF
  30. endphoneme
  31. phoneme E
  32. vowel starttype #e endtype #e
  33. length 120
  34. IF thisPh(isStressed) THEN
  35. FMT(vowel/ee_3, 90)
  36. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  37. FMT(vowel/ee_3, 45)
  38. ELSE
  39. FMT(vowel/ee_3, 68)
  40. ENDIF
  41. endphoneme
  42. phoneme E:
  43. vowel starttype #e endtype #e
  44. length 300
  45. IF thisPh(isStressed) THEN
  46. FMT(vowel/ee_5, 60)
  47. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  48. FMT(vowel/ee_5, 30)
  49. ELSE
  50. FMT(vowel/ee_5, 45)
  51. ENDIF
  52. endphoneme
  53. phoneme e
  54. vowel starttype #e endtype #e
  55. length 120
  56. IF thisPh(isStressed) THEN
  57. FMT(vowel/e_9, 100) // other alternative e_5
  58. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  59. FMT(vowel/e_9, 50)
  60. ELSE
  61. FMT(vowel/e_9, 75)
  62. ENDIF
  63. endphoneme
  64. phoneme e:
  65. vowel starttype #e endtype #e
  66. length 300
  67. IF thisPh(isStressed) THEN
  68. FMT(vowel/e_mid2, 100) // other alternative e_8
  69. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  70. FMT(vowel/e_mid2, 50)
  71. ELSE
  72. FMT(vowel/e_mid2, 75)
  73. ENDIF
  74. endphoneme
  75. phoneme i
  76. vowel starttype #i endtype #i
  77. length 120
  78. IF thisPh(isStressed) THEN
  79. FMT(vowel/i_6, 140)
  80. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  81. FMT(vowel/i_6, 70)
  82. ELSE
  83. FMT(vowel/i_6, 105)
  84. ENDIF
  85. endphoneme
  86. phoneme i:
  87. vowel starttype #i endtype #i
  88. length 300
  89. IF thisPh(isStressed) THEN
  90. FMT(vowel/i_7, 120)
  91. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  92. FMT(vowel/i_7, 60)
  93. ELSE
  94. FMT(vowel/i_7, 90)
  95. ENDIF
  96. endphoneme
  97. phoneme o
  98. vowel starttype #o endtype #o
  99. length 120
  100. IF thisPh(isStressed) THEN
  101. FMT(vowel/oo_2, 100)
  102. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  103. FMT(vowel/oo_2, 50)
  104. ELSE
  105. FMT(vowel/oo_2, 75)
  106. ENDIF
  107. endphoneme
  108. phoneme o:
  109. vowel starttype #o endtype #o
  110. length 300
  111. IF thisPh(isStressed) THEN
  112. FMT(vowel/oo_1, 90)
  113. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  114. FMT(vowel/oo_1, 45)
  115. ELSE
  116. FMT(vowel/oo_1, 68)
  117. ENDIF
  118. endphoneme
  119. phoneme u
  120. vowel starttype #u endtype #u
  121. length 120
  122. IF thisPh(isMaxStress) THEN
  123. FMT(vowel/u, 140)
  124. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  125. FMT(vowel/u, 70)
  126. ELSE
  127. FMT(vowel/u, 105)
  128. ENDIF
  129. endphoneme
  130. phoneme u:
  131. vowel starttype #u endtype #u
  132. length 300
  133. IF thisPh(isMaxStress) THEN
  134. FMT(vowel/u_3, 120)
  135. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  136. FMT(vowel/u_3, 60)
  137. ELSE
  138. FMT(vowel/u_3, 90)
  139. ENDIF
  140. endphoneme
  141. phoneme ai
  142. vowel starttype #a endtype #i
  143. length 230
  144. long
  145. IF thisPh(isMaxStress) THEN
  146. FMT(vdiph/aai, 100)
  147. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  148. FMT(vdiph/aai, 50)
  149. ELSE
  150. FMT(vdiph/aai, 75)
  151. ENDIF
  152. endphoneme
  153. phoneme au
  154. vowel starttype #a endtype #u
  155. length 250
  156. long
  157. IF thisPh(isMaxStress) THEN
  158. FMT(vdiph/aau, 100)
  159. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  160. FMT(vdiph/aau, 50)
  161. ELSE
  162. FMT(vdiph/aau, 75)
  163. ENDIF
  164. endphoneme
  165. phoneme ei
  166. vowel starttype #e endtype #i
  167. length 250
  168. long
  169. IF thisPh(isMaxStress) THEN
  170. FMT(vdiph/eei_2, 100)
  171. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  172. FMT(vdiph/eei_2, 50)
  173. ELSE
  174. FMT(vdiph/eei_2, 75)
  175. ENDIF
  176. endphoneme
  177. phoneme ie
  178. vowel starttype #i endtype #e
  179. length 250
  180. long
  181. IF thisPh(isMaxStress) THEN
  182. FMT(vdiph2/ie_2, 100)
  183. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  184. FMT(vdiph2/ie_2, 50)
  185. ELSE
  186. FMT(vdiph2/ie_2, 75)
  187. ENDIF
  188. endphoneme
  189. phoneme iu
  190. vowel starttype #i endtype #u
  191. length 250
  192. long
  193. IF thisPh(isMaxStress) THEN
  194. FMT(vdiph2/iu_2, 100)
  195. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  196. FMT(vdiph2/iu_2, 50)
  197. ELSE
  198. FMT(vdiph2/iu_2, 75)
  199. ENDIF
  200. endphoneme
  201. phoneme ui
  202. vowel starttype #u endtype #i
  203. length 250
  204. long
  205. IF thisPh(isMaxStress) THEN
  206. FMT(vdiph/ui, 100)
  207. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  208. FMT(vdiph/ui, 50)
  209. ELSE
  210. FMT(vdiph/ui, 75)
  211. ENDIF
  212. endphoneme
  213. phoneme uo
  214. vowel starttype #u endtype #a
  215. length 200
  216. //long
  217. IF thisPh(isMaxStress) THEN
  218. FMT(vdiph2/uaa, 100)
  219. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  220. FMT(vdiph2/uaa, 50)
  221. ELSE
  222. FMT(vdiph2/uaa, 75)
  223. ENDIF
  224. endphoneme
  225. phoneme oi
  226. vowel starttype #o endtype #i
  227. length 250
  228. long
  229. IF thisPh(isMaxStress) THEN
  230. FMT(vdiph/ooi, 100)
  231. ELIF thisPh(isDiminished) AND NOT prevVowel(isStressed) THEN
  232. FMT(vdiph/ooi, 50)
  233. ELSE
  234. FMT(vdiph/ooi, 75)
  235. ENDIF
  236. endphoneme
  237. phoneme ts
  238. vls alv afr nolink
  239. voicingswitch J
  240. length 55
  241. lengthmod 1
  242. WAV(ustop/ts2, 60)
  243. endphoneme
  244. phoneme tS
  245. vls pla afr sibilant
  246. voicingswitch dZ
  247. lengthmod 2
  248. length 80
  249. WAV(ustop/tsh,40)
  250. endphoneme
  251. phoneme R
  252. liquid
  253. trill
  254. lengthmod 6
  255. Vowelin f1=0 f2=1700 -300 300 f3=-300 80
  256. Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
  257. FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
  258. endphoneme
  259. phoneme t
  260. vls alv stop //lengthenstop
  261. lengthmod 1
  262. voicingswitch d
  263. IF nextPh(isPause2) THEN
  264. WAV(ustop/t_dnt, 40)
  265. ENDIF
  266. WAV(ustop/t_dnt, 50)
  267. endphoneme
  268. phoneme p
  269. vls blb stop
  270. lengthmod 2
  271. voicingswitch b
  272. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
  273. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
  274. IF nextPh(isPause2) THEN
  275. WAV(ustop/p_unasp_, 80)
  276. ENDIF
  277. IF nextPh(l) THEN
  278. WAV(ustop/pl)
  279. ENDIF
  280. WAV(ustop/p_unasp, 120)
  281. endphoneme
  282. phoneme k
  283. vls vel stop
  284. lengthmod 2
  285. voicingswitch g
  286. Vowelin f1=0 f2=2300 200 400 f3=-100 80
  287. Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
  288. IF nextPh(isPause2) THEN
  289. WAV(ustop/k_)
  290. ENDIF
  291. IF nextPh(#i) OR nextPh(l^) THEN
  292. WAV(ustop/ki)
  293. ENDIF
  294. IF nextPh(l) THEN
  295. WAV(ustop/kl)
  296. ENDIF
  297. WAV(ustop/k_unasp, 60) // weaker
  298. endphoneme
  299. phoneme c
  300. vls pal stop palatal
  301. voicingswitch J
  302. lengthmod 2
  303. WAV(ustop/c, 90)
  304. endphoneme
  305. phoneme l
  306. liquid
  307. unstressed
  308. dnt
  309. length 100
  310. FMT(vwl_hi/l-voc)
  311. endphoneme
  312. phoneme s
  313. vls alv frc sibilant
  314. voicingswitch z
  315. lengthmod 3
  316. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  317. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  318. WAV(ufric/s,40)
  319. endphoneme