ph_estonian 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. //====================================================
  2. // Estonian
  3. //====================================================
  4. phoneme : // Lengthen previous vowel by "length"
  5. virtual
  6. length 160
  7. endphoneme
  8. phoneme a
  9. vwl starttype #a endtype #a
  10. length 170
  11. // ChangeIfUnstressed(A)
  12. FMT(vowel/aa_9)
  13. endphoneme
  14. phoneme a:
  15. vwl starttype #a endtype #a
  16. length 340
  17. FMT(vowel/aa)
  18. endphoneme
  19. //phoneme A
  20. // vwl starttype #a endtype #a
  21. // length 170
  22. // FMT(vowel/a#_2)
  23. //endphoneme
  24. phoneme A1
  25. vwl starttype #a endtype #a
  26. length 255
  27. FMT(vowel/aa_8)
  28. endphoneme
  29. phoneme e
  30. vwl starttype #e endtype #e
  31. length 160
  32. // ChangeIfUnstressed(E)
  33. FMT(vowel/e#)
  34. endphoneme
  35. phoneme e:
  36. vwl starttype #e endtype #e
  37. length 320
  38. FMT(vowel/e_7)
  39. endphoneme
  40. //phoneme E
  41. // vwl starttype #e endtype #e
  42. // length 160
  43. // FMT(vowel/ee_4)
  44. //endphoneme
  45. phoneme E1
  46. vwl starttype #e endtype #e
  47. length 240
  48. FMT(vowel/ee#_2)
  49. endphoneme
  50. phoneme i
  51. vwl starttype #i endtype #i
  52. length 140
  53. // ChangeIfUnstressed(I)
  54. FMT(vowel/i_8)
  55. endphoneme
  56. phoneme i:
  57. vwl starttype #i endtype #i
  58. length 280
  59. FMT(vowel/i_7)
  60. endphoneme
  61. //phoneme I
  62. // vwl starttype #i endtype #i
  63. // length 140
  64. // FMT(vowel/i_3)
  65. //endphoneme
  66. phoneme I1
  67. vwl starttype #i endtype #i
  68. length 210
  69. FMT(vowel/ii_3)
  70. endphoneme
  71. phoneme i1
  72. vwl starttype #i endtype #i
  73. length 30
  74. FMT(vowel/i#_7)
  75. endphoneme
  76. phoneme o
  77. vwl starttype #o endtype #o
  78. length 160
  79. // ChangeIfUnstressed(O)
  80. FMT(vowel/o_mid)
  81. endphoneme
  82. phoneme o:
  83. vwl starttype #o endtype #o
  84. length 320
  85. FMT(vowel/o)
  86. endphoneme
  87. //phoneme O
  88. // vwl starttype #o endtype #o
  89. // length 150
  90. // FMT(vowel/o_mid)
  91. //endphoneme
  92. phoneme O1
  93. vwl starttype #o endtype #o
  94. length 225
  95. FMT(vowel/oo_4)
  96. endphoneme
  97. phoneme u
  98. vwl starttype #u endtype #u
  99. length 145
  100. // ChangeIfUnstressed(U)
  101. FMT(vowel/u_bck2)
  102. endphoneme
  103. phoneme u: // TEST
  104. vwl starttype #u endtype #u
  105. length 290
  106. FMT(vowel/u_bck3)
  107. endphoneme
  108. //phoneme U // TEST
  109. // vwl starttype #u endtype #u
  110. // length 145
  111. // FMT(vowel/u_5)
  112. //endphoneme
  113. phoneme U1 // TEST
  114. vwl starttype #u endtype #u
  115. length 218
  116. FMT(vowel/u_5)
  117. endphoneme
  118. // õ
  119. phoneme 8
  120. vwl starttype #@ endtype #@
  121. length 165
  122. FMT(vowel/8_7)
  123. endphoneme
  124. phoneme 8:
  125. vwl starttype #@ endtype #@
  126. length 330
  127. FMT(vowel/8_4)
  128. endphoneme
  129. // ä
  130. phoneme &
  131. vwl starttype #a endtype #a
  132. length 175
  133. FMT(vowel/&)
  134. endphoneme
  135. phoneme &:
  136. vwl starttype #a endtype #a
  137. length 350
  138. FMT(vowel/&)
  139. endphoneme
  140. // ö
  141. phoneme Y
  142. vwl starttype #@ endtype #@
  143. length 165
  144. FMT(vowel/y#)
  145. endphoneme
  146. phoneme Y:
  147. vwl starttype #@ endtype #@
  148. length 330
  149. FMT(vowel/y#)
  150. endphoneme
  151. // ü
  152. phoneme y
  153. vwl starttype #u endtype #u
  154. length 145
  155. FMT(vowel/y)
  156. endphoneme
  157. phoneme y:
  158. vwl starttype #u endtype #u
  159. length 290
  160. FMT(vowel/y)
  161. endphoneme
  162. // Diphthongs
  163. //===========
  164. phoneme &i
  165. vwl starttype #a endtype #i
  166. length 315
  167. lng
  168. FMT(vdiph/&i)
  169. endphoneme
  170. phoneme Yi
  171. vwl starttype #@ endtype #i
  172. length 305
  173. lng
  174. FMT(vdiph/@i)
  175. endphoneme
  176. phoneme yi
  177. vwl starttype #u endtype #i
  178. length 285
  179. lng
  180. FMT(vdiph/yi)
  181. endphoneme
  182. // phoneme oe
  183. // phoneme ue
  184. // phoneme qe
  185. // phoneme xe
  186. // phoneme ce
  187. // phoneme qa
  188. // phoneme ca
  189. //phoneme 8u
  190. // vwl starttype #@ endtype #u
  191. // length 310
  192. // lng
  193. // FMT(vdiph/8u)
  194. //endphoneme
  195. // phoneme xu
  196. // CONSONANTS
  197. //===========
  198. phoneme v // approximant, not fricative
  199. vcd lbd frc
  200. lengthmod 6
  201. voicingswitch f
  202. Vowelin f1=0 f2=1000 -300 -200 f3=-300 100
  203. Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
  204. IF nextPh(isPause2) THEN
  205. FMT(voc/v_)
  206. ENDIF
  207. FMT(voc/v)
  208. endphoneme
  209. phoneme t // dental variant of /t/
  210. vls dnt stp lengthenstop
  211. voicingswitch d
  212. lengthmod 5
  213. Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=20
  214. Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
  215. IF nextPh(isPause2) THEN
  216. WAV(ustop/t_dnt, 60)
  217. ENDIF
  218. WAV(ustop/t_hi, 80)
  219. endphoneme
  220. phoneme d
  221. vcd dnt stp
  222. voicingswitch t
  223. lengthmod 5
  224. Vowelin f1=2 f2=1700 -100 200 f3=0 80
  225. Vowelout f1=2 f2=1700 -100 200 f3=0 80 rms=20
  226. IF PreVoicing THEN
  227. FMT(d/xd)
  228. ENDIF
  229. IF nextPh(isPause2) THEN
  230. FMT(d/d_) addWav(x/d_)
  231. ELIF nextPh(r) THEN
  232. FMT(d/dr) addWav(x/d_dnt, 60)
  233. ENDIF
  234. FMT(d/d) addWav(x/d_dnt, 60)
  235. endphoneme
  236. phoneme p
  237. import_phoneme base2/p
  238. voicingswitch b
  239. endphoneme
  240. phoneme r // used for [r] when not preceding a vowel
  241. liquid
  242. lengthmod 2
  243. IF nextPh(n) THEN
  244. FMT(r3/r_n) addWav(r3/rx)
  245. ENDIF
  246. FMT(r3/r_) addWav(r3/rx)
  247. endphoneme
  248. phoneme k // tasasemad klõklsud
  249. vls vel stp
  250. lengthmod 5
  251. voicingswitch g
  252. Vowelin f1=0 f2=2300 200 400 f3=-100 80
  253. Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
  254. IF nextPh(isPause) THEN
  255. WAV(ustop/k_unasp)
  256. ENDIF
  257. IF nextPh(#i) OR nextPh(l^) THEN
  258. WAV(ustop/ki, 40)
  259. ENDIF
  260. IF nextPh(l) THEN
  261. WAV(ustop/kl, 40)
  262. ENDIF
  263. IF nextPh(r) THEN
  264. WAV(ustop/kr, 40)
  265. ENDIF
  266. IF nextPh(k) THEN
  267. WAV(ustop/k_unasp, 10)
  268. ENDIF
  269. WAV(ustop/k_unasp, 20) // weaker
  270. endphoneme
  271. phoneme s2 // second part of long [s]
  272. import_phoneme consonants/s2
  273. endphoneme
  274. phoneme h
  275. vls glt apr
  276. lengthmod 3
  277. IF nextPh(#@) THEN
  278. WAV(h/h@)
  279. ELIF nextPh(#a) THEN
  280. WAV(h/ha)
  281. ELIF nextPh(#e) THEN
  282. WAV(h/he)
  283. ELIF nextPh(#i) THEN
  284. WAV(h/hi)
  285. ELIF nextPh(#o) THEN
  286. WAV(h/ho)
  287. ELIF nextPh(#u) THEN
  288. WAV(h/hu)
  289. ENDIF
  290. WAV(h/h_, 70) // no vowel following
  291. endphoneme
  292. // Palatalized versions of consonants
  293. phoneme s^
  294. vls alv frc sib pzd
  295. voicingswitch z
  296. lengthmod 3
  297. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  298. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  299. WAV(ufric/s_pal)
  300. endphoneme
  301. phoneme t^
  302. vls pal stp pzd
  303. lengthmod 5
  304. voicingswitch d^
  305. Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
  306. Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1
  307. IF nextPh(isPause2) THEN
  308. WAV(ustop/t_pzd, 60)
  309. ENDIF
  310. WAV(ustop/t_hi, 80)
  311. endphoneme
  312. phoneme d^
  313. vcd alv stp pzd
  314. lengthmod 5
  315. voicingswitch t^
  316. Vowelin f1=2 f2=2700 400 600 f3=200 80 rate len=80
  317. Vowelout f1=2 f2=2700 400 600 f3=200 80 rate len=100 colr=1
  318. IF PreVoicing THEN
  319. FMT(d/xd_pzd)
  320. ENDIF
  321. IF nextPh(isPause2) THEN
  322. FMT(d/d_) addWav(x/d_pzd, 40)
  323. ELIF nextPh(isRhotic) THEN
  324. FMT(d/dr) addWav(x/d_pzd, 80)
  325. ENDIF
  326. FMT(d/d) addWav(x/d_pzd, 80)
  327. endphoneme