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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. //====================================================
  2. // Basque - based on Base2
  3. //====================================================
  4. phoneme a
  5. vowel starttype #a endtype #a
  6. length 200
  7. FMT(vowel/a_4)
  8. endphoneme
  9. phoneme a2 // delete if the next vowel is 'a'. Used for numbers.
  10. vowel starttype #a endtype #a
  11. length 200
  12. IF nextPh(#a) THEN
  13. ChangePhoneme(NULL) // merge consecutive 'a'
  14. ENDIF
  15. FMT(vowel/a_4)
  16. endphoneme
  17. phoneme e
  18. vowel starttype #e endtype #e
  19. length 200
  20. FMT(vowel/e_mid2)
  21. endphoneme
  22. phoneme i
  23. vowel starttype #i endtype #i
  24. length 190
  25. IfNextVowelAppend(;)
  26. FMT(vowel/i)
  27. endphoneme
  28. phoneme o
  29. vowel starttype #o endtype #o
  30. length 200
  31. FMT(vowel/oo)
  32. endphoneme
  33. phoneme u
  34. vowel starttype #u endtype #u
  35. length 200
  36. FMT(vowel/u_bck2)
  37. endphoneme
  38. phoneme Y
  39. vowel starttype #@ endtype #@
  40. length 200
  41. FMT(vowel/y#)
  42. endphoneme
  43. // Note: I have made [s] and [z] the same, and similarly [ts] and [tz]
  44. // These should be changed to the correct "s", "z", "ts" and "tz" sounds fo Basque.
  45. phoneme s
  46. vls alv frc sibilant
  47. ipa ʂ
  48. lengthmod 3
  49. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  50. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  51. IF nextPh(isPause) THEN
  52. WAV(ufric/sh_rfx, 60)
  53. ENDIF
  54. WAV(ufric/sh_rfx, 90) // different from s but probably not correct
  55. endphoneme
  56. phoneme z
  57. vls alv frc sibilant
  58. ipa s
  59. lengthmod 3
  60. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  61. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  62. // z+z=tz, z+g=zk, z+g=zt, z+b=zp
  63. IF nextPh(z) THEN
  64. ChangeNextPhoneme(tz)
  65. ChangePhoneme(NULL)
  66. ELSEIF nextPh(g) THEN
  67. ChangeNextPhoneme(k)
  68. ELSEIF nextPh(d) THEN
  69. ChangeNextPhoneme(t)
  70. ELSEIF nextPh(b) THEN
  71. ChangeNextPhoneme(p)
  72. ENDIF
  73. IF nextPh(isPause) THEN
  74. WAV(ufric/s_, 60)
  75. ENDIF
  76. WAV(ufric/s, 80)
  77. endphoneme
  78. phoneme ts
  79. vls alv afr sibilant
  80. ipa tʂ
  81. lengthmod 2
  82. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  83. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  84. IF nextPh(isPause2) THEN
  85. WAV(ustop/ts_)
  86. ENDIF
  87. WAV(ustop/ts)
  88. endphoneme
  89. phoneme tz
  90. vls alv afr sibilant
  91. ipa ts
  92. lengthmod 2
  93. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  94. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  95. IF nextPh(isPause2) THEN
  96. WAV(ustop/ts_)
  97. ENDIF
  98. WAV(ustop/ts)
  99. endphoneme
  100. phoneme t
  101. vls dnt stop
  102. lengthmod 2
  103. // t+g=k, t+d=t, t+z=tz
  104. IF nextPh(g) THEN
  105. ChangeNextPhoneme(k)
  106. ChangePhoneme(NULL)
  107. ELSEIF nextPh(d) THEN
  108. ChangeNextPhoneme(t)
  109. ChangePhoneme(NULL)
  110. ELSEIF nextPh(z) THEN
  111. ChangeNextPhoneme(tz)
  112. ChangePhoneme(NULL)
  113. ENDIF
  114. CALL base2/t
  115. endphoneme
  116. phoneme r
  117. vcd alv flp rhotic
  118. brkafter
  119. ipa ɾ
  120. lengthmod 3
  121. IF nextPhW(isVowel) THEN
  122. ChangePhoneme(**)
  123. ENDIF
  124. CALL base/*
  125. endphoneme
  126. phoneme b
  127. import_phoneme es/b
  128. endphoneme
  129. phoneme d
  130. import_phoneme es/d
  131. endphoneme
  132. phoneme g
  133. import_phoneme es/g
  134. endphoneme