//========================================================= // Icelandic //========================================================= phoneme : // Lengthen previous vowel by "length" virtual length 110 endphoneme // Vowels //======= phoneme i vowel starttype #i endtype #i length 130 IfNextVowelAppend(;) FMT(vowel/i_4) endphoneme phoneme I vowel starttype #i endtype #i length 130 IfNextVowelAppend(;) FMT(vowel/ii) endphoneme phoneme e vowel starttype #e endtype #e length 130 ChangeIfNotStressed(E) FMT(vowel/e_e) endphoneme phoneme E vowel starttype #e endtype #e length 130 FMT(vowel/e_mid) endphoneme phoneme a vowel starttype #a endtype #a length 130 ChangeIfNotStressed(&) FMT(vowel/a_3) endphoneme phoneme & vowel starttype #@ endtype #@ length 130 FMT(vowel/a#_2) endphoneme phoneme o vowel starttype #o endtype #o length 130 ChangeIfNotStressed(O) FMT(vdiph2/o_oo) endphoneme phoneme O vowel starttype #o endtype #o length 130 FMT(vowel/oo_5) endphoneme phoneme u vowel starttype #u endtype #u length 130 FMT(vowel/u_bck) endphoneme phoneme y vowel starttype #i endtype #i length 130 FMT(vowel/yy_4) endphoneme phoneme y# vowel starttype #@ endtype #@ length 130 FMT(vowel/y##) endphoneme phoneme W vowel starttype #@ endtype #@ length 130 FMT(vowel/y#_3) endphoneme phoneme aI vowel starttype #a endtype #i length 170 FMT(vdiph/ai_7) endphoneme phoneme eI vowel starttype #e endtype #i length 170 FMT(vdiph/ei) endphoneme phoneme aU vowel starttype #a endtype #u length 170 FMT(vdiph/au_4) endphoneme phoneme oU vowel starttype #o endtype #u length 170 FMT(vdiph/ou_3) endphoneme phoneme oU2 // long version for óf vowel starttype #o endtype #u length 230 FMT(vdiph/ou_3) endphoneme phoneme Yy vowel starttype #@ endtype #i length 150 FMT(vdiph/y#i_2) endphoneme // Consonants //=========== phoneme m# vcd blb nasal lengthmod 6 Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk FMT(m/m#_) endphoneme phoneme n# vcd alv nasal lengthmod 6 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 nasal palatal lengthmod 6 Vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate FMT(n^/n^#_) endphoneme phoneme N# vcd vel nasal lengthmod 6 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 WAV(ufric/ll, 25) endphoneme phoneme tl# vls alv stop lengthmod 2 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 // FMT(r3/r#_) addWav(r3/rx) // before n r3/r_n+r3/rx endphoneme phoneme b vls blb stop 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 stop 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 stop 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 v // no fricative noise import_phoneme base/v# voicingswitch f endphoneme phoneme s2 // 2nd part of geminated s import_phoneme consonants/s2 endphoneme