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 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  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/i_4)
  15. endphoneme
  16. phoneme I
  17. vowel starttype #i endtype #i
  18. length 130
  19. IfNextVowelAppend(;)
  20. FMT(vowel/ii)
  21. endphoneme
  22. phoneme e
  23. vowel starttype #e endtype #e
  24. length 130
  25. ChangeIfNotStressed(E)
  26. FMT(vowel/e_e)
  27. endphoneme
  28. phoneme E
  29. vowel starttype #e endtype #e
  30. length 130
  31. FMT(vowel/e_mid)
  32. endphoneme
  33. phoneme a
  34. vowel starttype #a endtype #a
  35. length 130
  36. ChangeIfNotStressed(&)
  37. FMT(vowel/a_3)
  38. endphoneme
  39. phoneme &
  40. vowel starttype #@ endtype #@
  41. length 130
  42. FMT(vowel/a#_2)
  43. endphoneme
  44. phoneme o
  45. vowel starttype #o endtype #o
  46. length 130
  47. ChangeIfNotStressed(O)
  48. FMT(vdiph2/o_oo)
  49. endphoneme
  50. phoneme O
  51. vowel starttype #o endtype #o
  52. length 130
  53. FMT(vowel/oo_5)
  54. endphoneme
  55. phoneme u
  56. vowel starttype #u endtype #u
  57. length 130
  58. FMT(vowel/u_bck)
  59. endphoneme
  60. phoneme y
  61. vowel starttype #i endtype #i
  62. length 130
  63. FMT(vowel/yy_4)
  64. endphoneme
  65. phoneme y#
  66. vowel starttype #@ endtype #@
  67. length 130
  68. FMT(vowel/y##)
  69. endphoneme
  70. phoneme W
  71. vowel starttype #@ endtype #@
  72. length 130
  73. FMT(vowel/y#_3)
  74. endphoneme
  75. phoneme aI
  76. vowel starttype #a endtype #i
  77. length 170
  78. FMT(vdiph/ai_7)
  79. endphoneme
  80. phoneme eI
  81. vowel starttype #e endtype #i
  82. length 170
  83. FMT(vdiph/ei)
  84. endphoneme
  85. phoneme aU
  86. vowel starttype #a endtype #u
  87. length 170
  88. FMT(vdiph/au_4)
  89. endphoneme
  90. phoneme oU
  91. vowel starttype #o endtype #u
  92. length 170
  93. FMT(vdiph/ou_3)
  94. endphoneme
  95. phoneme oU2 // long version for óf
  96. vowel starttype #o endtype #u
  97. length 230
  98. FMT(vdiph/ou_3)
  99. endphoneme
  100. phoneme Yy
  101. vowel starttype #@ endtype #i
  102. length 150
  103. FMT(vdiph/y#i_2)
  104. endphoneme
  105. // Consonants
  106. //===========
  107. phoneme m#
  108. vcd blb nasal
  109. lengthmod 6
  110. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  111. FMT(m/m#_)
  112. endphoneme
  113. phoneme n#
  114. vcd alv nasal
  115. lengthmod 6
  116. Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
  117. NextVowelStarts
  118. VowelStart(n/n@)
  119. VowelStart(n/na)
  120. VowelStart(n/ne)
  121. VowelStart(n/ni)
  122. VowelStart(n/no)
  123. VowelStart(n/nu)
  124. EndSwitch
  125. FMT(n/n#_)
  126. endphoneme
  127. phoneme n^#
  128. vcd pal nasal palatal
  129. lengthmod 6
  130. Vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate
  131. FMT(n^/n^#_)
  132. endphoneme
  133. phoneme N#
  134. vcd vel nasal
  135. lengthmod 6
  136. Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
  137. NextVowelStarts
  138. VowelStart(nn/nn@)
  139. VowelStart(nn/nna)
  140. VowelStart(nn/nne)
  141. VowelStart(nn/nni)
  142. VowelStart(nn/nno)
  143. VowelStart(nn/nnu)
  144. EndSwitch
  145. FMT(nn/nn#_)
  146. endphoneme
  147. phoneme l#
  148. vls alv frc
  149. lengthmod 3
  150. WAV(ufric/ll, 25)
  151. endphoneme
  152. phoneme tl#
  153. vls alv stop
  154. lengthmod 2
  155. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  156. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  157. WAV(ufric/tl#, 50)
  158. endphoneme
  159. phoneme r# // used for [r] when not preceding a vowel
  160. liquid
  161. lengthmod 2 //
  162. FMT(r3/r#_) addWav(r3/rx)
  163. // before n r3/r_n+r3/rx
  164. endphoneme
  165. phoneme b
  166. vls blb stop
  167. lengthmod 5
  168. Vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11
  169. Vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
  170. WAV(x/b)
  171. endphoneme
  172. phoneme d
  173. vls alv stop
  174. lengthmod 5
  175. Vowelin f1=2 f2=1700 -300 300 f3=-100 80
  176. Vowelout f1=2 f2=1700 -300 300 f3=-100 80
  177. IF nextPh(isPause2) THEN
  178. WAV(x/d_)
  179. ENDIF
  180. WAV(x/d, 80)
  181. endphoneme
  182. phoneme g
  183. vls vel stop
  184. lengthmod 5
  185. Vowelin f1=2 f2=2300 200 300 f3=-300 80
  186. Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  187. IF nextPh(isPause2) THEN
  188. WAV(x/g_)
  189. ENDIF
  190. WAV(x/g2, 150)
  191. endphoneme
  192. phoneme v // no fricative noise
  193. import_phoneme base/v#
  194. voicingswitch f
  195. endphoneme
  196. phoneme s2 // 2nd part of geminated s
  197. import_phoneme consonants/s2
  198. endphoneme