//========================================================= // Faroese //========================================================= phoneme : // Lengthen previous vowel by "length" virtual length 110 endphoneme // Vowels //======= phoneme i vwl starttype #i endtype #i length 130 IfNextVowelAppend(;) FMT(vowel/ii_6) endphoneme phoneme i: vwl starttype #i endtype #i length 230 IfNextVowelAppend(;) ChangeIfNotStressed(i) FMT(vowel/i_4) endphoneme phoneme I vwl starttype #i endtype #i length 130 IfNextVowelAppend(;) FMT(vowel/ii) endphoneme phoneme I: vwl starttype #i endtype #i length 230 IfNextVowelAppend(;) ChangeIfNotStressed(I) FMT(vowel/ii) endphoneme phoneme E vwl starttype #e endtype #e length 130 FMT(vowel/e_mid) endphoneme phoneme E: vwl starttype #e endtype #e length 130 FMT(vowel/e_e) endphoneme phoneme A vwl starttype #@ endtype #@ length 130 FMT(vowel/a#_2) endphoneme phoneme a vwl starttype #a endtype #a length 130 FMT(vowel/a#_2) endphoneme phoneme a: vwl starttype #a endtype #a length 230 ChangeIfNotStressed(a) FMT(vowel/aa_8) endphoneme phoneme O vwl starttype #o endtype #o length 130 FMT(vowel/oo_5) endphoneme phoneme O: vwl starttype #o endtype #o length 230 ChangeIfNotStressed(O) FMT(vdiph2/o_oo) endphoneme phoneme 2 vwl starttype #o endtype #e length 130 FMT(vowel/oe) endphoneme phoneme 2: vwl starttype #o endtype #e length 230 ChangeIfNotStressed(2) FMT(vowel/oe_4) endphoneme phoneme 3 vwl starttype #e endtype #u length 130 FMT(vowel/e_6) endphoneme phoneme 3: vwl starttype #e endtype #u length 230 ChangeIfNotStressed(2) FMT(vowel/e_6) endphoneme phoneme 4 vwl starttype d endtype d length 130 WAV(x/d) endphoneme phoneme 4: vwl starttype d endtype d length 230 ChangeIfNotStressed(4) WAV(x/d_) endphoneme phoneme 5 vwl starttype t endtype h length 130 WAV(ustop/th_rfx) endphoneme phoneme 5: vwl starttype t endtype h length 230 ChangeIfNotStressed(5) WAV(ustop/th_rfx2) endphoneme phoneme 8 vwl starttype #@ endtype #@ length 130 FMT(vowel/@) endphoneme phoneme 8: vwl starttype #@ endtype #@ length 230 ChangeIfNotStressed(2) FMT(vowel/@) endphoneme phoneme 9 vwl starttype #e endtype #a length 130 FMT(vowel/@_2) endphoneme phoneme 9: vwl starttype #e endtype #a length 230 ChangeIfNotStressed(9) FMT(vowel/@_4) endphoneme phoneme u vwl starttype #u endtype #u length 130 FMT(vowel/u_2) endphoneme phoneme u: vwl starttype #u endtype #u length 230 ChangeIfNotStressed(u) FMT(vowel/u_bck) endphoneme phoneme U vwl starttype #u endtype #u length 110 FMT(vowel/u_2) endphoneme phoneme y vwl starttype #@ endtype #@ length 130 FMT(vowel/y##) endphoneme phoneme y: vwl starttype #i endtype #i length 230 ChangeIfNotStressed(y) FMT(vowel/yy_4) endphoneme phoneme W vwl starttype #@ endtype #@ length 130 FMT(vowel/y#_3) endphoneme phoneme W: vwl starttype #@ endtype #@ length 130 ChangeIfNotStressed(W) FMT(vowel/y#_3) endphoneme phoneme aI vwl starttype #a endtype #i length 170 FMT(vdiph/ai_7) endphoneme phoneme aI: vwl starttype #a endtype #i length 230 ChangeIfNotStressed(aI) FMT(vdiph/ai_7) endphoneme phoneme eI vwl starttype #e endtype #i length 170 FMT(vdiph/ei) endphoneme phoneme eI: vwl starttype #e endtype #i length 230 ChangeIfNotStressed(eI) FMT(vdiph/ei) endphoneme phoneme aU vwl starttype #a endtype #u length 170 FMT(vdiph/aau) endphoneme phoneme aU: vwl starttype #a endtype #u length 230 ChangeIfNotStressed(aU) FMT(vdiph/aau) endphoneme phoneme oU vwl starttype #o endtype #u length 170 FMT(vdiph/ou_3) endphoneme phoneme oU: // long version for óf vwl starttype #o endtype #u length 230 ChangeIfNotStressed(oU) FMT(vdiph/ou_3) endphoneme phoneme Yy vwl starttype #@ endtype #i length 150 FMT(vdiph/y#i_2) endphoneme phoneme Y vwl starttype #@ endtype #i length 150 FMT(vdiph/y#i_2) endphoneme phoneme Yy: vwl starttype #@ endtype #i length 220 ChangeIfNotStressed(Yy) FMT(vdiph/y#i_2) endphoneme phoneme OI vwl starttype #o endtype #i length 210 FMT(vdiph/oi) endphoneme phoneme yI vwl starttype #i endtype #i length 180 FMT(vowel/yy_4) endphoneme // Consonants //=========== phoneme m# vcd blb nas lengthmod 6 ipa m# Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk FMT(m/m#_) endphoneme phoneme M vcd blb nas lengthmod 6 ipa m# Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk FMT(m/m#_) endphoneme phoneme n# vcd alv nas lengthmod 6 ipa n# Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk NextVowelStarts VowelStart(n/n@) VowelStart(n/na) VowelStart(n/ne) VowelStart(n/ni) VowelStart(n/no) VowelStart(n/nu) EndSwitch FMT(n/n#_) endphoneme phoneme n^# vcd pal nas pzd lengthmod 6 ipa ɲ# Vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate FMT(n^/n^#_) endphoneme phoneme N# vcd vel nas lengthmod 6 ipa ŋ# Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk NextVowelStarts VowelStart(nn/nn@) VowelStart(nn/nna) VowelStart(nn/nne) VowelStart(nn/nni) VowelStart(nn/nno) VowelStart(nn/nnu) EndSwitch FMT(nn/nn#_) endphoneme phoneme l# vls alv frc lengthmod 3 ipa l# WAV(ufric/l#, 25) endphoneme phoneme tl# vls alv stp lengthmod 2 ipa tl# Vowelin f1=0 f2=1700 -300 300 f3=-100 80 Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 WAV(ufric/tl#, 50) endphoneme phoneme r# // used for [r] when not preceding a vowel liquid lengthmod 2 // ipa r# FMT(r3/r#_) addWav(r3/rx) // before n r3/r_n+r3/rx endphoneme phoneme b vls blb stp lengthmod 5 Vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11 Vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk WAV(x/b) endphoneme phoneme d vls alv stp lengthmod 5 Vowelin f1=2 f2=1700 -300 300 f3=-100 80 Vowelout f1=2 f2=1700 -300 300 f3=-100 80 IF nextPh(isPause2) THEN WAV(x/d_) ENDIF WAV(x/d, 80) endphoneme phoneme g vls vel stp lengthmod 5 Vowelin f1=2 f2=2300 200 300 f3=-300 80 Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk IF nextPh(isPause2) THEN WAV(x/g_) ENDIF WAV(x/g2, 150) endphoneme phoneme H vls glt frc ipa h WAV(h/h_phr) endphoneme phoneme v // no fricative noise import_phoneme base1/v# voicingswitch f endphoneme phoneme s2 // 2nd part of geminated s import_phoneme consonants/s2 endphoneme