phoneme t2 // [t] which doesn't reduce import_phoneme base/t endphoneme phoneme t# // reduced [t] as in "city" vcd alv stop ipa ɾ lengthmod 5 Vowelin f1=1 f2=1700 -300 300 f3=-100 80 Vowelout f1=2 f2=1700 -300 300 f3=-100 80 IF KlattSynth THEN IF PreVoicing THEN FMT(klatt/x_tap) ENDIF FMT(klatt/tap2) addWav(x/d, 70) ENDIF IF PreVoicing THEN FMT(d/x_tap) ENDIF FMT(d/tap2) addWav(x/d, 70) endphoneme phoneme l // use dark [l/2] before not-vowel liquid lengthmod 7 IF nextPhW(isVowel) THEN ELSE IF prevPh(isVowel) OR prevPh(j) OR prevPh(w) THEN ChangePhoneme(l/2) ELSE ChangePhoneme(l/) ENDIF ENDIF CALL base/l endphoneme phoneme g- vcd 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 PreVoicing THEN FMT(g/xg) ENDIF IF nextPh(isPause2) THEN FMT(g/g_) addWav(x/g2_) ENDIF FMT(g/g) addWav(x/g2_) endphoneme phoneme r- // linking r, used in English between certain vowels and a following vowel liquid rhotic ipa ɹ lengthmod 0 NextVowelStarts VowelStart(r2/r2@) VowelStart(r2/r2a) VowelStart(r2/r2e) VowelStart(r2/r2i) VowelStart(r2/r2o) VowelStart(r2/r2u) EndSwitch IF prevPh(isVowel) THEN VowelEnding(r/xr, -60) ENDIF FMT(r/r) endphoneme phoneme z/2 // used for 's suffix vcd alv frc sibilant lengthmod 6 IF prevPh(isSibilant) THEN InsertPhoneme(I2) ENDIF IF prevPh(isVoiced) THEN ELSE ChangePhoneme(s) ENDIF ChangePhoneme(z) endphoneme //******************************************************************* // VOWELS //******************************************************************* phoneme @ // Schwa vowel starttype #@ endtype #@ unstressed length 140 IfNextVowelAppend(r-) IF thisPh(isWordEnd) THEN FMT(vowel/@_6) ENDIF FMT(vowel/@) endphoneme phoneme 3 // Schwa, used for rhotic schwa in American CALL @ ipa ə 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/@) 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/@) endphoneme phoneme @L vowel starttype #@ endtype l unstressed length 160 CALL vowelstart_l FMT(vwl_en/@L) endphoneme phoneme a vowel starttype #a endtype #a length 160 ChangeIfDiminished(a#) IF thisPh(isUnstressed) THEN FMT(vowel/a_7) ENDIF FMT(vowel/a) endphoneme phoneme a# vowel starttype #@ endtype #@ ipa ɐ unstressed length 150 FMT(vowel/a#_3) endphoneme phoneme aa // 'bath' etc. vowel starttype #a endtype #a ipa a length 185 IfNextVowelAppend(r-) FMT(vowel/a) endphoneme phoneme E vowel starttype #e endtype #e length 140 ChangeIfDiminished(I2) FMT(vowel/ee_5) endphoneme phoneme I vowel starttype #i endtype #i length 130 IfNextVowelAppend(;) FMT(vowel/ii_2) endphoneme phoneme I2 vowel starttype #i endtype #i unstressed length 130 IfNextVowelAppend(;) FMT(vowel/ii_4) endphoneme phoneme i // optional variant of [I] for end of words vowel starttype #i endtype #i ipa ɪ length 140 IfNextVowelAppend(;) FMT(vowel/ii_7) endphoneme phoneme 0 vowel starttype #o endtype #o length 140 ChangeIfDiminished(@) FMT(vowel/0) endphoneme phoneme V vowel starttype #a endtype #@ length 140 ChangeIfDiminished(@) FMT(vowel/V_2) endphoneme phoneme U vowel starttype #o endtype #o length 150 FMT(vowel/uu) endphoneme phoneme A: vowel starttype #a endtype #a length 230 IfNextVowelAppend(r-) FMT(vowel/aa_2) endphoneme phoneme A@ // Used for [A:] when followed by 'r' vowel starttype #a endtype #a ipa ɑː length 230 IfNextVowelAppend(r-) FMT(vowel/aa_2) endphoneme phoneme 3: vowel starttype #@ endtype #@ length 210 IfNextVowelAppend(r-) ChangeIfDiminished(@) FMT(vowel/3_en) endphoneme phoneme i: vowel starttype #i endtype #i length 175 IfNextVowelAppend(;) IF prevPh(w) THEN VowelStart(w/wi2) ENDIF FMT(vowel/i_en) endphoneme phoneme O: vowel starttype #o endtype #o length 230 ChangeIfDiminished(@) FMT(vowel/oo_en) endphoneme phoneme O vowel starttype #o endtype #o length 200 ChangeIfDiminished(@) FMT(vowel/oo_en) endphoneme phoneme O@ vowel starttype #o endtype #o ipa ɔː length 240 IfNextVowelAppend(r-) FMT(vowel/oo_en) endphoneme phoneme o@ vowel starttype #o endtype #o ipa ɔː length 250 IfNextVowelAppend(r-) FMT(vowel/oo_en) endphoneme phoneme u: vowel starttype #u endtype #u length 210 IF nextPh(l/2) THEN FMT(vwl_en/u_L) ENDIF FMT(vdiph2/uw_2) endphoneme phoneme aU vowel starttype #a endtype #u length 230 FMT(vdiph/au) endphoneme phoneme oU vowel starttype #@ endtype #u ipa əʊ length 220 FMT(vdiph/@u_en) endphoneme phoneme aI vowel starttype #a endtype #i length 240 IF nextPh(#a) THEN AppendPhoneme(;) ENDIF FMT(vdiph/ai_2) endphoneme phoneme eI vowel starttype #e endtype #i length 210 FMT(vdiph/eei) endphoneme phoneme OI vowel starttype #o endtype #i length 230 FMT(vdiph/ooi) endphoneme phoneme e@ vowel starttype #e endtype #@ length 230 IfNextVowelAppend(r-) FMT(vowel/ee_1) endphoneme phoneme i@ vowel starttype #i endtype #@ length 250 IfNextVowelAppend(r-) FMT(vdiph2/ii@) endphoneme phoneme i@3 vowel starttype #i endtype #@ length 250 IfNextVowelAppend(r-) FMT(vdiph2/ii@) endphoneme phoneme U@ vowel starttype #u endtype #@ length 200 IfNextVowelAppend(r-) IF thisPh(isUnstressed) THEN FMT(vdiph2/8@) ENDIF FMT(vdiph2/uu@) endphoneme phoneme aI@ vowel starttype #a endtype #@ length 280 IfNextVowelAppend(r-) FMT(vwl_en/aI@) endphoneme phoneme aU@ vowel starttype #a endtype #@ length 280 IfNextVowelAppend(r-) FMT(vwl_en/aU@) endphoneme phoneme IR // used for "ir" when [3:] is split (Scottish) vowel starttype #@ endtype #@ length 190 ipa əɹ IF nextPhW(r-) THEN ipa ə ENDIF IfNextVowelAppend(r-) FMT(vowelr/V_r) endphoneme phoneme VR // used for "or"/"ur" when [3:] is split (Scottish) vowel starttype #@ endtype #@ length 210 ipa ʌɹ IF nextPhW(r-) THEN ipa ʌ ENDIF IfNextVowelAppend(r-) FMT(vowelr/V3_r) endphoneme phoneme o: vowel starttype #o endtype #o length 220 FMT(vowel/o) endphoneme phoneme A~ vowel starttype #a endtype #a length 260 FMT(vnasal/aa_n2) endphoneme phoneme O~ vowel starttype #o endtype #o length 240 FMT(vnasal/oo_n2) endphoneme phoneme e: vowel starttype #e endtype #e length 210 FMT(vowel/e) endphoneme