ph_tatar 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. // use 'flag1' for front vowels, 'flag2' for back vowels
  2. phoneme i
  3. vwl flag1 starttype #i endtype #i
  4. length 180
  5. FMT(vowel/i)
  6. endphoneme
  7. phoneme y
  8. vwl flag1 starttype #u endtype #u
  9. length 180
  10. FMT(vowel/y)
  11. endphoneme
  12. phoneme u
  13. vwl flag2 starttype #u endtype #u
  14. length 180
  15. FMT(vowel/u)
  16. endphoneme
  17. phoneme e
  18. vwl flag1 starttype #@ endtype #@
  19. length 110
  20. FMT(vowel/ii#)
  21. endphoneme
  22. phoneme W
  23. vwl flag1 starttype #@ endtype #@
  24. length 110
  25. FMT(vowel/oe)
  26. endphoneme
  27. phoneme o
  28. vwl flag2 starttype #o endtype #o
  29. length 110
  30. FMT(vowel/o_mid)
  31. endphoneme
  32. phoneme V
  33. vwl flag2 starttype #@ endtype #@
  34. length 110
  35. ipa ɯ
  36. FMT(vowel/@_2)
  37. endphoneme
  38. phoneme &
  39. vwl flag1 starttype #e endtype #e
  40. length 180
  41. FMT(vowel/ee)
  42. endphoneme
  43. phoneme A
  44. vwl flag2 starttype #a endtype #a
  45. length 180
  46. IF NOT nextPhW(w) AND NOT thisPh(isTranslationGiven) THEN
  47. IF thisPh(isFirstVowel) THEN
  48. ChangePhoneme(0)
  49. ENDIF
  50. IF prevVowel(0) AND thisPh(isSecondVowel) THEN
  51. ChangePhoneme(0)
  52. ENDIF
  53. ENDIF
  54. FMT(vowel/aa_8)
  55. endphoneme
  56. phoneme 0
  57. vwl flag2 starttype #o endtype #o
  58. length 180
  59. FMT(vowel/0_3)
  60. endphoneme
  61. phoneme e:
  62. vwl flag1 starttype #e endtype #e
  63. length 240
  64. FMT(vowel/e_6)
  65. endphoneme
  66. phoneme I
  67. vwl flag1 starttype #i endtype #i
  68. length 110
  69. FMT(vowel/ii)
  70. endphoneme
  71. phoneme a // letter 'я'
  72. vwl starttype #a endtype #a
  73. length 180
  74. IF prevVowel(isFlag1) OR nextVowel(isFlag1) THEN // front vowels
  75. ChangePhoneme(&)
  76. ENDIF
  77. ChangePhoneme(A)
  78. endphoneme
  79. phoneme u2 // letter 'ю'
  80. vwl starttype #u endtype #u
  81. length 180
  82. IF prevVowel(isFlag1) OR nextVowel(isFlag1) THEN
  83. ChangePhoneme(y)
  84. ELSE
  85. ChangePhoneme(u)
  86. ENDIF
  87. endphoneme
  88. phoneme e2 // 'e' at start of word
  89. vwl starttype #@ endtype #@
  90. length 100
  91. IF nextVowel(isFlag2) THEN
  92. ChangePhoneme(V)
  93. ELSE
  94. ChangePhoneme(e)
  95. ENDIF
  96. endphoneme
  97. // Consonants
  98. phoneme r
  99. import_phoneme base1/R2
  100. endphoneme
  101. phoneme t
  102. import_phoneme base2/t
  103. endphoneme
  104. phoneme d
  105. import_phoneme base1/d[
  106. endphoneme
  107. phoneme k
  108. vls vel stp
  109. IF prevVowel(isFlag2) OR nextVowel(isFlag2) THEN // back vowels
  110. ChangePhoneme(q)
  111. ENDIF
  112. CALL base1/k
  113. endphoneme
  114. phoneme G
  115. import_phoneme base1/Q"
  116. endphoneme
  117. phoneme g
  118. vcd vel frc
  119. IF prevVowel(isFlag2) OR nextVowel(isFlag2) THEN
  120. ChangePhoneme(G)
  121. ELSE
  122. ChangePhoneme(Q)
  123. ENDIF
  124. endphoneme
  125. phoneme l
  126. liquid
  127. IF prevVowel(isFlag2) OR nextVowel(isFlag2) THEN
  128. ChangePhoneme(L)
  129. ENDIF
  130. CALL base1/l
  131. endphoneme