Files
espeak-ng/phsource/ph_english
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

419 lines
6.2 KiB
Plaintext

phoneme t2 // [t] which doesn't reduce
import_phoneme base/t
endphoneme
phoneme t# // reduced [t] as in "city"
vcd alv stop
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80
IF KlattSynth THEN
IF PreVoicing THEN
FMT(klatt/x_tap)
ENDIF
FMT(klatt/tap2) addWav(x/d, 70)
ENDIF
IF PreVoicing THEN
FMT(d/x_tap)
ENDIF
FMT(d/tap2) addWav(x/d, 70)
endphoneme
phoneme l // use dark [l/2] before not-vowel
liquid
lengthmod 7
IF nextPh(isNotVowel) THEN
ChangePhoneme(l/2)
ENDIF
CALL base/l
endphoneme
phoneme g-
vcd vel stop
lengthmod 5
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
IF PreVoicing THEN
FMT(g/xg)
ENDIF
IF nextPh(isPause2) THEN
FMT(g/g_) addWav(x/g2_)
ENDIF
FMT(g/g) addWav(x/g2_)
endphoneme
phoneme r- // linking r, used in English between certain vowels and a following vowel
liquid rhotic
lengthmod 0
NextVowelStarts
VowelStart(r2/r2@)
VowelStart(r2/r2a)
VowelStart(r2/r2e)
VowelStart(r2/r2i)
VowelStart(r2/r2o)
VowelStart(r2/r2u)
EndSwitch
IF prevPh(isVowel) THEN
VowelEnding(r/xr, -60)
ENDIF
FMT(r/r)
endphoneme
//*******************************************************************
// VOWELS
//*******************************************************************
phoneme @ // Schwa
vowel starttype #@ endtype #@
unstressed
length 140
IfNextVowelAppend(r-)
FMT(vowel/@)
endphoneme
phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype #@ endtype #@
unstressed
length 140
IfNextVowelAppend(r-)
FMT(vowel/@)
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/@)
endphoneme
phoneme @5 // Schwa, changes to U before a vowel
vowel starttype #@ endtype #@
unstressed
length 140
IF nextPh(isVowel) OR nextPh(isPause) THEN
ChangePhoneme(U)
ENDIF
FMT(vowel/@)
endphoneme
phoneme @L
vowel starttype #@ endtype l
unstressed
length 160
CALL vowelstart_l
FMT(vwl_en/@L)
endphoneme
phoneme a
vowel starttype #a endtype #a
length 150
ChangeIfDiminished(a2)
FMT(vowel/a)
endphoneme
phoneme a2
vowel starttype #@ endtype #@
unstressed
length 150
FMT(vowel/a#_3)
endphoneme
phoneme aa // 'bath' etc.
vowel starttype #a endtype #a
length 150
IfNextVowelAppend(r-)
FMT(vowel/a)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 140
ChangeIfDiminished(I2)
FMT(vowel/ee_5)
endphoneme
phoneme I
vowel starttype #i endtype #i
length 130
IfNextVowelAppend(;)
FMT(vowel/ii_2)
endphoneme
phoneme I2
vowel starttype #i endtype #i
unstressed
length 130
IfNextVowelAppend(;)
FMT(vowel/ii_4)
endphoneme
phoneme i // optional variant of [I] for end of words
vowel starttype #i endtype #i
length 140
IfNextVowelAppend(;)
FMT(vowel/ii_en)
endphoneme
phoneme 0
vowel starttype #o endtype #o
length 140
ChangeIfDiminished(@)
FMT(vowel/0)
endphoneme
phoneme V
vowel starttype #a endtype #@
length 140
ChangeIfDiminished(@)
FMT(vowel/V_2)
endphoneme
phoneme U
vowel starttype #o endtype #o
length 150
FMT(vowel/uu)
endphoneme
phoneme A:
vowel starttype #a endtype #a
length 230
IfNextVowelAppend(r-)
FMT(vowel/aa_2)
endphoneme
phoneme A@ // Used for [A:] when followed by 'r'
vowel starttype #a endtype #a
length 230
IfNextVowelAppend(r-)
FMT(vowel/aa_2)
endphoneme
phoneme 3:
vowel starttype #@ endtype #@
length 210
IfNextVowelAppend(r-)
ChangeIfDiminished(@)
FMT(vowel/3_en)
endphoneme
phoneme i:
vowel starttype #i endtype #i
length 175
IfNextVowelAppend(;)
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i_en)
endphoneme
phoneme O:
vowel starttype #o endtype #o
length 230
ChangeIfDiminished(@)
FMT(vowel/oo_en)
endphoneme
phoneme O
vowel starttype #o endtype #o
length 200
ChangeIfDiminished(@)
FMT(vowel/oo_en)
endphoneme
phoneme O@
vowel starttype #o endtype #o
length 240
IfNextVowelAppend(r-)
FMT(vowel/oo_en)
endphoneme
phoneme o@
vowel starttype #o endtype #o
length 250
IfNextVowelAppend(r-)
FMT(vowel/oo_en)
endphoneme
phoneme u:
vowel starttype #u endtype #u
length 210
IF nextPh(l/2) THEN
FMT(vwl_en/u_L)
ENDIF
FMT(vdiph2/uw_2)
endphoneme
phoneme aU
vowel starttype #a endtype #u
length 230
FMT(vdiph/au)
endphoneme
phoneme oU
vowel starttype #@ endtype #u
length 220
FMT(vdiph/@u_en)
endphoneme
phoneme aI
vowel starttype #a endtype #i
length 230
FMT(vdiph/ai_2)
endphoneme
phoneme eI
vowel starttype #e endtype #i
length 210
FMT(vdiph/eei)
endphoneme
phoneme OI
vowel starttype #o endtype #i
length 230
FMT(vdiph/ooi)
endphoneme
phoneme e@
vowel starttype #e endtype #@
length 230
IfNextVowelAppend(r-)
FMT(vowel/ee_1)
endphoneme
phoneme i@
vowel starttype #i endtype #@
length 250
IfNextVowelAppend(r-)
FMT(vdiph2/ii@)
endphoneme
phoneme i@3
vowel starttype #i endtype #@
length 250
IfNextVowelAppend(r-)
FMT(vdiph2/ii@)
endphoneme
phoneme U@
vowel starttype #u endtype #@
length 200
IfNextVowelAppend(r-)
FMT(vdiph2/uu@)
endphoneme
phoneme aI@
vowel starttype #a endtype #@
length 270
IfNextVowelAppend(r-)
FMT(vwl_en/aI@)
endphoneme
phoneme aU@
vowel starttype #a endtype #@
length 270
IfNextVowelAppend(r-)
FMT(vwl_en/aU@)
endphoneme
phoneme IR // used for "ir" when [3:] is split (Scottish)
vowel starttype #@ endtype #@
length 190
IfNextVowelAppend(r-)
FMT(vowelr/V_r)
endphoneme
phoneme VR // used for "or"/"ur" when [3:] is split (Scottish)
vowel starttype #@ endtype #@
length 210
IfNextVowelAppend(r-)
FMT(vowelr/V3_r)
endphoneme
phoneme o:
vowel starttype #o endtype #o
length 220
FMT(vowel/o)
endphoneme
phoneme A~
vowel starttype #a endtype #a
length 260
FMT(vnasal/aa_n2)
endphoneme
phoneme O~
vowel starttype #o endtype #o
length 240
FMT(vnasal/oo_n2)
endphoneme
phoneme e:
vowel starttype #e endtype #e
length 210
FMT(vowel/e)
endphoneme