mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
New format for phoneme source files. Update phoneme data for Klatt synthesizer. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@235 d46cf337-b52f-0410-862d-fd96e6ae7743
324 lines
4.9 KiB
Plaintext
324 lines
4.9 KiB
Plaintext
|
|
//*******************************************************************
|
|
// VOWELS
|
|
//*******************************************************************
|
|
|
|
|
|
phoneme 3 // Schwa, used for rhotic schwa in American
|
|
vowel starttype #@ endtype #@
|
|
unstressed
|
|
length 210
|
|
IfNextVowelAppend(r-)
|
|
FMT(vwl_en_us/3_us)
|
|
endphoneme
|
|
|
|
|
|
phoneme @ // Schwa
|
|
vowel starttype #@ endtype #@
|
|
unstressed
|
|
length 130
|
|
IF nextPh(isRhotic) THEN
|
|
ChangePhoneme(3)
|
|
ENDIF
|
|
FMT(vowel/@_4)
|
|
endphoneme
|
|
|
|
phoneme @/ // Schwa, end of word
|
|
vowel starttype #@ endtype #@
|
|
unstressed
|
|
length 130
|
|
FMT(vowel/@_low2)
|
|
endphoneme
|
|
|
|
phoneme @2 // Schwa, changes to I before a vowel
|
|
vowel starttype #@ endtype #@
|
|
unstressed
|
|
length 120
|
|
IF nextPh(isVowel) THEN
|
|
ChangePhoneme(I2)
|
|
ENDIF
|
|
FMT(vowel/@_low2)
|
|
endphoneme
|
|
|
|
phoneme @L
|
|
vowel starttype #@ endtype l
|
|
unstressed
|
|
length 160
|
|
FMT(vwl_en/@L)
|
|
endphoneme
|
|
|
|
|
|
phoneme a
|
|
vowel starttype #e endtype #@
|
|
length 210
|
|
|
|
ChangeIfDiminished(a2)
|
|
|
|
IF nextPh(isNasal) THEN
|
|
FMT(vnasal/ee_n2)
|
|
ENDIF
|
|
FMT(vwl_en_us/a)
|
|
endphoneme
|
|
|
|
|
|
phoneme aa // 'bath' etc.
|
|
import_phoneme en_us/a
|
|
endphoneme
|
|
|
|
|
|
phoneme a2
|
|
vowel starttype #@ endtype #@
|
|
unstressed
|
|
length 150
|
|
FMT(vowel/a#_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme E
|
|
vowel starttype #e endtype #e
|
|
length 195
|
|
ChangeIfDiminished(I2)
|
|
FMT(vwl_en_us/ee)
|
|
endphoneme
|
|
|
|
|
|
phoneme I
|
|
vowel starttype #i endtype #i
|
|
length 160
|
|
IfNextVowelAppend(;)
|
|
ChangeIfDiminished(I2)
|
|
FMT(vowel/ii_4)
|
|
endphoneme
|
|
|
|
|
|
phoneme I2
|
|
vowel starttype #i endtype #i
|
|
unstressed
|
|
length 160
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/ii#_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme i // optional variant of [I] for end of words
|
|
vowel starttype #i endtype #i
|
|
unstressed
|
|
length 170
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/ii_final)
|
|
endphoneme
|
|
|
|
|
|
phoneme 0
|
|
vowel starttype #a endtype #a
|
|
length 200
|
|
ChangeIfDiminished(@)
|
|
IF nextPh(r) THEN
|
|
FMT(vwl_en_us/oor)
|
|
ENDIF
|
|
FMT(vowel/aa_8)
|
|
endphoneme
|
|
|
|
|
|
phoneme V
|
|
vowel starttype #a endtype #@
|
|
length 170
|
|
ChangeIfDiminished(@)
|
|
FMT(vowel/V_6)
|
|
endphoneme
|
|
|
|
|
|
phoneme U
|
|
vowel starttype #o endtype #o
|
|
length 145
|
|
FMT(vowel/8_2)
|
|
endphoneme
|
|
|
|
|
|
phoneme A:
|
|
vowel starttype #a endtype #a
|
|
length 210
|
|
IF nextPh(r) THEN
|
|
FMT(vwl_en_us/ar)
|
|
ENDIF
|
|
FMT(vowel/aa_8)
|
|
endphoneme
|
|
|
|
|
|
phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
|
|
vowel starttype #a endtype #a
|
|
length 260
|
|
IfNextVowelAppend(r-)
|
|
FMT(vwl_en_us/ar)
|
|
endphoneme
|
|
|
|
|
|
phoneme 3:
|
|
vowel starttype #@ endtype #@
|
|
length 240
|
|
IfNextVowelAppend(r-)
|
|
FMT(vwl_en_us/3_us2)
|
|
endphoneme
|
|
|
|
|
|
phoneme i:
|
|
vowel starttype #i endtype #i
|
|
length 170
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/i_en)
|
|
endphoneme
|
|
|
|
|
|
phoneme O:
|
|
vowel starttype #o endtype #o
|
|
length 210
|
|
ChangeIfDiminished(@)
|
|
IF nextPh(r) THEN
|
|
FMT(vwl_en_us/oor)
|
|
ENDIF
|
|
FMT(vowel/0_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme O@
|
|
vowel starttype #o endtype #@
|
|
length 250
|
|
IfNextVowelAppend(r)
|
|
FMT(vwl_en_us/oor)
|
|
endphoneme
|
|
|
|
|
|
phoneme o@
|
|
vowel starttype #o endtype #@
|
|
length 250
|
|
IfNextVowelAppend(r)
|
|
FMT(vwl_en_us/or)
|
|
endphoneme
|
|
|
|
|
|
phoneme O
|
|
vowel starttype #o endtype #o
|
|
length 200
|
|
ChangeIfDiminished(@)
|
|
FMT(vowel/aa#)
|
|
endphoneme
|
|
|
|
|
|
phoneme u:
|
|
vowel starttype #u endtype #u
|
|
length 190
|
|
FMT(vdiph2/uw)
|
|
endphoneme
|
|
|
|
|
|
phoneme aU
|
|
vowel starttype #a endtype #o
|
|
length 235
|
|
FMT(vdiph/aoo)
|
|
endphoneme
|
|
|
|
|
|
phoneme oU
|
|
vowel starttype #@ endtype #u
|
|
length 230
|
|
FMT(vdiph/8u)
|
|
endphoneme
|
|
|
|
|
|
phoneme aI
|
|
vowel starttype #a endtype #i
|
|
length 250
|
|
FMT(vdiph/aae)
|
|
endphoneme
|
|
|
|
|
|
phoneme eI
|
|
vowel starttype #e endtype #i
|
|
length 230
|
|
FMT(vdiph2/ei_4)
|
|
endphoneme
|
|
|
|
|
|
phoneme OI
|
|
vowel starttype #o endtype #i
|
|
length 285
|
|
FMT(vdiph/ooi_4)
|
|
endphoneme
|
|
|
|
|
|
phoneme e@
|
|
vowel starttype #e endtype #@
|
|
length 280
|
|
IfNextVowelAppend(r)
|
|
FMT(vwl_en_us/er)
|
|
endphoneme
|
|
|
|
|
|
phoneme i@3
|
|
vowel starttype #i endtype #@
|
|
length 280
|
|
IfNextVowelAppend(r)
|
|
FMT(vwl_en_us/ir)
|
|
endphoneme
|
|
|
|
|
|
phoneme U@
|
|
vowel starttype #@ endtype #@
|
|
length 250
|
|
IfNextVowelAppend(r-)
|
|
FMT(vwl_en_us/ur)
|
|
endphoneme
|
|
|
|
|
|
phoneme aI@
|
|
vowel starttype #a endtype #@
|
|
length 300
|
|
IfNextVowelAppend(r-)
|
|
FMT(vwl_en_us/ai@)
|
|
endphoneme
|
|
|
|
|
|
phoneme aU@
|
|
vowel starttype #a endtype #@
|
|
length 300
|
|
IfNextVowelAppend(r-)
|
|
FMT(vwl_en_us/aU@)
|
|
endphoneme
|
|
|
|
|
|
//==============
|
|
// Consonants
|
|
//==============
|
|
|
|
phoneme r/ // used for [r] when not preceding a vowel
|
|
liquid
|
|
lengthmod 2 //
|
|
// formants NULL
|
|
endphoneme
|
|
|
|
|
|
phoneme t
|
|
vls alv stop
|
|
voicingswitch d
|
|
lengthmod 2
|
|
|
|
IF prevPh(isVowel) OR prevPh(n) THEN
|
|
IF nextPh(isVowel) AND nextPh(isUnstressed) AND thisPh(notWordStart) AND nextPh(notWordStart) THEN
|
|
ChangePhoneme(t#)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
|
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
|
|
|
IF nextPh(isPause2) THEN
|
|
WAV(ustop/t_)
|
|
ELIF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
|
|
WAV(ustop/tr)
|
|
ELIF nextPh(@-) THEN
|
|
WAV(ustop/t_dnt, 50)
|
|
ENDIF
|
|
WAV(ustop/t, 90)
|
|
endphoneme
|
|
|