mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
This is a step in the transition to using a common IPA-based phoneme table for the pronunciations. It allows the base phonemes to import the IPA versions during this transition phase.
194 lines
3.2 KiB
Plaintext
194 lines
3.2 KiB
Plaintext
|
||
//====================================================
|
||
// 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
|
||
|
||
|