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

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