phoneme N vcd vel nas lengthmod 8 // longer than 'n' IfNextVowelAppend(g) CALL base1/N endphoneme //******************************************************************* // VOWELS //******************************************************************* phoneme a vwl starttype #a endtype #a length 160 ChangeIfDiminished(a#) FMT(vowel/a) endphoneme phoneme E vwl starttype #e endtype #e length 150 IF nextPhW(n) THEN ChangeIfDiminished(@) ELSE ChangeIfDiminished(I2) ENDIF FMT(vowel/e) endphoneme phoneme I vwl starttype #i endtype #i length 140 IfNextVowelAppend(;) IF nextPh(l) OR nextPh(l/2) THEN FMT(vowel/ii) ENDIF FMT(vowel/ii_6) endphoneme phoneme I2 import_phoneme I unstressed endphoneme phoneme i // optional variant of [I] for end of words vwl starttype #i endtype #i length 220 IfNextVowelAppend(;) FMT(vowel/i) endphoneme phoneme 0 vwl starttype #o endtype #o length 140 ChangeIfDiminished(@) FMT(vowel/oo_4) endphoneme phoneme 02 // becomes V in en-us vwl starttype #o endtype #o length 140 ChangePhoneme(V) endphoneme phoneme V vwl starttype #o endtype #o ipa ʊ length 140 ChangeIfDiminished(@) FMT(vowel/o-_2) endphoneme phoneme U vwl starttype #u endtype #u length 150 IfNextVowelAppend(_|) FMT(vowel/uu) endphoneme phoneme a# vwl starttype #@ endtype #@ ipa ɐ unstressed length 140 FMT(vowel/a#_3) endphoneme phoneme A: vwl starttype #a endtype #a length 240 IfNextVowelAppend(r-) FMT(vowel/aa_5) endphoneme phoneme A@ vwl starttype #a endtype #a ipa ɑː length 240 IfNextVowelAppend(r-) FMT(vowel/aa_5) endphoneme phoneme aa // 'bath' etc. vwl starttype #a endtype #a ipa a length 160 FMT(vowel/a) endphoneme phoneme 3: vwl starttype #@ endtype #@ length 250 ChangeIfDiminished(@) IfNextVowelAppend(r-) FMT(vowel/y#) endphoneme phoneme i: vwl starttype #e endtype #i ipa ei length 220 IfNextVowelAppend(;) FMT(vdiph2/ei_3) endphoneme phoneme O: vwl starttype #o endtype #o length 240 ChangeIfDiminished(@) IfNextVowelAppend(r-) FMT(vowel/oo_1) endphoneme phoneme O@ vwl starttype #o endtype #@ ipa ɔː length 240 IfNextVowelAppend(r-) FMT(vowel/oo_1) endphoneme phoneme O vwl starttype #o endtype #o length 150 ChangeIfDiminished(@) FMT(vowel/oo_1) endphoneme phoneme u: vwl starttype #u endtype #u ipa əu length 200 FMT(vdiph/@u) endphoneme phoneme aU vwl starttype #a endtype #u ipa æʊ length 230 FMT(vdiph/eeu_3) endphoneme phoneme oU vwl starttype #@ endtype #u ipa ʌʊ length 220 FMT(vdiph/Vu_2) endphoneme phoneme aI vwl starttype #o endtype #i ipa ɔɪ length 240 FMT(vdiph/ooi_3) endphoneme phoneme eI vwl starttype #@ endtype #i ipa eː length 240 FMT(vdiph/@i_3) endphoneme phoneme OI vwl starttype #o endtype #i ipa oɪ length 230 FMT(vdiph/oi) endphoneme phoneme e@ vwl starttype #@ endtype #@ ipa ɜː length 240 IfNextVowelAppend(r-) FMT(vowel/3_en) endphoneme phoneme i@ vwl starttype #i endtype #@ length 240 IfNextVowelAppend(r-) FMT(vdiph2/i@_2) endphoneme phoneme i@3 vwl starttype #i endtype #@ length 240 IfNextVowelAppend(r-) FMT(vdiph2/i@_2) endphoneme phoneme U@ vwl starttype #u endtype #@ length 200 IfNextVowelAppend(r-) FMT(vdiph2/uu@) endphoneme phoneme aI@ vwl starttype #a endtype #@ length 280 IfNextVowelAppend(r-) FMT(vwl_en/ooi@) endphoneme phoneme aI3 vwl starttype #a endtype #@ length 280 ChangePhoneme(aI@) endphoneme phoneme aU@ vwl starttype #a endtype #@ length 280 IfNextVowelAppend(r-) FMT(vwl_en/aU@) endphoneme