//******************************************************************* // VOWELS //******************************************************************* phoneme @ // Schwa vowel starttype #@ endtype #@ unstressed length 140 IfNextVowelAppend(r-) IF thisPh(isWordEnd) THEN FMT(vowel/@_low) ENDIF FMT(vowel/@) endphoneme phoneme 3 // Schwa, used for rhotic schwa in American import_phoneme @ endphoneme phoneme @2 // Schwa, changes to I before a vowel vowel starttype #@ endtype #@ unstressed length 120 IF nextPh(isVowel) THEN ChangePhoneme(I2) ENDIF FMT(vowel/@_low) endphoneme phoneme @5 // Schwa, changes to U before a vowel vowel starttype #@ endtype #@ unstressed length 140 IF nextPh(isVowel) OR nextPh(isPause) THEN ChangePhoneme(U) ENDIF FMT(vowel/@_low) endphoneme phoneme a vowel starttype #a endtype #a length 175 ChangeIfDiminished(a2) FMT(vowel/&) endphoneme phoneme E vowel starttype #e endtype #e length 140 ChangeIfDiminished(I2) FMT(vowel/e_mid) endphoneme phoneme I vowel starttype #i endtype #i length 130 IfNextVowelAppend(;) FMT(vowel/ii) endphoneme phoneme I2 vowel starttype #i endtype #i unstressed length 130 IfNextVowelAppend(;) FMT(vowel/ii) endphoneme phoneme i // optional variant of [I] for end of words vowel starttype #i endtype #i length 140 IfNextVowelAppend(;) FMT(vowel/ii_final) endphoneme phoneme 0 vowel starttype #o endtype #o length 140 ChangeIfDiminished(@) FMT(vowel/0_3) endphoneme phoneme V vowel starttype #a endtype #@ length 140 ChangeIfDiminished(@) FMT(vowel/V_3) endphoneme phoneme U vowel starttype #o endtype #o length 150 FMT(vowel/o-_3) endphoneme phoneme a2 vowel starttype #@ endtype #@ unstressed length 150 IfNextVowelAppend(r-) FMT(vowel/@_low) endphoneme phoneme A: vowel starttype #a endtype #a length 240 IfNextVowelAppend(r-) FMT(vwl_en_rp/aa) endphoneme phoneme A@ vowel starttype #a endtype #a length 240 IfNextVowelAppend(r-) FMT(vwl_en_rp/aa) endphoneme phoneme aa // 'bath' etc. vowel starttype #a endtype #a length 200 FMT(vwl_en_rp/aa) endphoneme phoneme 3: vowel starttype #@ endtype #@ length 210 ChangeIfDiminished(@) IfNextVowelAppend(r-) FMT(vowel/3_3) endphoneme phoneme i: vowel starttype #i endtype #i length 175 IfNextVowelAppend(;) IF prevPh(w) THEN VowelStart(w/wi2) ENDIF FMT(vowel/i) endphoneme phoneme O: vowel starttype #o endtype #o length 230 ChangeIfDiminished(@) IfNextVowelAppend(r-) FMT(vowel/oo_1) endphoneme phoneme O@ vowel starttype #o endtype #@ length 230 IfNextVowelAppend(r-) FMT(vowel/oo_1) endphoneme phoneme O vowel starttype #o endtype #o length 150 ChangeIfDiminished(@) FMT(vowel/oo_en) endphoneme phoneme u: vowel starttype #u endtype #u length 190 FMT(vowel/u_fnt) endphoneme phoneme aU vowel starttype #a endtype #u length 230 FMT(vdiph/au_3) endphoneme phoneme oU vowel starttype #@ endtype #u length 220 FMT(vdiph/@u_2) endphoneme phoneme aI vowel starttype #a endtype #i length 230 FMT(vdiph/ai_6) endphoneme phoneme eI vowel starttype #i endtype #i length 210 FMT(vdiph2/ei_2) endphoneme phoneme OI vowel starttype #o endtype #i length 230 FMT(vdiph/ooi_3) endphoneme phoneme e@ vowel starttype #e endtype #@ length 220 IfNextVowelAppend(r-) FMT(vdiph2/ee@_2) endphoneme phoneme i@ vowel starttype #i endtype #@ length 240 IfNextVowelAppend(r-) FMT(vwl_en_rp/i@) endphoneme phoneme U@ vowel starttype #u endtype #@ length 230 IfNextVowelAppend(r-) FMT(vowel/o_mid) endphoneme phoneme aI@ vowel starttype #a endtype #@ length 270 IfNextVowelAppend(r-) FMT(vwl_en/aI@) endphoneme phoneme aU@ vowel starttype #a endtype #@ length 270 IfNextVowelAppend(r-) FMT(vwl_en_rp/aU@) endphoneme