//==================================================== // Italian, last update 5 july 2016 by Chris //==================================================== phoneme : // Lengthen previous vowel by "length" virtual length 50 endphoneme phoneme a vowel starttype #a endtype #a length 160 ChangeIfNotStressed(a/) IF thisPh(isWordEnd) AND prevPhW(t) AND thisPh(isStressed) THEN FMT(vowel/a) ENDIF IF nextPhW(o/) OR prevPhW(isVowel) OR prevPhW(j) THEN FMT(vowel/a) ENDIF FMT(vwl_it/a) endphoneme phoneme a/ vowel starttype #a endtype #a length 150 IF prevPhW(l) THEN FMT(vowel/a_7, 80) ENDIF IF thisPh(isWordEnd) THEN FMT(vowel/a_8, 70) ENDIF IF thisPh(isWordStart) THEN FMT(vwl_it/a, 85) ENDIF FMT(vowel/a_8, 80) endphoneme phoneme e vowel starttype #e endtype #e length 155 ChangeIfNotStressed(e/) FMT(vowel/e_2) endphoneme phoneme e/ vowel starttype #e endtype #e length 140 IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN FMT(vowel/e_mid2) ELIF thisPh(isWordEnd) THEN FMT(vowel/e, 65) ENDIF FMT(vowel/e) endphoneme phoneme E vowel starttype #e endtype #e length 150 ChangeIfUnstressed(e/) FMT(vwl_it/e_open) endphoneme phoneme i vowel starttype #i endtype #i length 155 IfNextVowelAppend(;) IF thisPh(isWordEnd) AND thisPh(isNotStressed) AND NOT prevPhW(E) THEN ChangePhoneme(I) ENDIF FMT(vwl_it/i) endphoneme phoneme i# // Used for 'gia_' where [i] is only spoken if stressed vowel starttype #i endtype #i length 145 ChangeIfNotStressed(NULL) ChangePhoneme(i) endphoneme phoneme I vowel starttype #i endtype #i length 140 IfNextVowelAppend(;) FMT(vowel/i_4) endphoneme phoneme o vowel starttype #o endtype #o length 160 ChangeIfNotStressed(o/) FMT(vwl_it/o) endphoneme phoneme o/ vowel starttype #o endtype #o length 145 IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN FMT(vwl_it/o_open, 80) ENDIF IF thisPh(isWordEnd) AND NOT prevPhW(a) THEN FMT(vwl_it/o, 65) ENDIF FMT(vowel/o, 90) endphoneme phoneme O vowel starttype #o endtype #o length 150 ChangeIfUnstressed(o/) FMT(vwl_it/o_open) endphoneme phoneme u vowel starttype #u endtype #u length 160 ChangeIfNotStressed(U) FMT(vwl_it/u) endphoneme phoneme U vowel starttype #u endtype #u length 140 FMT(vowel/u_bck2) endphoneme phoneme aU vowel starttype #a endtype #u length 270 FMT(vdiph/au_4) endphoneme phoneme aI vowel starttype #a endtype #i length 250 FMT(vdiph/ai) endphoneme phoneme oI vowel starttype #o endtype #i length 230 FMT(vdiph/oi) endphoneme // CONSONANTS //========== phoneme l liquid lengthmod 7 IF nextPh(isNotVowel) THEN ChangePhoneme(l/) ENDIF NextVowelStarts VowelStart(l/l@) VowelStart(l/la, -10) VowelStart(l/le, -15) VowelStart(l/li, -15) VowelStart(l/lo, -20) VowelStart(l/lu, -17) EndSwitch IF prevPh(#@) THEN VowelEnding(l/xl, -50) ELIF prevPh(isVowel) THEN VowelEnding(l/xl, -40) ENDIF IF prevPh(isPause) THEN FMT(l/_l) ENDIF IF prevPh(t) THEN FMT(l/tl) ENDIF IF prevPh(l/) THEN FMT(l/l_long) ENDIF FMT(l/l) endphoneme phoneme l^ import_phoneme base/l^ Length 130 endphoneme phoneme ts vls alv afr sibilant voicingswitch s lengthmod 2 Vowelin f1=0 f2=1700 -300 300 f3=-100 60 len=60 Vowelout f1=0 f2=1700 -300 250 f3=-100 70 rms=18 IF nextPh(isPause2) THEN WAV(ustop/ts_) ENDIF WAV(ustop/ts) endphoneme phoneme ts2 vls alv afr sibilant voicingswitch dz lengthmod 9 Vowelin f1=2 f2=1700 -300 300 f3=-200 120 len=10 Vowelout f1=0 f2=1700 -300 250 f3=-100 170 rms=20 brk IF nextPh(isStressed) THEN Vowelin f1=0 f2=1700 -300 300 f3=-100 60 len=60 Vowelout f1=0 f2=1700 -300 250 f3=-100 70 rms=14 WAV(ustop/ts_, 80) ENDIF WAV(ustop/ts_, 70) endphoneme phoneme dz import_phoneme consonants/dz voicingswitch z lengthmod 3 endphoneme phoneme ss vls alv frc sibilant voicingswitch z lengthmod 6 Vowelin f1=2 f2=1700 -300 300 f3=-100 80 Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 length 170 WAV(ufric/s, 86) endphoneme