Files
espeak-ng/phsource/ph_english_us
T

395 lines
5.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//*******************************************************************
// VOWELS
//*******************************************************************
phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype #@ endtype #@
ipa ɚ
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
ipa əl
unstressed
length 160
FMT(vwl_en/@L)
endphoneme
phoneme a
vowel starttype #e endtype #@
ipa æ
length 210
ChangeIfDiminished(a#)
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 a#
vowel starttype #@ endtype #@
ipa ɐ
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#
vowel starttype #i endtype #i
unstressed
length 160
// FMT(vowel/@_fnt)
FMT(vowel/ii#)
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
ipa ɑː
ChangeIfDiminished(@)
IF nextPh(r) THEN
ChangePhoneme(O:)
// 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 200
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
ipa ɑːɹ
IF nextPh(r-) THEN
ipa ɑː
ENDIF
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
ipa ɔːɹ
IF nextPhW(r) THEN
ipa ɔː
ENDIF
IfNextVowelAppend(r)
FMT(vwl_en_us/oor)
endphoneme
phoneme o@
vowel starttype #o endtype #@
length 250
ipa oːɹ
IF nextPhW(r) THEN
ipa oː
ENDIF
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_6)
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
IF nextPh(#a) OR nextPh(#o) THEN
AppendPhoneme(;)
ENDIF
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
ipa ɛɹ
IF nextPhW(r) THEN
ipa ɛ
ENDIF
IfNextVowelAppend(r)
FMT(vwl_en_us/er)
endphoneme
phoneme i@
vowel starttype #i endtype #@
length 250
FMT(vdiph2/ii@) // don't append [r] before a vowel
endphoneme
phoneme i@3
vowel starttype #i endtype #@
length 280
ipa ɪɹ
IF nextPhW(r) THEN
ipa ɪ
ENDIF
IfNextVowelAppend(r)
FMT(vwl_en_us/ir)
endphoneme
phoneme U@
vowel starttype #@ endtype #@
length 250
ipa ʊɹ
IF nextPhW(r-) THEN
ipa ʊ
ENDIF
IfNextVowelAppend(r-)
FMT(vwl_en_us/ur)
endphoneme
phoneme aI@
vowel starttype #a endtype #@
length 300
ipa aɪə
IfNextVowelAppend(r-)
FMT(vwl_en_us/ai@)
endphoneme
phoneme aI3
vowel starttype #a endtype #@
length 300
ipa aɪɚ
IfNextVowelAppend(r-)
FMT(vwl_en_us/ai3)
endphoneme
phoneme aU@
vowel starttype #a endtype #@
length 300
ipa aɪʊɹ
IF nextPhW(r) THEN
ipa aɪʊ
ENDIF
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 prevPhW(isVowel) OR prevPhW(n) THEN
IF nextPhW(isVowel) AND nextPh(isUnstressed) THEN
IF next2Ph(n) AND next2Ph(notWordStart) THEN
ELSE
ChangePhoneme(t#)
ENDIF
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
phoneme t2 // [t] which doesn't reduce
import_phoneme base/t
endphoneme