ph_icelandic 5.0 KB

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