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_icelandic 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. //=========================================================
  2. // Icelandic
  3. //=========================================================
  4. phoneme : // Lengthen previous vowel by "length"
  5. virtual
  6. length 110
  7. endphoneme
  8. // Vowels
  9. //=======
  10. phoneme i
  11. vowel starttype #i endtype #i
  12. length 130
  13. IfNextVowelAppend(;)
  14. FMT(vowel/ii_6)
  15. endphoneme
  16. phoneme i:
  17. vowel starttype #i endtype #i
  18. length 230
  19. IfNextVowelAppend(;)
  20. ChangeIfNotStressed(i)
  21. FMT(vowel/i_4)
  22. endphoneme
  23. phoneme I
  24. vowel starttype #i endtype #i
  25. length 130
  26. IfNextVowelAppend(;)
  27. FMT(vowel/ii)
  28. endphoneme
  29. phoneme I:
  30. vowel starttype #i endtype #i
  31. length 230
  32. IfNextVowelAppend(;)
  33. ChangeIfNotStressed(I)
  34. FMT(vowel/ii)
  35. endphoneme
  36. phoneme E
  37. vowel starttype #e endtype #e
  38. length 130
  39. FMT(vowel/e_mid)
  40. endphoneme
  41. phoneme E:
  42. vowel starttype #e endtype #e
  43. length 130
  44. FMT(vowel/e_e)
  45. endphoneme
  46. phoneme a
  47. vowel starttype #@ endtype #@
  48. length 130
  49. FMT(vowel/a#_2)
  50. endphoneme
  51. phoneme a:
  52. vowel starttype #a endtype #a
  53. length 230
  54. ChangeIfNotStressed(a)
  55. FMT(vowel/aa_8)
  56. endphoneme
  57. phoneme O
  58. vowel starttype #o endtype #o
  59. length 130
  60. FMT(vowel/oo_5)
  61. endphoneme
  62. phoneme O:
  63. vowel starttype #o endtype #o
  64. length 230
  65. ChangeIfNotStressed(O)
  66. FMT(vdiph2/o_oo)
  67. endphoneme
  68. phoneme u
  69. vowel starttype #u endtype #u
  70. length 130
  71. FMT(vowel/u_2)
  72. endphoneme
  73. phoneme u:
  74. vowel starttype #u endtype #u
  75. length 230
  76. ChangeIfNotStressed(u)
  77. FMT(vowel/u_bck)
  78. endphoneme
  79. phoneme y
  80. vowel starttype #@ endtype #@
  81. length 130
  82. FMT(vowel/y##)
  83. endphoneme
  84. phoneme y:
  85. vowel starttype #i endtype #i
  86. length 230
  87. ChangeIfNotStressed(y)
  88. FMT(vowel/yy_4)
  89. endphoneme
  90. phoneme W
  91. vowel starttype #@ endtype #@
  92. length 130
  93. FMT(vowel/y#_3)
  94. endphoneme
  95. phoneme W:
  96. vowel starttype #@ endtype #@
  97. length 130
  98. ChangeIfNotStressed(W)
  99. FMT(vowel/y#_3)
  100. endphoneme
  101. phoneme aI
  102. vowel starttype #a endtype #i
  103. length 170
  104. FMT(vdiph/ai_7)
  105. endphoneme
  106. phoneme aI:
  107. vowel starttype #a endtype #i
  108. length 230
  109. ChangeIfNotStressed(aI)
  110. FMT(vdiph/ai_7)
  111. endphoneme
  112. phoneme eI
  113. vowel starttype #e endtype #i
  114. length 170
  115. FMT(vdiph/ei)
  116. endphoneme
  117. phoneme eI:
  118. vowel starttype #e endtype #i
  119. length 230
  120. ChangeIfNotStressed(eI)
  121. FMT(vdiph/ei)
  122. endphoneme
  123. phoneme aU
  124. vowel starttype #a endtype #u
  125. length 170
  126. FMT(vdiph/aau)
  127. endphoneme
  128. phoneme aU:
  129. vowel starttype #a endtype #u
  130. length 230
  131. ChangeIfNotStressed(aU)
  132. FMT(vdiph/aau)
  133. endphoneme
  134. phoneme oU
  135. vowel starttype #o endtype #u
  136. length 170
  137. FMT(vdiph/ou_3)
  138. endphoneme
  139. phoneme oU: // long version for óf
  140. vowel starttype #o endtype #u
  141. length 230
  142. ChangeIfNotStressed(oU)
  143. FMT(vdiph/ou_3)
  144. endphoneme
  145. phoneme Yy
  146. vowel starttype #@ endtype #i
  147. length 150
  148. FMT(vdiph/y#i_2)
  149. endphoneme
  150. phoneme Yy:
  151. vowel starttype #@ endtype #i
  152. length 220
  153. ChangeIfNotStressed(Yy)
  154. FMT(vdiph/y#i_2)
  155. endphoneme
  156. phoneme OI
  157. vowel starttype #o endtype #i
  158. length 210
  159. FMT(vdiph/oi)
  160. endphoneme
  161. phoneme yI
  162. vowel starttype #i endtype #i
  163. length 180
  164. FMT(vowel/yy_4)
  165. endphoneme
  166. // Consonants
  167. //===========
  168. phoneme m#
  169. vcd blb nasal
  170. lengthmod 6
  171. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  172. FMT(m/m#_)
  173. endphoneme
  174. phoneme n#
  175. vcd alv nasal
  176. lengthmod 6
  177. Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
  178. NextVowelStarts
  179. VowelStart(n/n@)
  180. VowelStart(n/na)
  181. VowelStart(n/ne)
  182. VowelStart(n/ni)
  183. VowelStart(n/no)
  184. VowelStart(n/nu)
  185. EndSwitch
  186. FMT(n/n#_)
  187. endphoneme
  188. phoneme n^#
  189. vcd pal nasal palatal
  190. lengthmod 6
  191. Vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate
  192. FMT(n^/n^#_)
  193. endphoneme
  194. phoneme N#
  195. vcd vel nasal
  196. lengthmod 6
  197. Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
  198. NextVowelStarts
  199. VowelStart(nn/nn@)
  200. VowelStart(nn/nna)
  201. VowelStart(nn/nne)
  202. VowelStart(nn/nni)
  203. VowelStart(nn/nno)
  204. VowelStart(nn/nnu)
  205. EndSwitch
  206. FMT(nn/nn#_)
  207. endphoneme
  208. phoneme l#
  209. vls alv frc
  210. lengthmod 3
  211. WAV(ufric/ll, 25)
  212. endphoneme
  213. phoneme tl#
  214. vls alv stop
  215. lengthmod 2
  216. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  217. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  218. WAV(ufric/tl#, 50)
  219. endphoneme
  220. phoneme r# // used for [r] when not preceding a vowel
  221. liquid
  222. lengthmod 2 //
  223. FMT(r3/r#_) addWav(r3/rx)
  224. // before n r3/r_n+r3/rx
  225. endphoneme
  226. phoneme b
  227. vls blb stop
  228. lengthmod 5
  229. Vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11
  230. Vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
  231. WAV(x/b)
  232. endphoneme
  233. phoneme d
  234. vls alv stop
  235. lengthmod 5
  236. Vowelin f1=2 f2=1700 -300 300 f3=-100 80
  237. Vowelout f1=2 f2=1700 -300 300 f3=-100 80
  238. IF nextPh(isPause2) THEN
  239. WAV(x/d_)
  240. ENDIF
  241. WAV(x/d, 80)
  242. endphoneme
  243. phoneme g
  244. vls vel stop
  245. lengthmod 5
  246. Vowelin f1=2 f2=2300 200 300 f3=-300 80
  247. Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  248. IF nextPh(isPause2) THEN
  249. WAV(x/g_)
  250. ENDIF
  251. WAV(x/g2, 150)
  252. endphoneme
  253. phoneme v // no fricative noise
  254. import_phoneme base/v#
  255. voicingswitch f
  256. endphoneme
  257. phoneme s2 // 2nd part of geminated s
  258. import_phoneme consonants/s2
  259. endphoneme