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_serbian 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. // This file inherits phonemes from ph_croatian
  2. // Only phonemes which differ from the inherited phonemes need
  3. // to be included here.
  4. phoneme I
  5. vwl starttype #i endtype #i
  6. length 120
  7. IfNextVowelAppend(;)
  8. FMT(vowel/ii_6)
  9. endphoneme
  10. phoneme &
  11. vwl starttype #a endtype #a
  12. ipa ɐ
  13. length 140
  14. FMT(vowel/a#)
  15. endphoneme
  16. phoneme r* // this is [R] from Slovak/Czech
  17. liquid trl
  18. ipa r
  19. lengthmod 6
  20. Vowelin f1=0 f2=1700 -300 300 f3=-300 80
  21. Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
  22. FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
  23. endphoneme
  24. phoneme t
  25. import_phoneme ru-base/t
  26. endphoneme
  27. phoneme d
  28. vcd alv stp
  29. lengthmod 5
  30. voicingswitch t
  31. Vowelin f1=2 f2=1700 -300 300 f3=-100 80 amp=16
  32. Vowelout f1=2 f2=1700 -300 300 f3=-100 80
  33. IF PreVoicing THEN
  34. FMT(d/xd)
  35. ENDIF
  36. IF nextPh(isPause2) THEN
  37. FMT(d/d_dnt) addWav(ustop/t_sr)
  38. ENDIF
  39. FMT(d/d_dnt) addWav(ustop/t_sr, 50)
  40. endphoneme
  41. // This is for letter "h" at the beginning of a word
  42. // Use [x] from lang=hr, request by Gašić Dajan 27.06.2011
  43. phoneme x#
  44. vls vel frc
  45. lengthmod 3
  46. IF nextPh(#i) OR nextPh(#e) THEN
  47. WAV(ufric/ch_sr)
  48. ELIF nextPh(isVowel) THEN
  49. WAV(ufric/x_sr)
  50. ENDIF
  51. WAV(ufric/x_sr, 70) // no vowel following
  52. endphoneme
  53. // This is for letter "h" not at the beginning of word
  54. // Use standard [h], request by Gašić Dajan 27.06.2011
  55. phoneme h#
  56. vls vel frc
  57. lengthmod 3
  58. IF nextPh(#@) THEN
  59. WAV(h/h@)
  60. ELIF nextPh(#i) OR nextPh(#e) THEN
  61. WAV(ufric/ch_sr)
  62. ELIF nextPh(isVowel) THEN
  63. WAV(ufric/x_sr)
  64. ENDIF
  65. WAV(ufric/x_sr, 70) // no vowel following
  66. endphoneme
  67. phoneme dZ
  68. vcd pla afr sib
  69. lengthmod 5
  70. voicingswitch tS
  71. Vowelin f1=2 f2=2300 200 400 f3=100 80
  72. Vowelout f1=2 f2=2300 250 300 f3=100 80 brk
  73. IF PreVoicing THEN
  74. FMT(dzh/xdzh)
  75. ENDIF
  76. FMT(dzh/dzh) addWav(ufric/sh_pzd2)
  77. endphoneme
  78. phoneme dZ;
  79. vcd alp sib afr
  80. lengthmod 5
  81. ipa dʑ
  82. voicingswitch tS;
  83. Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
  84. IF PreVoicing THEN
  85. FMT(dzh/xdzh)
  86. ENDIF
  87. FMT(dzh/dzh) addWav(ustop/ts_sr)
  88. endphoneme
  89. phoneme tS
  90. vls pla afr sib
  91. lengthmod 2
  92. voicingswitch dZ
  93. Vowelin f1=0 f2=2300 200 400 f3=-100 80
  94. WAV(ustop/tsh_sr, 50)
  95. endphoneme
  96. phoneme tS;
  97. vls alp sib afr
  98. lengthmod 2
  99. ipa tɕ
  100. voicingswitch dZ;
  101. Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
  102. WAV(ustop/ts_sr)
  103. endphoneme
  104. phoneme Z
  105. vcd pla frc sib
  106. lengthmod 6
  107. voicingswitch S
  108. Vowelin f1=0 f2=2000 0 300 f3=-200 80
  109. Vowelout f1=2 f2=2000 0 300 f3=-200 80 brk
  110. IF nextPh(isPause2) THEN
  111. FMT(voc/zh) addWav(ufric/sh_pzd2, 50)
  112. ENDIF
  113. FMT(voc/zh) addWav(ufric/sh_pzd2, 60)
  114. endphoneme
  115. phoneme S
  116. vls pla frc sib
  117. lengthmod 3
  118. voicingswitch Z
  119. Vowelin f1=0 f2=2100 100 300 f3=-100 80
  120. Vowelout f1=0 f2=2100 100 300 f3=-100 80
  121. IF nextPh(isPause2) THEN
  122. WAV(ufric/sh_pzd2, 60)
  123. ENDIF
  124. WAV(ufric/sh_pzd2, 70)
  125. endphoneme