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_danish 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. phoneme @
  2. vowel starttype #@ endtype #@
  3. unstressed
  4. length 110
  5. FMT(vowel/@_3)
  6. endphoneme
  7. // ToDo: change [@] to [a#] if adjacent to [r] or [R]
  8. phoneme 3
  9. vowel starttype #a endtype #a
  10. unstressed
  11. length 110
  12. FMT(vowel/a#_3)
  13. endphoneme
  14. phoneme i
  15. vowel starttype #i endtype #i
  16. length 150
  17. IfNextVowelAppend(;)
  18. FMT(vowel/i_4)
  19. endphoneme
  20. // PB Experimental glottal i
  21. // sviret vs. svirret
  22. phoneme ?i
  23. vowel starttype #i endtype #i
  24. length 95
  25. IfNextVowelAppend(;)
  26. FMT(vowel/i_4)
  27. endphoneme
  28. // PB English i - Tim
  29. phoneme I
  30. vowel starttype #i endtype #i
  31. length 130
  32. IfNextVowelAppend(;)
  33. FMT(vowel/ii_2)
  34. endphoneme
  35. phoneme e
  36. vowel starttype #e endtype #e
  37. length 150
  38. FMT(vowel/e)
  39. endphoneme
  40. // PB glottal e
  41. // "skille" vs. "skele", "pille" vs. "pile"
  42. phoneme ?e
  43. vowel starttype #e endtype #e
  44. length 95
  45. FMT(vowel/e)
  46. endphoneme
  47. phoneme E
  48. vowel starttype #e endtype #e
  49. length 150
  50. FMT(vowel/e_mid2)
  51. endphoneme
  52. // PB Experimental glottal E
  53. // "læsse" vs. "læse"
  54. phoneme ?E
  55. vowel starttype #e endtype #e
  56. length 95
  57. FMT(vowel/e_mid2)
  58. endphoneme
  59. phoneme &
  60. vowel starttype #e endtype #e
  61. length 150
  62. FMT(vowel/ee_2)
  63. endphoneme
  64. // PB Experimental glottal a
  65. // e.g. the last a in "staldkarl"
  66. phoneme ?&
  67. vowel starttype #e endtype #e
  68. length 95
  69. FMT(vowel/ee_2)
  70. endphoneme
  71. // PB added for the æ in "dræbt"
  72. phoneme &#
  73. vowel starttype #e endtype #e
  74. length 120
  75. FMT(vowel/&)
  76. endphoneme
  77. phoneme a
  78. vowel starttype #a endtype #a
  79. length 150
  80. FMT(vowel/a_2)
  81. endphoneme
  82. phoneme A
  83. vowel starttype #a endtype #a
  84. length 150
  85. FMT(vowel/a_3)
  86. endphoneme
  87. phoneme u
  88. vowel starttype #u endtype #u
  89. length 150
  90. FMT(vowel/u_bck)
  91. endphoneme
  92. // PB glottal u
  93. // "gud" vs. "guden" - [guD] [g?D@n]
  94. phoneme ?u
  95. vowel starttype #u endtype #u
  96. length 95
  97. FMT(vowel/u_bck)
  98. endphoneme
  99. phoneme o
  100. vowel starttype #o endtype #o
  101. length 150
  102. FMT(vowel/o_2)
  103. endphoneme
  104. phoneme O
  105. vowel starttype #o endtype #o
  106. length 150
  107. FMT(vowel/o_5)
  108. endphoneme
  109. // PB Experimental glottal O
  110. // "toget" vs. "tåget"
  111. phoneme ?O
  112. vowel starttype #o endtype #o
  113. length 95
  114. FMT(vowel/o_5)
  115. endphoneme
  116. phoneme V
  117. vowel starttype #@ endtype #@
  118. length 150
  119. FMT(vowel/V_4)
  120. endphoneme
  121. phoneme 0
  122. vowel starttype #o endtype #o
  123. length 150
  124. FMT(vowel/oo_2)
  125. endphoneme
  126. phoneme y
  127. vowel starttype #i endtype #i
  128. length 150
  129. FMT(vowel/y)
  130. endphoneme
  131. // PB glottal y
  132. // "kylling" vs. "kyle", "krybbe" vs. "krybe"
  133. phoneme ?y
  134. vowel starttype #i endtype #i
  135. length 95
  136. FMT(vowel/y)
  137. endphoneme
  138. phoneme Y
  139. vowel starttype #i endtype #i
  140. length 150
  141. FMT(vowel/yy)
  142. endphoneme
  143. phoneme W
  144. vowel starttype #@ endtype #@
  145. length 150
  146. FMT(vowel/oe)
  147. endphoneme
  148. // PB glottal W
  149. // "prøv" vs. "prøve"
  150. phoneme ?W
  151. vowel starttype #@ endtype #@
  152. length 80
  153. FMT(vowel/oe)
  154. endphoneme
  155. // PB added for the ø in "røv", "røg", "øje" instead of [V3]
  156. phoneme W#
  157. vowel starttype #@ endtype #@
  158. length 150
  159. FMT(vowel/V)
  160. endphoneme
  161. phoneme aI
  162. vowel starttype #a endtype #i
  163. length 250
  164. FMT(vdiph/ai)
  165. endphoneme
  166. // CONSONANTS
  167. // PB added l/3
  168. phoneme l
  169. liquid
  170. lengthmod 7
  171. ChangePhoneme(l/3)
  172. CALL base/l
  173. endphoneme
  174. phoneme v // approximant, not fricative
  175. import_phoneme base/v#
  176. voicingswitch f
  177. endphoneme
  178. phoneme r // used for 'r' after a vowel (to create a diphthong)
  179. liquid
  180. lengthmod 7
  181. IF nextPhW(isVowel) THEN
  182. ChangePhoneme(R)
  183. ENDIF
  184. FMT(r/a_)
  185. endphoneme
  186. phoneme R
  187. lengthmod 7
  188. liquid
  189. ipa ʁ
  190. FMT(r/aa)
  191. endphoneme
  192. // don't weaken consonants at end of word or before a stop
  193. phoneme s
  194. vls alv frc sibilant
  195. voicingswitch z
  196. lengthmod 3
  197. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  198. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  199. IF nextPh(p) OR nextPh(t) OR nextPh(k) THEN
  200. WAV(ufric/s!)
  201. ENDIF
  202. WAV(ufric/s)
  203. endphoneme
  204. phoneme p
  205. vls blb stop
  206. voicingswitch b
  207. lengthmod 2
  208. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  209. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  210. IF nextPh(isPause2) THEN
  211. WAV(ustop/p_unasp)
  212. ELIF nextPh(r) THEN
  213. WAV(ustop/pr, 70)
  214. ELIF nextPh(R) OR nextPh(R2) THEN
  215. WAV(ustop/pr)
  216. ELIF nextPh(@-) THEN
  217. WAV(ustop/p_unasp)
  218. ELIF nextPh(l) THEN
  219. WAV(ustop/pl)
  220. ENDIF
  221. WAV(ustop/p)
  222. endphoneme
  223. phoneme t
  224. vls alv stop
  225. voicingswitch d
  226. lengthmod 2
  227. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  228. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  229. IF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
  230. WAV(ustop/tr)
  231. ENDIF
  232. WAV(ustop/t, 90)
  233. endphoneme