phoneme l import_phoneme en/l endphoneme phoneme r liquid trill lengthmod 7 NextVowelStarts VowelStart(r/r@, -15) VowelStart(r/ra, -15) VowelStart(r/re, -15) VowelStart(r/ri, -15) VowelStart(r/ro, -15) VowelStart(r/ru, -15) EndSwitch IF nextPh(isNotVowel) THEN ChangePhoneme(r/) ENDIF IF prevPhW(t) OR prevPhW(p) OR prevPhW(k) THEN FMT(r/trr) ENDIF FMT(r/rr) endphoneme phoneme r/ // used for [r] when not preceding a vowel liquid lengthmod 2 IF nextPh(n) THEN FMT(r3/r_n) addWav(r3/rx) ENDIF FMT(r3/r_) addWav(r3/rx) endphoneme phoneme ts import_phoneme consonants/ts endphoneme phoneme dZ; vcd pal afr sibilant palatal voicingswitch tS; lengthmod 5 Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70 IF PreVoicing THEN FMT(dzh/xdzh) ENDIF IF nextPh(isPause2) THEN FMT(dzh/dzh_) addWav(x/dzh_) ENDIF endphoneme phoneme tS; vls pal afr sibilant palatal voicingswitch dZ; lengthmod 2 Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 WAV(ustop/ts_pzd) endphoneme // Palatalized versions of consonants phoneme t import_phoneme pl/t endphoneme phoneme t; import_phoneme pl/t; endphoneme phoneme d import_phoneme pl/d endphoneme phoneme d; import_phoneme pl/d; endphoneme phoneme m; import_phoneme ro/m; endphoneme phoneme I^ // "silent i", palatilizes the preceding consonant vowel starttype #i endtype #i unstressed nonsyllabic Length 70 IF nextPh(isVowel) THEN ChangePhoneme(;) ENDIF IF prevPh(m;) THEN FMT(vwl_ro/mi) ENDIF FMT(vwl_ru/ii-) endphoneme //******************************************************************* // VOWELS //******************************************************************* phoneme i vowel starttype #i endtype #i Length 100 FMT(vwl_ru/i) endphoneme phoneme I# vowel starttype #i endtype #i Length 80 IF nextVowel(isMaxStress) THEN ChangePhoneme(I) ENDIF IF thisPh(isMaxStress) THEN ChangePhoneme(i) ENDIF FMT(vwl_ru/ii#) endphoneme phoneme y vowel starttype #i endtype #i Length 100 FMT(vwl_ru/i#) endphoneme phoneme I vowel starttype #i endtype #i Length 80 IF thisPh(isMaxStress) THEN IF prevPhW(j) THEN ChangePhoneme(a) ELSE ChangePhoneme(i) ENDIF ENDIF FMT(vwl_ru/ii) endphoneme phoneme I2 vowel starttype #i endtype #i Length 80 IF thisPh(isMaxStress) THEN ChangePhoneme(e) ENDIF IF prevPhW(isPalatal) THEN ChangePhoneme(I) ENDIF FMT(vwl_ru/ii) endphoneme phoneme I3 vowel starttype #i endtype #i Length 80 IF thisPh(isMaxStress) THEN IF prevPhW(j) THEN ChangePhoneme(e) ELSE ChangePhoneme(ja) ENDIF ENDIF IF prevPhW(isPalatal) THEN ChangePhoneme(I) ENDIF FMT(vwl_ru/ii) endphoneme phoneme E vowel starttype #e endtype #e Length 200 FMT(vwl_ru/e) endphoneme phoneme E# vowel starttype #e endtype #e Length 100 IF thisPh(isMaxStress) THEN IF prevPhW(j) THEN ChangePhoneme(e) ELSE ChangePhoneme(E) ENDIF ENDIF FMT(vwl_ru/E#) endphoneme phoneme E2 vowel starttype #e endtype #e Length 80 IF nextVowel(isMaxStress) THEN IF prevPh(j) THEN ChangePhoneme(I3) ELSE ChangePhoneme(E#) ENDIF ENDIF IF thisPh(isMaxStress) THEN IF prevPhW(j) THEN ChangePhoneme(e) ELSE ChangePhoneme(E) ENDIF ENDIF FMT(vwl_ru/E@) endphoneme phoneme E3 vowel starttype #e endtype #e Length 80 IF nextVowel(isMaxStress) THEN ChangePhoneme(I) ENDIF IF thisPh(isMaxStress) THEN ChangePhoneme(e) ENDIF IF prevPhW(isPalatal) THEN ChangePhoneme(E2) ENDIF FMT(vwl_ru/E@) endphoneme phoneme o vowel starttype #o endtype #o Length 100 FMT(vwl_ru/o) endphoneme phoneme O vowel starttype #o endtype #o Length 80 IF prevPhW(isPalatal) THEN ChangePhoneme(8) ENDIF IF thisPh(isMaxStress) THEN ChangePhoneme(o) ENDIF FMT(vwl_ru/oo) endphoneme phoneme u vowel starttype #u endtype #u Length 80 FMT(vwl_ru/u) endphoneme phoneme u# vowel starttype #u endtype #u Length 80 FMT(vwl_ru/u#) endphoneme phoneme u" vowel starttype #u endtype #u Length 150 FMT(vwl_ru/u#u) endphoneme phoneme 8 vowel starttype #o endtype #o Length 150 ChangeIfNotStressed(V) FMT(vwl_ru/8) endphoneme phoneme e vowel starttype #e endtype #e Length 100 FMT(vwl_ru/ee) endphoneme phoneme ju vowel starttype #u endtype #u Length 190 FMT(vwl_ru/ju) endphoneme phoneme ja vowel starttype #i endtype #a Length 200 FMT(vwl_ru/ja) endphoneme phoneme V# vowel starttype #a endtype #@ unstressed Length 80 // IF nextVowel(isMaxStress) THEN // not needed? because V# is only used at end-of-word // ChangePhoneme(I3) // ENDIF IF thisPh(isMaxStress) THEN IF prevPhW(j) THEN ChangePhoneme(A) ELSE ChangePhoneme(ja) ENDIF ENDIF IF prevPhW(isPalatal) THEN ChangePhoneme(V) ENDIF FMT(vowel/V_2) endphoneme phoneme Y // will not be used in future vowel starttype #u endtype #u unstressed Length 140 FMT(vowel/ii#) endphoneme phoneme A vowel starttype #a endtype #a Length 100 FMT(vwl_ru/a) endphoneme phoneme a vowel starttype #a endtype #a Length 100 IF prevPhW(j) THEN ELSE IF thisPh(isMaxStress) THEN IF prevPhW(isPalatal) THEN ChangePhoneme(ja) ELSE ChangePhoneme(A) ENDIF ELSE IF prevPhW(isPalatal) THEN ChangePhoneme(I) ENDIF ENDIF ENDIF IF thisPh(isWordEnd) THEN FMT(vowel/a#_3) ENDIF FMT(vwl_ru/aa) endphoneme phoneme V vowel starttype #a endtype #@ Length 80 unstressed IF nextVowel(isMaxStress) THEN ChangePhoneme(a) ENDIF IF thisPh(isMaxStress) THEN IF prevPhW(j) THEN ChangePhoneme(a) ELIF prevPhW(isPalatal) THEN ChangePhoneme(ja) ELSE ChangePhoneme(A) ENDIF ENDIF FMT(vowel/V_2) endphoneme phoneme a# vowel starttype #a endtype #a Length 100 FMT(vowel/a#_3) endphoneme phoneme R4 liquid lengthmod 6 Vowelin f1=0 f2=1500 -300 300 f3=-200 80 rms=60 brk Vowelout f1=2 f2=1500 -300 300 f3=-200 80 FMT(r3/r_ru2) addWav(r3/r_ru, 50) endphoneme