Files
espeak-ng/phsource/ph_english_us
T
jonsd 18240ae109 [1.43.46]
Fix: Speak punctuation option also caused text after [[ to be spoken as phoneme codes even if espeakPHONEMES flag is not set.

Speak sequences of letters and dots as individual letters, and don't speak 'dot', eg. "u.s.a."

Don't announce punctuation in the alternative text inside <audio ... </audio>

Vowelcharts, show the positions of multiple FMT() in vowel phonemes definitions.

Phoneme definitions:
New attributes:  flag1, flag2, flag3
New attribute: nopause. Prevents the insertion of a short pause when this phoneme starts a word which follows a vowel.
New conditions: isFlag1, isFlag2, isFlag3, isSibilant.
New statement: InsertPhoneme()

Phonemes: improve syllablic [m-] [n-] [N-]

*_rules: add attributes  $p_alt .. $p_alt3,  $w_alt .. $w_alt3

*_list:  add attributes:  $sentence, $atstart

klatt synthesizer: implement echo.

espeakedit, Prosody display: Indicate stressed and secondary-stress syllables.

espeakedit: remember window size and position.

Intonation:
New file, 'phsource/intonation' to define 'tunes' which can be used from voice files.

espeakedit: add Compile -> Intonationm data

Speed: Increase range to 80 to 450, with default=175.
Improve speaking at high speeds.

lang=en: Reduce consecutive unstressed syllables to 'diminished' stress, only in unstressed words.

lang=de: Change 'r' phoneme.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@244 d46cf337-b52f-0410-862d-fd96e6ae7743
2010-06-20 13:15:35 +00:00

324 lines
4.9 KiB
Plaintext

//*******************************************************************
// VOWELS
//*******************************************************************
phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype #@ endtype #@
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
unstressed
length 160
FMT(vwl_en/@L)
endphoneme
phoneme a
vowel starttype #e endtype #@
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 #@
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 // 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
ChangeIfDiminished(@)
IF nextPh(r) THEN
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 210
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
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
IfNextVowelAppend(r)
FMT(vwl_en_us/oor)
endphoneme
phoneme o@
vowel starttype #o endtype #@
length 250
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)
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
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
IfNextVowelAppend(r)
FMT(vwl_en_us/er)
endphoneme
phoneme i@3
vowel starttype #i endtype #@
length 280
IfNextVowelAppend(r)
FMT(vwl_en_us/ir)
endphoneme
phoneme U@
vowel starttype #@ endtype #@
length 250
IfNextVowelAppend(r-)
FMT(vwl_en_us/ur)
endphoneme
phoneme aI@
vowel starttype #a endtype #@
length 300
IfNextVowelAppend(r-)
FMT(vwl_en_us/ai@)
endphoneme
phoneme aU@
vowel starttype #a endtype #@
length 300
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 prevPh(isVowel) OR prevPh(n) THEN
IF nextPh(isVowel) AND nextPh(isUnstressed) AND thisPh(notWordStart) AND nextPh(notWordStart) THEN
ChangePhoneme(t#)
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