Files
espeak-ng/phsource/ph_english_sc
T
jonsd 83bc87a000 [1.46.40]
Command line option --ipa can have option to include Tie or ZWJ characters to disabmiguate multi-letter phoneme names.
Recognize and ignore UTF8-BOM byte sequence at the start of phoneme definition files.
Languages changes: ta, nl, pt.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@306 d46cf337-b52f-0410-862d-fd96e6ae7743
2013-03-03 12:27:43 +00:00

405 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 @ // Schwa
vowel starttype #@ endtype #@
unstressed
length 140
IfNextVowelAppend(r-)
FMT(vowel/@_3)
endphoneme
phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype #@ endtype #@
unstressed
length 140
IF nextPh(isVowel) THEN
ChangePhoneme(@)
ENDIF
IfNextVowelAppend(r-)
IF nextPh(isPause) THEN
FMT(vowelr/V3_r)
ENDIF
FMT(vowel/V)
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/@_3)
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/@_3)
endphoneme
phoneme a
vowel starttype #a endtype #a
length 200
ChangeIfDiminished(a#)
ChangeIfNotStressed(a/)
FMT(vowel/a_3)
endphoneme
phoneme a/
vowel starttype #a endtype #a
length 160
ChangeIfDiminished(a#)
FMT(vowel/a_3)
endphoneme
phoneme a#
vowel starttype #@ endtype #@
ipa ɐ
unstressed
length 140
IfNextVowelAppend(r-)
FMT(vowel/a#)
endphoneme
phoneme aa // 'bath' etc.
vowel starttype #a endtype #a
ipa a:
length 220
IfNextVowelAppend(r-)
FMT(vowel/a_3)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 170
ChangeIfDiminished(I2)
FMT(vowel/e_e)
endphoneme
phoneme I
vowel starttype #@ endtype #@
length 110
IF nextPh(l/2) THEN
VowelEnding(l/L2_@L, -30)
FMT(vowel/@_3)
ENDIF
FMT(vowel/e#)
endphoneme
phoneme I2
vowel starttype #@ endtype #@
unstressed
length 110
CALL I
endphoneme
phoneme I#
vowel starttype #@ endtype #@
ChangePhoneme(I2)
endphoneme
phoneme i // optional variant of [I] for end of words
vowel starttype #i endtype #e
ipa e
length 150
IfNextVowelAppend(;)
FMT(vowel/e_5)
endphoneme
phoneme 0
vowel starttype #o endtype #o
length 200
ChangeIfDiminished(@)
FMT(vowel/oo_2)
endphoneme
phoneme V
vowel starttype #a endtype #@
length 140
ChangeIfDiminished(@)
FMT(vowel/V_4)
endphoneme
phoneme U
vowel starttype #u endtype #u
ipa ʉ
length 140
FMT(vowel/u#_4)
endphoneme
phoneme A:
vowel starttype #a endtype #a
length 220
ipa a:
IfNextVowelAppend(r-)
IF nextPh(r) THEN
Length 250
FMT(vowelr/aa_r)
ENDIF
FMT(vowel/a_3)
endphoneme
phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
vowel starttype #a endtype #@
length 250
ipa aː
IF NOT nextPhW(r) THEN
AppendPhoneme(r)
ENDIF
FMT(vowelr/aa_r)
endphoneme
phoneme 3:
vowel starttype #e endtype #@
length 230
ChangeIfNotStressed(VR) // also need "replace 02 3: VR" in voice file
ipa e
FMT(vowelr/e_r)
endphoneme
phoneme i:
vowel starttype #i endtype #i
length 130
IfNextVowelAppend(;)
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
IF nextPh(isVFricative) OR nextPh(isPause) THEN
Length 180
ENDIF
FMT(vowel/i_5)
endphoneme
phoneme O:
vowel starttype #o endtype #o
length 200
ChangeIfDiminished(@)
IF nextPh(r) THEN
FMT(vwl_en_us/or)
ENDIF
FMT(vowel/oo)
endphoneme
phoneme O@
vowel starttype #o endtype #@
length 230
ipa ɔ
IF NOT nextPhW(r) THEN
AppendPhoneme(r)
ENDIF
FMT(vowelr/oo_r)
endphoneme
phoneme o@
vowel starttype #o endtype #@
length 230
ipa o
IF NOT nextPhW(r) THEN
AppendPhoneme(r)
ENDIF
FMT(vowelr/oo_r)
endphoneme
phoneme O
vowel starttype #o endtype #o
length 150
ChangeIfDiminished(@)
FMT(vowel/0_3)
endphoneme
phoneme u:
vowel starttype #u endtype #u
ipa ʉː
length 160
IF nextPh(isVFricative) THEN
Length 200
ENDIF
IF nextPh(isPause) THEN
Length 200
FMT(vowel/u#_4)
ENDIF
FMT(vowel/u#)
endphoneme
phoneme aU
vowel starttype #a endtype #u
ipa ʌʉ
length 200
FMT(vdiph/au#)
endphoneme
phoneme oU
vowel starttype #o endtype #u
ipa oː
length 190
FMT(vowel/o_3)
endphoneme
phoneme aI
vowel starttype #a endtype #i
length 190
IF nextPh(isVowel) OR nextPh(isVFricative) THEN
ChangePhoneme(aI2)
ENDIF
IF nextPh(l/2) THEN
// before l/2 vwl_en/aI@_2+vwl_en/@L_2
FMT(vwl_en/aI@_2)
ENDIF
// FMT(vdiph/&i_2
FMT(vdiph/ai_7)
endphoneme
phoneme aI2
vowel starttype #a endtype #i
length 240
FMT(vdiph/ai_7)
endphoneme
phoneme eI
vowel starttype #e endtype #i
ipa eː
length 190
FMT(vowel/e_2)
endphoneme
phoneme OI
vowel starttype #o endtype #i
length 210
FMT(vdiph/0i_2)
endphoneme
phoneme e@
vowel starttype #e endtype #@
length 220
ipa e
IF NOT nextPhW(r) THEN
AppendPhoneme(r)
ENDIF
FMT(vdiph2/e@)
endphoneme
phoneme i@3
vowel starttype #i endtype #@
ipa ɪ
length 240
IF NOT nextPhW(r) THEN
AppendPhoneme(r)
ENDIF
FMT(vowelr/i_r)
endphoneme
phoneme U@
vowel starttype #u endtype #@
ipa ʉɹ
IF nextPh(r-) THEN
ipa ʉ
ENDIF
length 240
IfNextVowelAppend(r-)
FMT(vdiph2/u#@)
endphoneme
phoneme aU@
vowel starttype #a endtype #@
length 270
IfNextVowelAppend(r-)
FMT(vwl_en/aU@)
endphoneme
phoneme aI@
vowel starttype #a endtype #@
length 270
IfNextVowelAppend(r-)
FMT(vwl_en/aI@_2)
endphoneme
phoneme aI3
vowel starttype #a endtype #@
length 280
ChangePhoneme(aI@)
endphoneme
phoneme @L
vowel starttype #@ endtype l
ipa əl
unstressed
length 160
CALL vowelstart_l
FMT(vwl_en/@L_2)
endphoneme
//==============
// Consonants
//==============
phoneme r/ // used for [r] when not preceding a vowel
liquid
lengthmod 2 //
FMT(NULL)
endphoneme
phoneme r
liquid rhotic
lengthmod 7
trill
IF nextPh(isNotVowel) THEN
ChangePhoneme(r/)
ENDIF
CALL base/r
ipa r
endphoneme