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_afrikaans 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. //****************************************************************
  2. //redefinition of the : phoneme
  3. phoneme : // lengthen previous vowel by "length"
  4. virtual
  5. length 140
  6. endphoneme
  7. // VOWELS
  8. //****************************************************************
  9. phoneme @ // Schwa, but always unstressed
  10. vowel starttype #@ endtype #@
  11. unstressed
  12. length 140
  13. IF nextPh(r/) THEN
  14. FMT(vwl_af/r@, 50)
  15. ENDIF
  16. FMT(vwl_af/@)
  17. endphoneme
  18. phoneme a // short A
  19. vowel starttype #a endtype #a
  20. length 140
  21. FMT(vowel/V_2)
  22. endphoneme
  23. phoneme E // short E
  24. vowel starttype #e endtype #e
  25. length 140
  26. FMT(vowel/e_mid2)
  27. endphoneme
  28. phoneme I // short I, Schwa
  29. vowel starttype #@ endtype #@
  30. length 140
  31. IF nextPh(r/) THEN
  32. FMT(vwl_af/r@, 50)
  33. ENDIF
  34. FMT(vwl_af/I)
  35. endphoneme
  36. phoneme O // short O
  37. vowel starttype #o endtype #o
  38. length 140
  39. FMT(vowel/oo_3)
  40. endphoneme
  41. phoneme W // short U
  42. vowel starttype #@ endtype #@
  43. length 140
  44. FMT(vowel/oe)
  45. endphoneme
  46. phoneme u // short OE
  47. vowel starttype #u endtype #u
  48. length 110
  49. FMT(vowel/uu_3)
  50. endphoneme
  51. phoneme & // more open [E]
  52. vowel starttype #e endtype #e
  53. length 150
  54. IF nextPh(l/2) THEN
  55. VowelEnding(l/L_eL_af, -30)
  56. ENDIF
  57. FMT(vowel/ee_3)
  58. endphoneme
  59. phoneme &: // more open [E] longer
  60. vowel starttype #e endtype #e
  61. length 280
  62. IF nextPh(l/2) THEN
  63. VowelEnding(l/L_eL_af, -30)
  64. ENDIF
  65. FMT(vowel/ee_3)
  66. endphoneme
  67. phoneme @L // syllabic L
  68. vowel starttype #@ endtype l
  69. unstressed
  70. length 160
  71. FMT(vwl_en/@L)
  72. endphoneme
  73. phoneme A: // long A
  74. vowel starttype #a endtype #a
  75. length 280
  76. FMT(vowel/aa_3)
  77. endphoneme
  78. phoneme e@ // long E
  79. vowel starttype #i endtype #@
  80. length 230
  81. FMT(vdiph/i@_2)
  82. endphoneme
  83. phoneme i // long I
  84. vowel starttype #i endtype #i
  85. length 100
  86. IfNextVowelAppend(;)
  87. FMT(vowel/i_3)
  88. endphoneme
  89. phoneme o@ // long O
  90. vowel starttype #u endtype #@
  91. length 250
  92. FMT(vdiph2/o@)
  93. endphoneme
  94. phoneme y // long U
  95. vowel starttype #i endtype #i
  96. length 180
  97. FMT(vowel/y_3)
  98. endphoneme
  99. phoneme iu
  100. vowel starttype #i endtype #u
  101. length 220
  102. FMT(vdiph2/iu_3)
  103. endphoneme
  104. phoneme @U
  105. vowel starttype #@ endtype #u
  106. length 170
  107. FMT(vdiph/Vu)
  108. endphoneme
  109. phoneme aI
  110. vowel starttype #a endtype #i
  111. length 220
  112. IfNextVowelAppend(;)
  113. FMT(vdiph/ai_4)
  114. endphoneme
  115. phoneme AI
  116. vowel starttype #a endtype #i
  117. length 310
  118. IfNextVowelAppend(;)
  119. FMT(vdiph/aai_2)
  120. endphoneme
  121. phoneme eI
  122. vowel starttype #e endtype #i
  123. length 170
  124. IfNextVowelAppend(;)
  125. FMT(vdiph/@i_2)
  126. endphoneme
  127. phoneme OI
  128. vowel starttype #o endtype #i
  129. length 230
  130. IfNextVowelAppend(;)
  131. FMT(vdiph/ooi_2)
  132. endphoneme
  133. phoneme oI
  134. vowel starttype #o endtype #i
  135. length 290
  136. IfNextVowelAppend(;)
  137. FMT(vdiph/oi_2)
  138. endphoneme
  139. phoneme uI
  140. vowel starttype #u endtype #i
  141. length 240
  142. IfNextVowelAppend(;)
  143. FMT(vdiph/ui_2)
  144. endphoneme
  145. phoneme Yy
  146. vowel starttype #@ endtype #i
  147. length 220
  148. IfNextVowelAppend(;)
  149. FMT(vdiph/y#y_2)
  150. endphoneme
  151. phoneme Y@
  152. vowel starttype #i endtype #@
  153. length 210
  154. FMT(vdiph2/y#@)
  155. endphoneme
  156. phoneme aU
  157. vowel starttype #a endtype #u
  158. length 230
  159. FMT(vdiph/au)
  160. endphoneme
  161. // circumflex accent vowels
  162. phoneme e:
  163. vowel starttype #e endtype #e
  164. length 210
  165. FMT(vowel/e)
  166. endphoneme
  167. phoneme O:
  168. vowel starttype #o endtype #o
  169. length 280
  170. FMT(vowel/oo_1)
  171. endphoneme
  172. phoneme 3:
  173. vowel starttype #@ endtype #@
  174. length 230
  175. FMT(vowel/3_en)
  176. endphoneme
  177. // Nasal vowels
  178. phoneme A~
  179. vowel starttype #a endtype #a
  180. length 240
  181. FMT(vnasal/aa_n3)
  182. endphoneme
  183. phoneme e~
  184. vowel starttype #e endtype #e
  185. length 240
  186. FMT(vnasal/e_n)
  187. endphoneme
  188. phoneme o~
  189. vowel starttype #o endtype #o
  190. length 240
  191. FMT(vnasal/o_n2)
  192. endphoneme
  193. // CONSONANTS
  194. //===========
  195. phoneme x2
  196. vls vel frc
  197. Vowelin f1=0 f2=2300 200 400 f3=-100 100
  198. Vowelout f1=0 f2=2300 300 400 f3=-100 100 rms=20
  199. lengthmod 3
  200. WAV(ufric/x2, 60) // stronger version of [x]
  201. endphoneme
  202. phoneme r
  203. liquid rhotic
  204. trill
  205. lengthmod 6
  206. Vowelin f1=2 f2=2700 -300 -200 f3=-1300 80
  207. Vowelout f1=2 f2=1700 -300 -200 f3=-1300 80
  208. NextVowelStarts
  209. VowelStart(r/r@, -15)
  210. VowelStart(r/ra, -15)
  211. VowelStart(r/re, -15)
  212. VowelStart(r/ri, -15)
  213. VowelStart(r/ro, -15)
  214. VowelStart(r/ru, -15)
  215. EndSwitch
  216. IF prevPh(isVowel) THEN
  217. VowelEnding(r/xr, -50)
  218. ENDIF
  219. FMT(r3/r_trill) addWav(r3/r_trill3.wav, 100)
  220. endphoneme
  221. phoneme r/ // used for [r] when not preceding a vowel
  222. liquid
  223. lengthmod 7
  224. IF prevPh(@) OR prevPh(I) THEN
  225. ELSE
  226. FMT(r3/r_) addWav(r3/rx)
  227. ENDIF
  228. endphoneme
  229. phoneme l
  230. import_phoneme en/l
  231. endphoneme
  232. phoneme c // used in -tjie
  233. vls pal stop palatal
  234. voicingswitch g
  235. lengthmod 2
  236. Vowelin f1=0 f2=2700 400 600 f3= 200 80
  237. Vowelout f1=0 f2=2700 400 600 f3= 200 80 rms=20
  238. WAV(ustop/ki)
  239. endphoneme