//==================================================== // Spanish - based on Base2 //==================================================== phoneme a vowel starttype #a endtype #a length 200 FMT(vowel/a_4) endphoneme phoneme e vowel starttype #e endtype #e length 200 FMT(vowel/e_mid2) endphoneme phoneme E vowel starttype #e endtype #e length 200 FMT(vowel/e_mid2) endphoneme phoneme i vowel starttype #i endtype #i length 190 IfNextVowelAppend(;) FMT(vowel/i) endphoneme phoneme o vowel starttype #o endtype #o length 200 FMT(vowel/oo) endphoneme phoneme O vowel starttype #o endtype #o length 200 FMT(vowel/oo) endphoneme phoneme u vowel starttype #u endtype #u length 200 FMT(vowel/u_bck2) endphoneme phoneme g vcd vel stop 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 stop 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 stop IF nextPh(isVowel) OR nextPh(isRhotic) OR nextPh(isLiquid) THEN IF prevPh(isPause) OR prevPh(isNasal) THEN ELSE ChangePhoneme(B) ENDIF ENDIF CALL base/b endphoneme phoneme D vcd dnt frc lengthmod 6 voicingswitch T CALL base/D IF nextPh(isPause2) THEN FMT(voc/dh_) addWav(vocw/dh, 35) // weaker ENDIF endphoneme phoneme s vls alv frc sibilant 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 base/* endphoneme