ph_oromo 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. //====================================================
  2. // Oromo
  3. //====================================================
  4. phoneme : // Lengthen previous vowel by "length"
  5. virtual
  6. length 160
  7. endphoneme
  8. phoneme i
  9. vwl starttype #i endtype #i
  10. length 140
  11. IfNextVowelAppend(;)
  12. ChangeIfUnstressed(I)
  13. FMT(vowel/i_4)
  14. endphoneme
  15. phoneme I
  16. vwl starttype #i endtype #i
  17. length 140
  18. IfNextVowelAppend(;)
  19. FMT(vowel/ii_3)
  20. endphoneme
  21. phoneme e
  22. vwl starttype #e endtype #e
  23. length 150
  24. FMT(vowel/e_mid2)
  25. endphoneme
  26. phoneme &
  27. vwl starttype #a endtype #a
  28. length 150
  29. FMT(vowel/&)
  30. endphoneme
  31. phoneme a
  32. vwl starttype #a endtype #a
  33. length 170
  34. // ChangeIfUnstressed(a2)
  35. FMT(vowel/aa_9)
  36. endphoneme
  37. phoneme a2
  38. vwl starttype #a endtype #a
  39. length 170
  40. FMT(vowel/aa#)
  41. endphoneme
  42. phoneme o
  43. vwl starttype #o endtype #o
  44. length 155
  45. FMT(vowel/oo_1)
  46. endphoneme
  47. phoneme Y
  48. vwl starttype #@ endtype #@
  49. length 155
  50. FMT(vowel/y#)
  51. endphoneme
  52. phoneme u
  53. vwl starttype #u endtype #u
  54. length 140
  55. FMT(vowel/u_bck)
  56. endphoneme
  57. phoneme u1 // TEST
  58. vwl starttype #u endtype #u
  59. length 140
  60. FMT(vowel/u_2)
  61. endphoneme
  62. phoneme U // TEST
  63. vwl starttype #u endtype #u
  64. length 140
  65. FMT(vowel/uu_4)
  66. endphoneme
  67. phoneme y
  68. vwl starttype #u endtype #u
  69. length 150
  70. FMT(vowel/y)
  71. endphoneme
  72. phoneme y
  73. vwl starttype #@ endtype #@
  74. ipa ?
  75. length 180
  76. // assume that word-final [y] are not added by am_rules
  77. // Only allow [y] in first or last syllables
  78. // IF thisPh(isFinalVowel) THEN
  79. // ELIF thisPh(isFirstVowel) THEN
  80. // ELSE
  81. // ChangePhoneme(NULL)
  82. // ENDIF
  83. FMT(vowel/ii#_2)
  84. endphoneme
  85. phoneme @
  86. vwl starttype #@ endtype #@
  87. length 220
  88. IF nextPhW(isPalatal) THEN
  89. FMT(vdiph/@i_2)
  90. ENDIF
  91. FMT(vowel/@_3)
  92. endphoneme
  93. // CONSONANTS
  94. phoneme r
  95. import_phoneme base1/R2
  96. endphoneme
  97. phoneme k`
  98. vls vel stp
  99. lengthmod 2
  100. Vowelin f1=0 f2=1700 -250 250 f3= -200 80 gpaus f4
  101. Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
  102. WAV(ustop/k_ejc, 60)
  103. endphoneme
  104. phoneme t`
  105. vls alv stp
  106. lengthmod 2
  107. voicingswitch d
  108. Vowelin f1=0 f2=1700 -300 300 f3=-100 80 gpaus
  109. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  110. IF nextPh(isPause2) THEN
  111. WAV(ustop/t_)
  112. ENDIF
  113. WAV(ustop/t_hi, 70)
  114. endphoneme
  115. phoneme tS`
  116. vls pla afr sib
  117. voicingswitch dZ
  118. lengthmod 2
  119. Vowelin f1=0 f2=1800 -200 200 f3=-100 80 gpaus
  120. IF nextPh(isPause2) THEN
  121. WAV(ustop/tsh_unasp, 80)
  122. ENDIF
  123. WAV(ustop/tsh_unasp, 80)
  124. endphoneme
  125. phoneme P
  126. vls blb stp
  127. lengthmod 2
  128. voicingswitch b
  129. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 gpaus
  130. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
  131. WAV(ustop/p_unasp)
  132. endphoneme
  133. phoneme D
  134. vcd alv stp
  135. lengthmod 6
  136. voicingswitch d
  137. CALL base1/D
  138. IF nextPh(isPause2) THEN
  139. FMT(voc/dh_) addWav(vocw/dh, 35) // weaker
  140. ENDIF
  141. endphoneme