eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ph_turkish 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. phoneme i
  2. vowel starttype #i endtype #i
  3. length 180
  4. IF thisPh(isTranslationGiven) THEN
  5. // don't reduce the vowel if phonemes are explicitly given
  6. ELSE
  7. IF thisPh(isFinalVowel) THEN
  8. ChangePhoneme(I)
  9. ENDIF
  10. IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN
  11. ChangePhoneme(I)
  12. ENDIF
  13. ENDIF
  14. FMT(vowel/i_6)
  15. endphoneme
  16. phoneme I
  17. vowel starttype #i endtype #i
  18. length 180
  19. FMT(vowel/ii_5)
  20. endphoneme
  21. phoneme y
  22. vowel starttype #u endtype #u
  23. length 180
  24. IF thisPh(isTranslationGiven) THEN
  25. // don't reduce the vowel if phonemes are explicitly given
  26. ELSE
  27. IF thisPh(isFinalVowel) THEN
  28. ChangePhoneme(Y)
  29. ENDIF
  30. IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN
  31. ChangePhoneme(Y)
  32. ENDIF
  33. ENDIF
  34. FMT(vowel/y_5)
  35. endphoneme
  36. phoneme Y
  37. vowel starttype #u endtype #u
  38. length 180
  39. FMT(vowel/u#)
  40. endphoneme
  41. phoneme e
  42. vowel starttype #e endtype #e
  43. length 200
  44. IF thisPh(isTranslationGiven) THEN
  45. // don't reduce the vowel if phonemes are explicitly given
  46. ELSE
  47. IF nextPh(isWordEnd) OR next2PhW(isNotVowel) THEN
  48. IF nextPh(isRhotic) OR nextPh(isNasal) OR nextPh(l) OR nextPh(L) THEN
  49. ChangePhoneme(&)
  50. ENDIF
  51. ENDIF
  52. IF thisPh(isFinalVowel) THEN
  53. ChangePhoneme(E)
  54. ENDIF
  55. IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN
  56. ChangePhoneme(E)
  57. ENDIF
  58. ENDIF
  59. FMT(vowel/e_mid2)
  60. endphoneme
  61. phoneme E
  62. vowel starttype #e endtype #e
  63. length 200
  64. FMT(vowel/e_mid)
  65. endphoneme
  66. phoneme &
  67. vowel starttype #a endtype #a
  68. length 200
  69. FMT(vowel/ee_6)
  70. endphoneme
  71. phoneme W
  72. vowel starttype #@ endtype #@
  73. length 200
  74. FMT(vowel/y#)
  75. endphoneme
  76. phoneme a
  77. vowel starttype #a endtype #a
  78. length 200
  79. FMT(vowel/a#_4)
  80. endphoneme
  81. phoneme u
  82. vowel starttype #u endtype #u
  83. length 180
  84. IF thisPh(isTranslationGiven) THEN
  85. // don't reduce the vowel if phonemes are explicitly given
  86. ELSE
  87. IF thisPh(isFinalVowel) THEN
  88. ChangePhoneme(U)
  89. ENDIF
  90. IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN
  91. ChangePhoneme(U)
  92. ENDIF
  93. ENDIF
  94. FMT(vowel/u_2)
  95. endphoneme
  96. phoneme U
  97. vowel starttype #u endtype #u
  98. length 180
  99. FMT(vowel/uu_2)
  100. endphoneme
  101. phoneme @
  102. vowel starttype #@ endtype #@
  103. ipa ɯ
  104. length 180
  105. FMT(vowel/u#_7)
  106. endphoneme
  107. phoneme o
  108. vowel starttype #o endtype #o
  109. length 200
  110. IF thisPh(isTranslationGiven) THEN
  111. // don't reduce the vowel if phonemes are explicitly given
  112. ELSE
  113. IF thisPh(isFinalVowel) THEN
  114. ChangePhoneme(O)
  115. ENDIF
  116. IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN
  117. ChangePhoneme(O)
  118. ENDIF
  119. ENDIF
  120. FMT(vowel/o_mid)
  121. endphoneme
  122. phoneme O
  123. vowel starttype #o endtype #o
  124. length 200
  125. FMT(vowel/oo)
  126. endphoneme
  127. phoneme : // Lengthen previous vowel by "length"
  128. virtual
  129. length 140
  130. endphoneme
  131. phoneme c
  132. vls pal stop
  133. lengthmod 2
  134. Vowelin f1=0 f2=2700 200 500 f3=400 80 len=60
  135. Vowelout f1=0 f2=2700 300 500 f3=300 80
  136. IF nextPh(isPause2) THEN
  137. WAV(ustop/ki, 80)
  138. ENDIF
  139. WAV(ustop/ki)
  140. endphoneme
  141. phoneme J
  142. vcd pla stop
  143. lengthmod 5
  144. IF PreVoicing THEN
  145. FMT(dzh/xdz_pzd)
  146. ENDIF
  147. Vowelin f1=2 f2=2700 400 600 f3=300 80
  148. Vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1
  149. IF KlattSynth THEN
  150. FMT(klatt/dz_pzd) addWav(ustop/ki, 60)
  151. ENDIF
  152. FMT(dzh/dz_pzd) addWav(ustop/ki, 60)
  153. endphoneme
  154. phoneme G
  155. import_phoneme en/r/
  156. lengthmod 7
  157. endphoneme
  158. phoneme R
  159. vcd alv flp rhotic
  160. IF prevPhW(isVowel) AND nextPhW(isVowel) THEN
  161. CALL base/*
  162. // ELIF prevPhW(isNotVowel) THEN
  163. // CALL base/R
  164. ELSE
  165. CALL base/r
  166. ENDIF
  167. ipa ɾ
  168. endphoneme