//==================================================== // Spanish - based on Base2 //==================================================== phoneme a vwl starttype #a endtype #a length 190 ChangeIfNotStressed(a/) FMT(vowel/a_4) endphoneme phoneme a/ vwl starttype #a endtype #a length 155 IF thisPh(isWordEnd) THEN FMT(vowel/a_4, 85) ENDIF FMT(vowel/a_4, 95) endphoneme phoneme e vwl starttype #e endtype #e length 190 ChangeIfNotStressed(e/) FMT(vowel/e_mid2) endphoneme phoneme e/ vwl starttype #e endtype #e length 150 FMT(vowel/e_mid2, 90) endphoneme phoneme E vwl starttype #e endtype #e length 175 ChangeIfNotStressed(e/) FMT(vowel/e_mid2) endphoneme phoneme i vwl starttype #i endtype #i length 190 IfNextVowelAppend(;) FMT(vowel/i) endphoneme phoneme o vwl starttype #o endtype #o length 195 ChangeIfNotStressed(o/) IF nextPhW(n) THEN length 160 FMT(vowel/o_mid2) ENDIF FMT(vowel/oo) endphoneme phoneme o/ vwl starttype #o endtype #o length 155 IF thisPh(isWordEnd) THEN FMT(vwl_es/oo_) ENDIF FMT(vowel/oo, 90) endphoneme phoneme u vwl starttype #u endtype #u length 200 FMT(vowel/u_bck2) endphoneme phoneme oI vwl starttype #o endtype #i length 245 IF thisPh(isWordEnd) OR prevPh(r) THEN length 260 FMT(vwl_es/ooi_) ENDIF FMT(vwl_es/ooi) endphoneme phoneme g vcd vel stp lengthmod 5 voicingswitch k Vowelin f1=2 f2=2300 200 300 f3=-300 80 Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk IF nextPh(isVowel) OR nextPh(isRhotic) OR nextPh(isLiquid) THEN IF prevPh(isPause) OR prevPh(isNasal) THEN ELSE ChangePhoneme(Q) ENDIF ENDIF IF PreVoicing THEN FMT(g/xg) ENDIF IF nextPh(isPause2) THEN FMT(g/g_) addWav(x/g_) ENDIF FMT(g/g) addWav(x/g2) // weaker [g] endphoneme phoneme d vcd dnt stp IF nextPh(isVowel) OR nextPh(isRhotic) OR nextPh(j) THEN IF prevPh(isPause) OR prevPh(isNasal) OR prevPh(l) THEN ELSE ChangePhoneme(D) ENDIF ENDIF CALL base2/d endphoneme phoneme b vcd blb stp IF nextPh(isVowel) OR nextPh(isRhotic) OR nextPh(isLiquid) THEN IF prevPh(isPause) OR prevPh(isNasal) THEN ELSE ChangePhoneme(B) ENDIF ENDIF CALL base1/b endphoneme phoneme D vcd dnt frc lengthmod 6 voicingswitch T CALL base1/D IF nextPh(isPause2) THEN FMT(voc/dh_) addWav(vocw/dh, 35) // weaker ENDIF endphoneme phoneme s vls alv frc sib lengthmod 3 voicingswitch z Vowelin f1=0 f2=1700 -300 300 f3=-100 80 Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 IF nextPh(isPause) THEN WAV(ufric/s_, 60) // quieter 's' at end of word ELIF nextPh(p) OR nextPh(t) OR nextPh(k) THEN WAV(ufric/s!) ENDIF WAV(ufric/s, 80) endphoneme phoneme v# // a shorter [v], a little towards [b] vcd lbd frc ipa ʋ lengthmod 6 voicingswitch f Vowelin f1=1 f2=1000 -300 -200 f3=-300 100 Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=10 IF nextPh(isPause2) THEN FMT(voc/v_) addWav(vocw/v, 80) ENDIF FMT(voc/v2) addWav(vocw/v, 80) endphoneme phoneme r vcd alv flp rhotic brkafter ipa ɾ lengthmod 3 IF nextPhW(isVowel) THEN ChangePhoneme(**) ENDIF CALL base1/* endphoneme