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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. //=========================================================
  2. // Faroese
  3. //=========================================================
  4. phoneme : // Lengthen previous vowel by "length"
  5. virtual
  6. length 110
  7. endphoneme
  8. // Vowels
  9. //=======
  10. phoneme i
  11. vwl starttype #i endtype #i
  12. length 130
  13. IfNextVowelAppend(;)
  14. FMT(vowel/ii_6)
  15. endphoneme
  16. phoneme i:
  17. vwl starttype #i endtype #i
  18. length 230
  19. IfNextVowelAppend(;)
  20. ChangeIfNotStressed(i)
  21. FMT(vowel/i_4)
  22. endphoneme
  23. phoneme I
  24. vwl starttype #i endtype #i
  25. length 130
  26. IfNextVowelAppend(;)
  27. FMT(vowel/ii)
  28. endphoneme
  29. phoneme I:
  30. vwl starttype #i endtype #i
  31. length 230
  32. IfNextVowelAppend(;)
  33. ChangeIfNotStressed(I)
  34. FMT(vowel/ii)
  35. endphoneme
  36. phoneme E
  37. vwl starttype #e endtype #e
  38. length 130
  39. FMT(vowel/e_mid)
  40. endphoneme
  41. phoneme E:
  42. vwl starttype #e endtype #e
  43. length 130
  44. FMT(vowel/e_e)
  45. endphoneme
  46. phoneme A
  47. vwl starttype #@ endtype #@
  48. length 130
  49. FMT(vowel/a#_2)
  50. endphoneme
  51. phoneme a
  52. vwl starttype #a endtype #a
  53. length 130
  54. FMT(vowel/a#_2)
  55. endphoneme
  56. phoneme a:
  57. vwl starttype #a endtype #a
  58. length 230
  59. ChangeIfNotStressed(a)
  60. FMT(vowel/aa_8)
  61. endphoneme
  62. phoneme O
  63. vwl starttype #o endtype #o
  64. length 130
  65. FMT(vowel/oo_5)
  66. endphoneme
  67. phoneme O:
  68. vwl starttype #o endtype #o
  69. length 230
  70. ChangeIfNotStressed(O)
  71. FMT(vdiph2/o_oo)
  72. endphoneme
  73. phoneme 2
  74. vwl starttype #o endtype #e
  75. length 130
  76. FMT(vowel/oe)
  77. endphoneme
  78. phoneme 2:
  79. vwl starttype #o endtype #e
  80. length 230
  81. ChangeIfNotStressed(2)
  82. FMT(vowel/oe_4)
  83. endphoneme
  84. phoneme 3
  85. vwl starttype #e endtype #u
  86. length 130
  87. FMT(vowel/e_6)
  88. endphoneme
  89. phoneme 3:
  90. vwl starttype #e endtype #u
  91. length 230
  92. ChangeIfNotStressed(2)
  93. FMT(vowel/e_6)
  94. endphoneme
  95. phoneme 4
  96. vwl starttype d endtype d
  97. length 130
  98. WAV(x/d)
  99. endphoneme
  100. phoneme 4:
  101. vwl starttype d endtype d
  102. length 230
  103. ChangeIfNotStressed(4)
  104. WAV(x/d_)
  105. endphoneme
  106. phoneme 5
  107. vwl starttype t endtype h
  108. length 130
  109. WAV(ustop/th_rfx)
  110. endphoneme
  111. phoneme 5:
  112. vwl starttype t endtype h
  113. length 230
  114. ChangeIfNotStressed(5)
  115. WAV(ustop/th_rfx2)
  116. endphoneme
  117. phoneme 8
  118. vwl starttype #@ endtype #@
  119. length 130
  120. FMT(vowel/@)
  121. endphoneme
  122. phoneme 8:
  123. vwl starttype #@ endtype #@
  124. length 230
  125. ChangeIfNotStressed(2)
  126. FMT(vowel/@)
  127. endphoneme
  128. phoneme 9
  129. vwl starttype #e endtype #a
  130. length 130
  131. FMT(vowel/@_2)
  132. endphoneme
  133. phoneme 9:
  134. vwl starttype #e endtype #a
  135. length 230
  136. ChangeIfNotStressed(9)
  137. FMT(vowel/@_4)
  138. endphoneme
  139. phoneme u
  140. vwl starttype #u endtype #u
  141. length 130
  142. FMT(vowel/u_2)
  143. endphoneme
  144. phoneme u:
  145. vwl starttype #u endtype #u
  146. length 230
  147. ChangeIfNotStressed(u)
  148. FMT(vowel/u_bck)
  149. endphoneme
  150. phoneme U
  151. vwl starttype #u endtype #u
  152. length 110
  153. FMT(vowel/u_2)
  154. endphoneme
  155. phoneme y
  156. vwl starttype #@ endtype #@
  157. length 130
  158. FMT(vowel/y##)
  159. endphoneme
  160. phoneme y:
  161. vwl starttype #i endtype #i
  162. length 230
  163. ChangeIfNotStressed(y)
  164. FMT(vowel/yy_4)
  165. endphoneme
  166. phoneme W
  167. vwl starttype #@ endtype #@
  168. length 130
  169. FMT(vowel/y#_3)
  170. endphoneme
  171. phoneme W:
  172. vwl starttype #@ endtype #@
  173. length 130
  174. ChangeIfNotStressed(W)
  175. FMT(vowel/y#_3)
  176. endphoneme
  177. phoneme aI
  178. vwl starttype #a endtype #i
  179. length 170
  180. FMT(vdiph/ai_7)
  181. endphoneme
  182. phoneme aI:
  183. vwl starttype #a endtype #i
  184. length 230
  185. ChangeIfNotStressed(aI)
  186. FMT(vdiph/ai_7)
  187. endphoneme
  188. phoneme eI
  189. vwl starttype #e endtype #i
  190. length 170
  191. FMT(vdiph/ei)
  192. endphoneme
  193. phoneme eI:
  194. vwl starttype #e endtype #i
  195. length 230
  196. ChangeIfNotStressed(eI)
  197. FMT(vdiph/ei)
  198. endphoneme
  199. phoneme aU
  200. vwl starttype #a endtype #u
  201. length 170
  202. FMT(vdiph/aau)
  203. endphoneme
  204. phoneme aU:
  205. vwl starttype #a endtype #u
  206. length 230
  207. ChangeIfNotStressed(aU)
  208. FMT(vdiph/aau)
  209. endphoneme
  210. phoneme oU
  211. vwl starttype #o endtype #u
  212. length 170
  213. FMT(vdiph/ou_3)
  214. endphoneme
  215. phoneme oU: // long version for óf
  216. vwl starttype #o endtype #u
  217. length 230
  218. ChangeIfNotStressed(oU)
  219. FMT(vdiph/ou_3)
  220. endphoneme
  221. phoneme Yy
  222. vwl starttype #@ endtype #i
  223. length 150
  224. FMT(vdiph/y#i_2)
  225. endphoneme
  226. phoneme Y
  227. vwl starttype #@ endtype #i
  228. length 150
  229. FMT(vdiph/y#i_2)
  230. endphoneme
  231. phoneme Yy:
  232. vwl starttype #@ endtype #i
  233. length 220
  234. ChangeIfNotStressed(Yy)
  235. FMT(vdiph/y#i_2)
  236. endphoneme
  237. phoneme OI
  238. vwl starttype #o endtype #i
  239. length 210
  240. FMT(vdiph/oi)
  241. endphoneme
  242. phoneme yI
  243. vwl starttype #i endtype #i
  244. length 180
  245. FMT(vowel/yy_4)
  246. endphoneme
  247. // Consonants
  248. //===========
  249. phoneme m#
  250. vcd blb nas
  251. lengthmod 6
  252. ipa m#
  253. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  254. FMT(m/m#_)
  255. endphoneme
  256. phoneme M
  257. vcd blb nas
  258. lengthmod 6
  259. ipa m#
  260. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  261. FMT(m/m#_)
  262. endphoneme
  263. phoneme n#
  264. vcd alv nas
  265. lengthmod 6
  266. ipa n#
  267. Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
  268. NextVowelStarts
  269. VowelStart(n/n@)
  270. VowelStart(n/na)
  271. VowelStart(n/ne)
  272. VowelStart(n/ni)
  273. VowelStart(n/no)
  274. VowelStart(n/nu)
  275. EndSwitch
  276. FMT(n/n#_)
  277. endphoneme
  278. phoneme n^#
  279. vcd pal nas pzd
  280. lengthmod 6
  281. ipa ɲ#
  282. Vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate
  283. FMT(n^/n^#_)
  284. endphoneme
  285. phoneme N#
  286. vcd vel nas
  287. lengthmod 6
  288. ipa ŋ#
  289. Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
  290. NextVowelStarts
  291. VowelStart(nn/nn@)
  292. VowelStart(nn/nna)
  293. VowelStart(nn/nne)
  294. VowelStart(nn/nni)
  295. VowelStart(nn/nno)
  296. VowelStart(nn/nnu)
  297. EndSwitch
  298. FMT(nn/nn#_)
  299. endphoneme
  300. phoneme l#
  301. vls alv frc
  302. lengthmod 3
  303. ipa l#
  304. WAV(ufric/l#, 25)
  305. endphoneme
  306. phoneme tl#
  307. vls alv stp
  308. lengthmod 2
  309. ipa tl#
  310. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  311. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  312. WAV(ufric/tl#, 50)
  313. endphoneme
  314. phoneme r# // used for [r] when not preceding a vowel
  315. liquid
  316. lengthmod 2 //
  317. ipa r#
  318. FMT(r3/r#_) addWav(r3/rx)
  319. // before n r3/r_n+r3/rx
  320. endphoneme
  321. phoneme b
  322. vls blb stp
  323. lengthmod 5
  324. Vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11
  325. Vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
  326. WAV(x/b)
  327. endphoneme
  328. phoneme d
  329. vls alv stp
  330. lengthmod 5
  331. Vowelin f1=2 f2=1700 -300 300 f3=-100 80
  332. Vowelout f1=2 f2=1700 -300 300 f3=-100 80
  333. IF nextPh(isPause2) THEN
  334. WAV(x/d_)
  335. ENDIF
  336. WAV(x/d, 80)
  337. endphoneme
  338. phoneme g
  339. vls vel stp
  340. lengthmod 5
  341. Vowelin f1=2 f2=2300 200 300 f3=-300 80
  342. Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  343. IF nextPh(isPause2) THEN
  344. WAV(x/g_)
  345. ENDIF
  346. WAV(x/g2, 150)
  347. endphoneme
  348. phoneme H
  349. vls glt frc
  350. ipa h
  351. WAV(h/h_phr)
  352. endphoneme
  353. phoneme v // no fricative noise
  354. import_phoneme base1/v#
  355. voicingswitch f
  356. endphoneme
  357. phoneme s2 // 2nd part of geminated s
  358. import_phoneme consonants/s2
  359. endphoneme