Files
espeak-ng/phsource/ph_english
T
jonsd ebf0535e6d [1.43.57]
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
2010-07-18 22:43:04 +00:00

460 lines
6.8 KiB
Plaintext

phoneme t2 // [t] which doesn't reduce
import_phoneme base/t
endphoneme
phoneme t# // reduced [t] as in "city"
vcd alv stop
ipa ɾ
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 nextPhW(isVowel) THEN
ELSE
IF prevPh(isNotVowel) THEN
ChangePhoneme(l/)
ELSE
ChangePhoneme(l/2)
ENDIF
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
ipa ɹ
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
phoneme z/2 // used for 's suffix
vcd alv frc sibilant
lengthmod 6
IF prevPh(isSibilant) THEN
InsertPhoneme(I2)
ENDIF
IF prevPh(isVoiced) THEN
ELSE
ChangePhoneme(s)
ENDIF
ChangePhoneme(z)
endphoneme
//*******************************************************************
// VOWELS
//*******************************************************************
phoneme @ // Schwa
vowel starttype #@ endtype #@
unstressed
length 140
IfNextVowelAppend(r-)
IF thisPh(isWordEnd) THEN
FMT(vowel/@_6)
ENDIF
FMT(vowel/@)
endphoneme
phoneme 3 // Schwa, used for rhotic schwa in American
CALL @
ipa ə
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 160
ChangeIfDiminished(a#)
IF thisPh(isUnstressed) THEN
FMT(vowel/a_7)
ENDIF
FMT(vowel/a)
endphoneme
phoneme a#
vowel starttype #@ endtype #@
ipa ɐ
unstressed
length 150
FMT(vowel/a#_3)
endphoneme
phoneme aa // 'bath' etc.
vowel starttype #a endtype #a
ipa a
length 185
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
ipa ɑː
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
ipa ɔː
length 240
IfNextVowelAppend(r-)
FMT(vowel/oo_en)
endphoneme
phoneme o@
vowel starttype #o endtype #o
ipa ɔː
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
ipa əʊ
length 220
FMT(vdiph/@u_en)
endphoneme
phoneme aI
vowel starttype #a endtype #i
length 240
IF nextPh(#a) OR nextPh(#o) THEN
AppendPhoneme(;)
ENDIF
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 280
IfNextVowelAppend(r-)
FMT(vwl_en/aI@)
endphoneme
phoneme aU@
vowel starttype #a endtype #@
length 280
IfNextVowelAppend(r-)
FMT(vwl_en/aU@)
endphoneme
phoneme IR // used for "ir" when [3:] is split (Scottish)
vowel starttype #@ endtype #@
length 190
ipa əɹ
IF nextPhW(r-) THEN
ipa ə
ENDIF
IfNextVowelAppend(r-)
FMT(vowelr/V_r)
endphoneme
phoneme VR // used for "or"/"ur" when [3:] is split (Scottish)
vowel starttype #@ endtype #@
length 210
ipa ʌɹ
IF nextPhW(r-) THEN
ipa ʌ
ENDIF
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