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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. // Short vowels
  2. phoneme A
  3. vowel starttype #o endtype #o
  4. length 140
  5. FMT(vowel/0_3)
  6. endphoneme
  7. phoneme E
  8. vowel starttype #e endtype #e
  9. length 140
  10. FMT(vowel/e_mid)
  11. endphoneme
  12. phoneme i
  13. vowel starttype #i endtype #i
  14. length 140
  15. IfNextVowelAppend(;)
  16. FMT(vowel/i_4)
  17. endphoneme
  18. phoneme o
  19. vowel starttype #o endtype #o
  20. length 130
  21. FMT(vowel/o_mid)
  22. endphoneme
  23. phoneme u
  24. vowel starttype #u endtype #u
  25. length 130
  26. FMT(vowel/uu_bck)
  27. endphoneme
  28. phoneme Y
  29. vowel starttype #@ endtype #@
  30. length 130
  31. FMT(vowel/y#_2)
  32. endphoneme
  33. phoneme y
  34. vowel starttype #u endtype #u
  35. length 130
  36. FMT(vowel/yy_4)
  37. endphoneme
  38. // Long Vowels
  39. phoneme i:
  40. vowel starttype #i endtype #i
  41. length 220
  42. FMT(vowel/i)
  43. endphoneme
  44. phoneme e:
  45. vowel starttype #e endtype #e
  46. length 240
  47. FMT(vowel/e_3)
  48. endphoneme
  49. phoneme a:
  50. vowel starttype #a endtype #a
  51. length 270
  52. FMT(vowel/a)
  53. endphoneme
  54. phoneme o:
  55. vowel starttype #o endtype #o
  56. length 260
  57. FMT(vowel/o_2)
  58. endphoneme
  59. phoneme u:
  60. vowel starttype #u endtype #u
  61. length 240
  62. FMT(vowel/u_bck)
  63. endphoneme
  64. phoneme y:
  65. vowel starttype #u endtype #u
  66. length 240
  67. FMT(vowel/y)
  68. endphoneme
  69. phoneme Y:
  70. vowel starttype #@ endtype #@
  71. length 260
  72. FMT(vowel/y#)
  73. endphoneme
  74. // CONSONANTS
  75. //===========
  76. phoneme ts
  77. vls alv afr sibilant
  78. lengthmod 2
  79. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  80. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  81. WAV(ustop/ts) // don't use ustop/ts_ (before non-vowel)
  82. endphoneme
  83. phoneme dz
  84. import_phoneme consonants/dz
  85. voicingswitch ts
  86. endphoneme
  87. phoneme t // dental variant of /t/
  88. vls dnt stop
  89. lengthmod 2
  90. voicingswitch d
  91. Vowelin f1=0 f2=1600 -300 300 f3=-100 80
  92. Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
  93. IF nextPh(isPause2) THEN
  94. WAV(ustop/t_dnt, 45)
  95. ENDIF
  96. WAV(ustop/t_dnt, 50)
  97. endphoneme
  98. phoneme d
  99. vcd dnt stop
  100. voicingswitch t
  101. lengthmod 5
  102. Vowelin f1=2 f2=1500 -300 300 f3=-150 80
  103. Vowelout f1=2 f2=1500 -300 300 f3=-150 80
  104. IF PreVoicing THEN
  105. FMT(d/xd)
  106. ENDIF
  107. IF nextPh(isPause2) THEN
  108. FMT(d/d_) addWav(x/d_dnt)
  109. ELIF nextPh(r) THEN
  110. FMT(d/dr) addWav(x/d_dnt, 110)
  111. ENDIF
  112. FMT(d/d) addWav(x/d_dnt, 110)
  113. endphoneme
  114. phoneme c
  115. import_phoneme consonants/c2
  116. voicingswitch J
  117. endphoneme
  118. phoneme p // unaspirated
  119. import_phoneme consonants/p-
  120. voicingswitch b
  121. endphoneme
  122. phoneme k // unsapirated
  123. import_phoneme consonants/k-
  124. voicingswitch g
  125. endphoneme
  126. phoneme s2 // second part of geminated [s:]
  127. import_phoneme consonants/s2
  128. endphoneme
  129. phoneme l
  130. liquid
  131. lengthmod 7
  132. IF nextPh(isNotVowel) THEN
  133. ChangePhoneme(l/)
  134. ENDIF
  135. CALL vowelstart_l
  136. IF prevPh(#@) THEN
  137. VowelEnding(l/xl, -50)
  138. ELIF prevPh(isVowel) THEN
  139. VowelEnding(l/xl, -40)
  140. ENDIF
  141. IF prevPh(isPause) THEN
  142. FMT(l/_l)
  143. ENDIF
  144. IF prevPh(t) THEN
  145. FMT(l/tl)
  146. ENDIF
  147. // IF prevPh(l/) THEN
  148. // FMT(l/l_long) // double l, make it longer
  149. // ENDIF
  150. FMT(l/l)
  151. endphoneme