phoneme i vwl starttype #i endtype #i length 180 IF thisPh(isTranslationGiven) THEN // don't reduce the vowel if phonemes are explicitly given ELSE IF thisPh(isFinalVowel) THEN ChangePhoneme(I) ENDIF IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN ChangePhoneme(I) ENDIF ENDIF FMT(vowel/i_6) endphoneme phoneme I vwl starttype #i endtype #i length 180 FMT(vowel/ii_5) endphoneme phoneme y vwl starttype #u endtype #u length 180 IF thisPh(isTranslationGiven) THEN // don't reduce the vowel if phonemes are explicitly given ELSE IF thisPh(isFinalVowel) THEN ChangePhoneme(Y) ENDIF IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN ChangePhoneme(Y) ENDIF ENDIF FMT(vowel/y_5) endphoneme phoneme Y vwl starttype #u endtype #u length 180 FMT(vowel/u#) endphoneme phoneme e vwl starttype #e endtype #e length 200 IF thisPh(isTranslationGiven) THEN // don't reduce the vowel if phonemes are explicitly given ELSE IF nextPh(isWordEnd) OR next2PhW(isNotVowel) THEN IF nextPh(isRhotic) OR nextPh(isNasal) OR nextPh(l) OR nextPh(L) THEN ChangePhoneme(&) ENDIF ENDIF IF thisPh(isFinalVowel) THEN ChangePhoneme(E) ENDIF IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN ChangePhoneme(E) ENDIF ENDIF FMT(vowel/e_mid2) endphoneme phoneme E vwl starttype #e endtype #e length 200 FMT(vowel/e_mid) endphoneme phoneme & vwl starttype #a endtype #a length 200 FMT(vowel/ee_6) endphoneme phoneme W vwl starttype #@ endtype #@ length 200 FMT(vowel/y#) endphoneme phoneme a vwl starttype #a endtype #a length 200 IF thisPh(isUnstressed) AND thisPh(isWordEnd) THEN FMT(vowel/a#_2) ENDIF FMT(vowel/aa_6) endphoneme phoneme u vwl starttype #u endtype #u length 180 IF thisPh(isTranslationGiven) THEN // don't reduce the vowel if phonemes are explicitly given ELSE IF thisPh(isFinalVowel) THEN ChangePhoneme(U) ENDIF IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN ChangePhoneme(U) ENDIF ENDIF FMT(vowel/u_2) endphoneme phoneme U vwl starttype #u endtype #u length 180 FMT(vowel/uu_2) endphoneme phoneme @ vwl starttype #@ endtype #@ ipa ɯ length 180 FMT(vowel/u#_7) endphoneme phoneme o vwl starttype #o endtype #o length 200 IF thisPh(isTranslationGiven) THEN // don't reduce the vowel if phonemes are explicitly given ELSE IF thisPh(isFinalVowel) THEN ChangePhoneme(O) ENDIF IF nextPh(isNotVowel) AND next2Ph(isNotVowel) THEN ChangePhoneme(O) ENDIF ENDIF FMT(vowel/o_mid) endphoneme phoneme O vwl starttype #o endtype #o length 200 FMT(vowel/oo) endphoneme phoneme : // Lengthen previous vowel by "length" virtual length 140 endphoneme phoneme c vls pal stp lengthmod 2 Vowelin f1=0 f2=2700 200 500 f3=400 80 len=60 Vowelout f1=0 f2=2700 300 500 f3=300 80 IF nextPh(isPause2) THEN WAV(ustop/ki, 80) ENDIF WAV(ustop/ki) endphoneme phoneme J vcd pla stp lengthmod 5 IF PreVoicing THEN FMT(dzh/xdz_pzd) ENDIF Vowelin f1=2 f2=2700 400 600 f3=300 80 Vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1 IF KlattSynth THEN FMT(klatt/dz_pzd) addWav(ustop/ki, 60) ENDIF FMT(dzh/dz_pzd) addWav(ustop/ki, 60) endphoneme phoneme G import_phoneme en/r/ lengthmod 7 endphoneme phoneme R liquid trl lengthmod 6 IF prevPhW(isVowel) AND nextPhW(isVowel) THEN ChangePhoneme(*) ENDIF CALL base1/R endphoneme