ph_hungarian 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. // Short vowels
  2. phoneme A
  3. vwl starttype #o endtype #o
  4. length 140
  5. FMT(vowel/0_3)
  6. endphoneme
  7. phoneme E
  8. vwl starttype #e endtype #e
  9. length 140
  10. FMT(vowel/e_mid)
  11. endphoneme
  12. phoneme i
  13. vwl starttype #i endtype #i
  14. length 140
  15. IfNextVowelAppend(;)
  16. FMT(vowel/i_4)
  17. endphoneme
  18. phoneme o
  19. vwl starttype #o endtype #o
  20. length 130
  21. FMT(vowel/o_mid)
  22. endphoneme
  23. phoneme u
  24. vwl starttype #u endtype #u
  25. length 130
  26. FMT(vowel/uu_bck)
  27. endphoneme
  28. phoneme Y
  29. vwl starttype #@ endtype #@
  30. length 130
  31. FMT(vowel/y#_2)
  32. endphoneme
  33. phoneme y
  34. vwl starttype #u endtype #u
  35. length 130
  36. FMT(vowel/yy_4)
  37. endphoneme
  38. // Long Vowels
  39. phoneme i:
  40. vwl starttype #i endtype #i
  41. length 220
  42. FMT(vowel/i)
  43. endphoneme
  44. phoneme e:
  45. vwl starttype #e endtype #e
  46. length 240
  47. FMT(vowel/e_3)
  48. endphoneme
  49. phoneme a:
  50. vwl starttype #a endtype #a
  51. length 270
  52. FMT(vowel/a)
  53. endphoneme
  54. phoneme o:
  55. vwl starttype #o endtype #o
  56. length 260
  57. FMT(vowel/o_2)
  58. endphoneme
  59. phoneme u:
  60. vwl starttype #u endtype #u
  61. length 240
  62. FMT(vowel/u_bck)
  63. endphoneme
  64. phoneme y:
  65. vwl starttype #u endtype #u
  66. length 240
  67. FMT(vowel/y)
  68. endphoneme
  69. phoneme Y:
  70. vwl starttype #@ endtype #@
  71. length 260
  72. FMT(vowel/y#)
  73. endphoneme
  74. // CONSONANTS
  75. //===========
  76. phoneme ts
  77. vls alv afr sib
  78. lengthmod 2
  79. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  80. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  81. WAV(ustop/ts) // don't use ustop/ts_ (before non-vowel)
  82. endphoneme
  83. phoneme dz
  84. import_phoneme consonants/dz
  85. voicingswitch ts
  86. endphoneme
  87. phoneme t // dental variant of /t/
  88. vls dnt stp
  89. lengthmod 2
  90. voicingswitch d
  91. Vowelin f1=0 f2=1600 -300 300 f3=-100 80
  92. Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
  93. IF nextPh(isPause2) THEN
  94. WAV(ustop/t_dnt, 45)
  95. ENDIF
  96. WAV(ustop/t_dnt, 50)
  97. endphoneme
  98. phoneme t2
  99. // changes to pause when followed by [t], so the [t][ becomes [t:]
  100. vls dnt stp
  101. lengthmod 2
  102. IF nextPh(t) THEN
  103. WAV(ustop/null, 0)
  104. ELSE
  105. ChangePhoneme(t)
  106. ENDIF
  107. endphoneme
  108. phoneme d
  109. vcd dnt stp
  110. voicingswitch t
  111. lengthmod 5
  112. Vowelin f1=2 f2=1500 -300 300 f3=-150 80
  113. Vowelout f1=2 f2=1500 -300 300 f3=-150 80
  114. IF PreVoicing THEN
  115. FMT(d/xd)
  116. ENDIF
  117. IF nextPh(isPause2) THEN
  118. FMT(d/d_) addWav(x/d_dnt)
  119. ELIF nextPh(r) THEN
  120. FMT(d/dr) addWav(x/d_dnt, 110)
  121. ENDIF
  122. FMT(d/d) addWav(x/d_dnt, 110)
  123. endphoneme
  124. phoneme c
  125. import_phoneme consonants/c2
  126. voicingswitch J
  127. endphoneme
  128. phoneme p // unaspirated
  129. import_phoneme consonants/p-
  130. voicingswitch b
  131. endphoneme
  132. phoneme k // unsapirated
  133. import_phoneme consonants/k-
  134. voicingswitch g
  135. endphoneme
  136. phoneme s2 // second part of geminated [s:]
  137. import_phoneme consonants/s2
  138. endphoneme
  139. phoneme l
  140. liquid
  141. lengthmod 7
  142. IF nextPh(isNotVowel) THEN
  143. ChangePhoneme(l/)
  144. ENDIF
  145. CALL vowelstart_l
  146. IF prevPh(#@) THEN
  147. VowelEnding(l/xl, -50)
  148. ELIF prevPh(isVowel) THEN
  149. VowelEnding(l/xl, -40)
  150. ENDIF
  151. IF prevPh(isPause) THEN
  152. FMT(l/_l)
  153. ENDIF
  154. IF prevPh(t) THEN
  155. FMT(l/tl)
  156. ENDIF
  157. // IF prevPh(l/) THEN
  158. // FMT(l/l_long) // double l, make it longer
  159. // ENDIF
  160. FMT(l/l)
  161. endphoneme