Files
espeak-ng/phsource/ph_spanish
T
jonsd 8165a3029c [1.48.12]
Language changes: an, de, en, it, pt, ta, gu, hi, pa, ur.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@386 d46cf337-b52f-0410-862d-fd96e6ae7743
2014-11-01 14:54:28 +00:00

195 lines
3.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//====================================================
// 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
phoneme k
vls vel stop
lengthmod 2
voicingswitch g
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(#i) OR nextPh(;) THEN
WAV(ustop/ki_unasp2, 50)
// ELIF nextPh(isRhotic) THEN
// WAV(ustop/kr)
// ELIF nextPh(l) THEN
// WAV(ustop/kl)
ENDIF
WAV(ustop/k_unasp2, 50)
endphoneme
phoneme t
vls dnt stop
lengthmod 2
voicingswitch d
Vowelin f1=0 f2=1600 -300 300 f3=-100 80
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_unasp3, 30)
ENDIF
WAV(ustop/t_unasp3, 60)
endphoneme