mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Fix Mbrola translation for nl2 (phoneme [w]) and de4 (phoneme [?]). Fix bug, lang=tr, letter capital-I-dot not recognized on Windows. Only use "sonic" speed-up above 450wpm. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@258 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, 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
|
||
|
||
|
||
|
||
|