ph_slovenian 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. phoneme : // lengthen previous vowel by "length"
  2. virtual
  3. length 50 // only a small increase for "long stress" because we probably put the stress on the wrong syllable
  4. endphoneme
  5. phoneme @ // Schwa, can be stressed
  6. vwl starttype #@ endtype #@
  7. length 160
  8. FMT(vowel/@)
  9. endphoneme
  10. phoneme i
  11. vwl starttype #i endtype #i
  12. length 160
  13. // IfNextVowelAppend(;)
  14. // IF thisPh(isStressed) AND NOT nextPhW(isRhotic) THEN
  15. // FMT(vowel/ii_6)
  16. // ENDIF
  17. FMT(vowel/ii_3)
  18. endphoneme
  19. phoneme u
  20. vwl starttype #u endtype #u
  21. length 160
  22. FMT(vowel/u_2)
  23. endphoneme
  24. phoneme a
  25. vwl starttype #a endtype #a
  26. length 170
  27. IF thisPh(isUnstressed) THEN
  28. FMT(vowel/a_8)
  29. ENDIF
  30. FMT(vowel/a)
  31. endphoneme
  32. phoneme e
  33. vwl starttype #e endtype #e
  34. length 170
  35. ChangeIfUnstressed(E)
  36. FMT(vowel/e_2)
  37. endphoneme
  38. phoneme e+ // doesn't reduce to [e]
  39. vwl starttype #e endtype #e
  40. ChangePhoneme(e)
  41. endphoneme
  42. phoneme E
  43. vwl starttype #e endtype #e
  44. length 160
  45. FMT(vowel/e_mid)
  46. endphoneme
  47. phoneme E#
  48. vwl starttype #e endtype #e
  49. length 160
  50. IF thisPh(isNotStressed) THEN
  51. ChangePhoneme(@)
  52. ENDIF
  53. FMT(vowel/e_mid)
  54. endphoneme
  55. phoneme o
  56. vwl starttype #o endtype #o
  57. length 170
  58. ChangeIfUnstressed(O)
  59. FMT(vowel/o_8)
  60. endphoneme
  61. phoneme o+ // doesn't reduce to [O]
  62. vwl starttype #o endtype #o
  63. ChangePhoneme(o)
  64. endphoneme
  65. phoneme O
  66. vwl starttype #o endtype #o
  67. length 170
  68. IF thisPh(isStressed) THEN
  69. FMT(vowel/0_2)
  70. ENDIF
  71. FMT(vowel/oo_4)
  72. endphoneme
  73. phoneme v
  74. import_phoneme base1/v#
  75. endphoneme
  76. phoneme t
  77. vls dnt stp
  78. lengthmod 2
  79. voicingswitch d
  80. Vowelin f1=0 f2=1600 -300 300 f3=-100 80
  81. Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
  82. IF nextPh(isPause2) AND prevPhW(isVowel) THEN
  83. WAV(ustop/t_dnt, 40)
  84. ENDIF
  85. WAV(ustop/t_dnt, 60)
  86. endphoneme
  87. phoneme k
  88. vls vel stp
  89. voicingswitch g
  90. lengthmod 2
  91. Vowelin f1=0 f2=2300 200 300 f3=-200 80
  92. Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
  93. IF KlattSynth THEN
  94. Vowelout f1=0 f2=2300 200 300 f3=-200 80 rms=20
  95. ENDIF
  96. IF thisPh(isWordEnd) THEN
  97. WAV(ustop/k)
  98. ELIF nextPh(isPause2) THEN
  99. WAV(ustop/k_)
  100. ELIF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
  101. WAV(ustop/kr)
  102. ELIF nextPh(#i) OR nextPh(;) THEN
  103. WAV(ustop/ki)
  104. ELIF nextPh(l) THEN
  105. WAV(ustop/kl)
  106. ELIF nextPh(@-) THEN
  107. WAV(ustop/k_unasp, 70)
  108. ENDIF
  109. WAV(ustop/k)
  110. endphoneme
  111. // for foreign letters
  112. phoneme y
  113. vwl starttype #i endtype #i
  114. length 170
  115. FMT(vowel/y)
  116. endphoneme
  117. phoneme R^ // Czech r-caron
  118. import_phoneme sk/R^
  119. endphoneme