Files
espeak-ng/phsource/ph_english
T
Reece H. Dunn 822732dfbf Revert the ipa phoneme changes.
These are causing problems with several of the voices.

Revert "ipa: n (vcd alv nas)." commit 8869c72d97.
Revert "ipa: m (vcd blb nas)." commit 581b366bb0.
Revert "ipa: ɳ (vcd rfx nas)." commit 7cc3a6c0c2.
Revert "ipa: ɲ (vcd pal nas)." commit eda7bc03d6.
Revert "ipa: ŋ (vcd vel nas)." commit efeca3b275.
Revert "ipa: document the supported pulmonic consonants in ph_ipa as an IPA chart."
       commit 675cec2fac.
Revert "ipa: ɹ (vcd alv apr)." commit 0f41dae8e9.
Revert "ipa: t (vls alv stp)." commit a49729cd70.
Revert "ipa: ensure that each phoneme has an ipa annotation."
       commit 3cdb952ea3.
Revert "ipa: t̪ (vls dnt stp)." commit dd30a61186.
Revert "ipa: d (vcd alv stp)" commit a96f748470.
Revert "ipa: d̪ (vcd dnt stp)" commit 39f7e7b2f6.
Revert "ipa: d͡ʒ (vcd pla sib afr)" commit 16be8f19bf.
Revert "ipa: d͡ʑ (vcd alp sib afr)." commit 883187cfb5.
Revert "ipa: ɟ (vcd pal stp)." commit 2e682bcdc5.
Revert "ipa: g (vcd vel stp)." commit 679b939474.
Revert "ipa: b (vcd blb stp)." commit fb6bd384ee.
Revert "ipa: j (vcd pal apr)." commit 1d36966b9f.
Revert "ipa: w (vcd ptr vel apr)." commit efade0fc71.
Revert "ipa: β (vcd blb frc)." commit 063ee44a4f.
Revert "ipa: v (vcd lbd frc)." commit 3374b13ad6.
Revert "ipa: ʋ (vcd lbd apr)." commit 0a55fe6ad4.
Revert "ipa: fix the 'Other Symbols' table."
       commit 440fb6d4bb.
Revert "ipa: ð (vcd dnt frc)." commit 6eb518ee0f.
Revert "ipa: d (vcd alv frc)." commit 0574f488c3.
Revert "ipa: ʒ (vcd pla frc)." commit 7312b1b2a2.
Revert "ipa: ʐ (vcd rfx frc)." commit dc937cf1de.
Revert "ipa: ʑ (vcd alp sib frc)." commit 8b55428ece.
Revert "ipa: ʝ (vcd pal frc)." commit 736fa69471.
Revert "ipa: ɣ (vcd vel frc)." commit 237af08312.
Revert "ipa: ʁ (vcd uvl frc)." commit 09601af6f5.
Revert "ipa: t͡ʃ (vls pla sib afr)" commit d170b0c024.
Revert "ipa: t͡ɕ (vls alp sib afr)" commit 88bdbe9256.
Revert "ipa: c (vls pal stp)" commit e836376922.
Revert "ipa: q (vls uvl stp)" commit 695a9007aa.
Revert "ipa: l (vcd alv lat apr)." commit a5e5202ca5.
Revert "ipa: ɫ (vcd alv fzd lat apr)." commit 217eceeb34.
Revert "ipa: ɭ (vcd rfx lat apr)." commit b7428eb443.
Revert "ipa: ʎ (vcd pal lat apr)." commit 74c3ff5c97.
Revert "ipa: ʟ (vcd vel lat apr)." commit 9796200f26.
Revert "ipa: p (vls blb stp)." commit 302decc882.
Revert "ipa: k (vls vel stp)." commit d4a2846837.
Revert "ipa: f (vls lbd frc)." commit 175d3c0299.
Revert "ipa: θ (vls dnt frc)." commit d2a04674e8.
Revert "ipa: s (vls alv sib frc)." commit ce810f3cd8.
Revert "ipa: ʃ (vls pla sib frc)." commit dce61376d8.
Revert "ipa: ʂ (vls rfx sib frc)." commit 1135ff1013.
Revert "ipa: zʲ (vls alv sib frc pzd)." commit d8aa055697.
Revert "ipa: sʲ (vls alv sib frc pzd)." commit e51dc6e61a.
Revert "ipa: ɕ (vls alp sib frc)." commit cc7127d26e.
Revert "ipa: ɬ (vls alv lat frc)." commit e338295e19.
Revert "ipa: ç (vls pal frc)." commit f05a32bf0f.
Revert "ipa: x (vls vel frc)." commit c88c43eecc.
Revert "ipa: χ (vls uvl frc)." commit 5cb8ce12bd.
Revert "ipa: h (vls glt frc)." commit 98355a0f47.
Revert "ipa: t͡s (vls alv sib afr)." commit dd66fe41e3.
Revert "ipa: t͡s (vls alv sib afr)." commit 2c45f60588.
Revert "ipa: d͡z (vcd alv sib afr)" commit 1cd9bf80b3.
Revert "ipa: ʍ (vls ptr vel frc)" commit 923bfdb82c.
Revert "base1: Restore the original eSpeak definitions for /l/. The ipa table versions are causing issues."
       commit 299c91aca1.
2017-05-06 08:29:18 +01:00

652 lines
9.8 KiB
Plaintext

phoneme t2 // [t] which doesn't reduce
vcd alv stp
ChangePhoneme(t)
endphoneme
phoneme t# // reduced [t] as in "city" in en-us
vcd alv stp
ChangePhoneme(t)
endphoneme
phoneme d# // change to [d] or [t] depending on whether previous phoneme is voiced
vls alv stp
IF prevPh(isVoiced) THEN
ChangePhoneme(d)
ELSE
ChangePhoneme(t)
ENDIF
endphoneme
phoneme z# // change to [z] or [s] depending on whether previous phoneme is voiced
vls alv frc sib
IF prevPh(isVoiced) THEN
ChangePhoneme(z)
ELSE
ChangePhoneme(s)
ENDIF
endphoneme
phoneme l // use dark [l/2] before not-vowel
liquid
lengthmod 7
IF NOT nextPhW(isVowel) THEN
IF prevPh(isVowel) OR prevPh(j) OR prevPh(w) THEN
ChangePhoneme(l/2)
ELSE
ChangePhoneme(l/)
ENDIF
ENDIF
CALL base1/l
endphoneme
phoneme r- // linking r, used in English between certain vowels and a following vowel
liquid rhotic
ipa ɹ
IF NOT thisPh(isWordEnd) AND NOT prevPh(@) AND NOT prevPh(3) THEN
ChangePhoneme(r)
ENDIF
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 sib
lengthmod 6
IF prevPh(isSibilant) THEN
InsertPhoneme(I2)
ENDIF
IF NOT prevPh(isVoiced) THEN
ChangePhoneme(s)
ENDIF
ChangePhoneme(z)
endphoneme
phoneme w#
vls glt apr // [h]
ipa ʍ
IF nextPh(isVowel) THEN
NextVowelStarts
VowelStart(w/w@)
VowelStart(w/wa)
VowelStart(w/we)
VowelStart(w/wi)
VowelStart(w/wo)
VowelStart(w/wu)
EndSwitch
ENDIF
WAV(h/hu, 70)
endphoneme
phoneme n
vcd alv nas
ipa n
IF nextPh(isVelar) THEN // /n/ is velarized to /N/ when before velar stops
ChangePhoneme(N)
ENDIF
CALL base1/n
endphoneme
//*******************************************************************
// VOWELS
//*******************************************************************
phoneme @
vwl starttype #@ endtype #@
unstressed
length 140
IfNextVowelAppend(r-)
IF thisPh(isWordEnd) THEN
FMT(vowel/@_6, 90)
ENDIF
FMT(vowel/@)
endphoneme
phoneme 3
CALL @
ipa ə
endphoneme
phoneme @2 // Schwa, changes to I before a vowel. th**e**, used only for "the".
vwl starttype #@ endtype #@
unstressed
length 120
IF nextPh(isVowel) THEN
ChangePhoneme(I2)
ENDIF
ChangePhoneme(@)
endphoneme
phoneme @5 // Schwa, changes to U before a vowel. t**o**, used only for "to".
vwl starttype #@ endtype #@
unstressed
length 140
IF nextPh(isVowel) OR nextPh(isPause) THEN
ChangePhoneme(U)
ENDIF
ChangePhoneme(@)
endphoneme
phoneme @L // simp**le**
vwl starttype #@ endtype l
ipa ə|l
unstressed
length 160
CALL vowelstart_l
FMT(vwl_en/@L)
endphoneme
phoneme a
vwl starttype #a endtype #a
length 160
ChangeIfDiminished(a#)
IF thisPh(isUnstressed) THEN
FMT(vowel/a_8)
ENDIF
FMT(vowel/a)
endphoneme
phoneme a2 // don't reduce to a#
vwl
ChangePhoneme(a)
endphoneme
phoneme a# // **a**bout. This may be \[@\] or may be a more open schwa.
vwl starttype #@ endtype #@
ipa ɐ
unstressed
length 150
IF NOT thisPh(isUnstressed) THEN
ChangePhoneme(a) // syllable has an explicit stress
ENDIF
FMT(vowel/a#_3)
endphoneme
phoneme aa
vwl starttype #a endtype #a
ipa a
length 200
IF MbrolaSynth THEN
ChangePhoneme(A:)
ENDIF
IfNextVowelAppend(r-)
FMT(vowel/a_6, 88)
endphoneme
phoneme E
vwl starttype #e endtype #e
length 140
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vowel/ee_5)
endphoneme
phoneme E# // [@] in unstressed syllables, if next vowel is stressed
vwl starttype #e endtype #e
IF thisPh(isUnstressed) AND nextVowel(isVowel) AND nextVowel(isStressed) THEN
ChangePhoneme(@)
ENDIF
ChangePhoneme(E)
endphoneme
phoneme E2 // does not reduce in unstressed syllables
vwl starttype #e endtype #e
length 140
ChangePhoneme(E) // a second change ([E] to [I2]) won't happen
endphoneme
phoneme I
vwl starttype #i endtype #i
length 130
IfNextVowelAppend(;)
FMT(vowel/ii_2)
endphoneme
phoneme I2 // **i**ntend. As \[I\], but also indicates an unstressed syllable.
vwl starttype #i endtype #i
unstressed
length 130
IF MbrolaSynth THEN
ChangePhoneme(I)
ENDIF
IfNextVowelAppend(;)
IF thisPh(isAfterStress) AND thisPh(isFinalVowel) THEN
FMT(vowel/ii#_3)
ENDIF
FMT(vowel/ii_4)
endphoneme
phoneme I# // used for [I] which may be [@] in some accents
vwl starttype #i endtype #i
unstressed
length 130
IF MbrolaSynth THEN
ChangePhoneme(I)
ENDIF
IfNextVowelAppend(;)
ChangePhoneme(I2)
endphoneme
phoneme i
vwl starttype #i endtype #i
unstressed
ipa i
length 150
IfNextVowelAppend(;)
// IF NOT thisPh(isFinalVowel) THEN
// ChangePhoneme(I)
// ENDIF
FMT(vowel/ii_7)
endphoneme
phoneme 0
vwl starttype #o endtype #o
length 140
ChangeIfDiminished(@)
FMT(vowel/0)
endphoneme
phoneme 0# // [@] in unstressed syllables
vwl starttype #o endtype #o
IF thisPh(isUnstressed) AND nextVowel(isVowel) AND NOT nextVowel(isUnstressed) THEN
ChangePhoneme(@)
ENDIF
ChangePhoneme(0)
endphoneme
phoneme 02 // becomes V in en-us
vwl starttype #o endtype #o
length 140
ChangePhoneme(0)
endphoneme
phoneme O2
vwl starttype #o endtype #o
length 140
ChangePhoneme(0)
endphoneme
phoneme V
vwl starttype #a endtype #@
length 140
ChangeIfDiminished(@)
FMT(vowel/V_2)
endphoneme
phoneme U
vwl starttype #o endtype #o
length 150
IF prevPhW(j) THEN
length 130
FMT(vowel/8_2)
ENDIF
FMT(vowel/uu)
endphoneme
phoneme A:
vwl starttype #a endtype #a
length 230
IfNextVowelAppend(r-)
FMT(vowel/aa_2)
endphoneme
phoneme A@
vwl starttype #a endtype #a
ipa ɑː
length 230
IfNextVowelAppend(r-)
FMT(vowel/aa_2)
endphoneme
phoneme A# // [a] in British [A:] in American
vwl starttype #a endtype #a
ChangePhoneme(a)
endphoneme
phoneme 3:
vwl starttype #@ endtype #@
length 210
IfNextVowelAppend(r-)
ChangeIfDiminished(@)
FMT(vowel/3_en)
endphoneme
phoneme i:
vwl starttype #i endtype #i
length 175
IfNextVowelAppend(;)
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
FMT(vowel/i_en)
endphoneme
phoneme O:
vwl starttype #o endtype #o
length 230
ChangeIfDiminished(@)
FMT(vowel/oo_en)
endphoneme
phoneme O
vwl starttype #o endtype #o
length 200
ChangeIfDiminished(@)
FMT(vowel/oo_en)
endphoneme
phoneme O@
vwl starttype #o endtype #o
ipa ɔː
length 240
IfNextVowelAppend(r-)
FMT(vowel/oo_en)
endphoneme
phoneme o@
vwl starttype #o endtype #o
ipa ɔː
length 250
IF MbrolaSynth THEN
ChangePhoneme(O@)
ENDIF
IfNextVowelAppend(r-)
FMT(vowel/oo_en)
endphoneme
phoneme u:
vwl starttype #u endtype #u
length 210
IF nextPh(l/2) THEN
FMT(vwl_en/u_L)
ENDIF
IF prevPhW(j) AND NOT thisPh(isWordEnd) THEN
length 160
ENDIF
FMT(vdiph2/uw_2)
endphoneme
phoneme aU
vwl starttype #a endtype #u
length 230
FMT(vdiph/au)
endphoneme
phoneme oU
vwl starttype #@ endtype #u
ipa əʊ
length 220
FMT(vdiph/@u_en)
endphoneme
phoneme oU#
vwl
IF thisPh(isStressed) THEN
ChangePhoneme(0)
ENDIF
IF nextVowel(isStressed) OR prevVowel(isStressed) THEN
ChangePhoneme(@)
ENDIF
ChangePhoneme(oU)
endphoneme
phoneme aI
vwl starttype #a endtype #i
length 240
IF nextPh(#a) THEN
AppendPhoneme(;)
ENDIF
FMT(vdiph/ai_2)
endphoneme
phoneme eI
vwl starttype #e endtype #i
length 210
FMT(vdiph/eei)
endphoneme
phoneme OI
vwl starttype #o endtype #i
length 230
FMT(vdiph/ooi)
endphoneme
phoneme e@
vwl starttype #e endtype #@
length 230
IfNextVowelAppend(r-)
FMT(vowel/ee_1)
endphoneme
phoneme i@
vwl starttype #i endtype #@
length 250
IfNextVowelAppend(r-)
FMT(vdiph2/ii@)
endphoneme
phoneme i@3
vwl starttype #i endtype #@
length 250
IF MbrolaSynth THEN
ChangePhoneme(i@)
ENDIF
IfNextVowelAppend(r-)
FMT(vdiph2/ii@)
endphoneme
phoneme U@
vwl starttype #u endtype #@
length 200
IfNextVowelAppend(r-)
IF thisPh(isUnstressed) THEN
FMT(vdiph2/8@)
ENDIF
FMT(vdiph2/uu@)
endphoneme
phoneme aI@ // sc**ie**nce
vwl starttype #a endtype #@
length 280
IfNextVowelAppend(r-)
FMT(vwl_en/aI@)
endphoneme
phoneme aI3
vwl starttype #a endtype #@
length 280
ChangePhoneme(aI@)
endphoneme
phoneme aU@ // h**our**
vwl starttype #a endtype #@
length 280
IfNextVowelAppend(r-)
FMT(vwl_en/aU@)
endphoneme
phoneme IR // used for "ir" when [3:] is split (Scottish)
vwl 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)
vwl starttype #@ endtype #@
length 210
ipa ʌɹ
IF nextPhW(r-) THEN
ipa ʌ
ENDIF
IfNextVowelAppend(r-)
FMT(vowelr/V3_r)
endphoneme
phoneme o:
vwl starttype #o endtype #o
length 220
FMT(vowel/o)
endphoneme
phoneme A~
vwl starttype #a endtype #a
length 260
FMT(vnasal/aa_n2)
endphoneme
phoneme O~
vwl starttype #o endtype #o
length 240
FMT(vnasal/oo_n2)
endphoneme
phoneme e:
vwl starttype #e endtype #e
length 210
FMT(vowel/e)
endphoneme
phoneme e# // **E**XPLORE
vwl
ChangePhoneme(E)
endphoneme
phoneme a#2 // for word 'an'
vwl
IF next2Ph(isVowel) THEN
ChangePhoneme(a#)
ELSE
ChangePhoneme(a)
ENDIF
endphoneme
phoneme @# // TEST: [@] which is slightly more 'front'
vwl starttype #i endtype #i
unstressed
length 130
FMT(vowel/@_3)
endphoneme