blob: 65dc955bb28f34764faaf77b2ecf54a58b22f643 [file] [log] [blame]
//====================================================
// 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