Files
espeak-ng/phsource/ph_english_us
T
jonsd 20f52f0301 [1.42.21]
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
2009-12-20 07:48:33 +00:00

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