mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 13:38:47 +00:00
Indicate language changes in IPA phoneme output. Phoneme definitions FMT(), second parameter is amplitude percentage. Phoneme definitions CALL(), If phoneme type is not defined, copy the static attributes from the called phoneme. Unpronouncable word check: stop when an apostrophe is reached. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@250 d46cf337-b52f-0410-862d-fd96e6ae7743
122 lines
2.1 KiB
Plaintext
122 lines
2.1 KiB
Plaintext
|
||
//====================================================
|
||
// Spanish - based on Base2
|
||
//====================================================
|
||
|
||
phoneme e
|
||
vowel starttype #e endtype #e
|
||
length 170
|
||
FMT(vowel/e_mid2)
|
||
endphoneme
|
||
|
||
phoneme E
|
||
vowel starttype #e endtype #e
|
||
length 180
|
||
FMT(vowel/e_mid)
|
||
endphoneme
|
||
|
||
phoneme O
|
||
vowel starttype #o endtype #o
|
||
length 170
|
||
FMT(vowel/oo)
|
||
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 thisPh(isWordStart) AND nextPh(isVowel) 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 thisPh(isWordStart) AND nextPh(isVowel) 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 thisPh(isWordStart) AND nextPh(isVowel) 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, 40) // 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)
|
||
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
|
||
|
||
|
||
|
||
|