mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 21:39:47 +00:00
Fix: Events callback, fix word length information for words with multibyte characters. Fix: Re-translating a word in a different language after the first langauge has started speaking individual letters, gave silence. Announce punctuation. If character name is not defined, use English. Announce punctuation. Fix pitch of the voice which announces punctuation characters. [[Phonemes]] text input. Allow the language-switch phoneme eg. [[_^_EN hEloU _^_FR]] in the input. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@152 d46cf337-b52f-0410-862d-fd96e6ae7743
1283 lines
23 KiB
Plaintext
1283 lines
23 KiB
Plaintext
|
|
// This is the master phoneme file.
|
|
|
|
|
|
// These are fixed phoneme code numbers, which can be used
|
|
// directly within the program.
|
|
phonemenumber 1 <
|
|
phonemenumber 2 %%
|
|
phonemenumber 3 %
|
|
phonemenumber 4 ,
|
|
phonemenumber 5 ,,
|
|
phonemenumber 6 '
|
|
phonemenumber 7 ''
|
|
phonemenumber 8 = // stress previous syllable
|
|
phonemenumber 9 _: // pause
|
|
phonemenumber 10 _ // short pause
|
|
phonemenumber 11 _! // short pause, no link
|
|
phonemenumber 12 :
|
|
phonemenumber 13 @
|
|
phonemenumber 14 @-
|
|
phonemenumber 15 ||
|
|
phonemenumber 16 (r)
|
|
phonemenumber 17 1 // (numeral 1) default tone (for tone language)
|
|
phonemenumber 18 (X1) // capital letter indication
|
|
phonemenumber 19 ? // glottal stop
|
|
phonemenumber 20 - // syllabic consonant
|
|
phonemenumber 21 _^_ // Change language
|
|
phonemenumber 22 _X1 // a language specific action
|
|
phonemenumber 23 _| // very short pause
|
|
phonemenumber 24 _:: // long pause
|
|
phonemenumber 25 t# // reduced version of [t]
|
|
phonemenumber 26 '! // stress - emphasized
|
|
phonemenumber 27 _;_ // clause pause
|
|
|
|
// The base phoneme table contains the utility phonemes, the consonants,
|
|
// and a schwa. The vowels are defined in the language specific phoneme
|
|
// tables, which can also redefine consonants if they wish.
|
|
|
|
|
|
//*******************************************************************
|
|
// UTILITY PHONEMES
|
|
//*******************************************************************
|
|
|
|
phoneme < // Start of control string
|
|
pause
|
|
length 0
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme %% // Unstressed
|
|
stress
|
|
length 0
|
|
endphoneme
|
|
|
|
phoneme % // Diminished stress
|
|
stress
|
|
length 1
|
|
endphoneme
|
|
|
|
phoneme , // Secondary stress
|
|
stress
|
|
length 2
|
|
endphoneme
|
|
|
|
phoneme ,, // Secondary stress
|
|
stress
|
|
length 3
|
|
endphoneme
|
|
|
|
phoneme ' // Primary stress
|
|
stress
|
|
length 4
|
|
endphoneme
|
|
|
|
phoneme '' // Primary stress (priority)
|
|
stress
|
|
length 5
|
|
endphoneme
|
|
|
|
phoneme '! // Primary stress (emphasized)
|
|
stress
|
|
length 6
|
|
endphoneme
|
|
|
|
phoneme = // Place stress on previous vowel
|
|
stress
|
|
length 2
|
|
endphoneme
|
|
|
|
phoneme || // End Word
|
|
pause
|
|
length 0
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme _ // Short pause
|
|
pause
|
|
formants NULL
|
|
starttype _ endtype _
|
|
length 25
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme _! // Short pause, don't replace by linking
|
|
pause
|
|
formants NULL
|
|
starttype _ endtype _
|
|
length 35
|
|
lengthmod 1
|
|
nolink
|
|
endphoneme
|
|
|
|
phoneme _| // Very short pause
|
|
pause
|
|
formants NULL
|
|
starttype _ endtype _
|
|
length 1
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme _: // Standard pause
|
|
pause
|
|
formants NULL
|
|
starttype _ endtype _
|
|
length 75
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme _:: // Long pause
|
|
pause
|
|
formants NULL
|
|
starttype _ endtype _
|
|
length 150
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme _;_ // clause pause
|
|
pause
|
|
formants NULL
|
|
starttype _ endtype _
|
|
length 200
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme _^_ // Change dictionary (followed by language-code in ascii
|
|
pause
|
|
starttype _ endtype _
|
|
length 10
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme _X1 // a language specific action
|
|
pause
|
|
starttype _ endtype _
|
|
length 10
|
|
lengthmod 1
|
|
endphoneme
|
|
|
|
phoneme ? // glottal stop
|
|
vls glt stop
|
|
vowelin glstop
|
|
vowelout glstop
|
|
wave ustop/null
|
|
lengthmod 2 // ??
|
|
nolink
|
|
endphoneme
|
|
|
|
|
|
phoneme : // Lengthen previous vowel by "length"
|
|
virtual
|
|
length 70
|
|
endphoneme
|
|
|
|
phoneme - // Indicates the previous phoneme is a syllabic consonant
|
|
virtual
|
|
length 0
|
|
endphoneme
|
|
|
|
|
|
phoneme @ // Schwa
|
|
vowel starttype (@) endtype (@)
|
|
formants vowel/@
|
|
unstressed
|
|
length 140
|
|
endphoneme
|
|
|
|
|
|
phoneme @- // very short schwa
|
|
vowel nonsyllabic
|
|
starttype (@) endtype (@)
|
|
formants vowel/@-
|
|
unstressed
|
|
length 50
|
|
endphoneme
|
|
|
|
|
|
//*******************************************************************
|
|
// Other sounds
|
|
//*******************************************************************
|
|
|
|
phoneme (X1) // click, use for indicating capital letters
|
|
vls alv frc sibilant
|
|
lengthmod 3
|
|
wave ustop/percus10
|
|
endphoneme
|
|
|
|
|
|
//*******************************************************************
|
|
// VIRTUAL - referred to in vowels' vowel starttype and endtype
|
|
// These each apply to a class of vowels
|
|
//*******************************************************************
|
|
|
|
phoneme (@) virtual
|
|
after j j/j@
|
|
after ; j2/j2@
|
|
after w w/w@
|
|
after l l/l@
|
|
after L l/l@
|
|
after l^ l^/j2@
|
|
after #r r/r@-15
|
|
after r- r2/r2@
|
|
after m m/m@
|
|
after n n/n@
|
|
after N nn/nn@
|
|
after n^ n^/n^@
|
|
before l/ DFT-60+l/L1_@L
|
|
before l/2 DFT-60+l/L2_@L
|
|
before l DFT-50+l/xl
|
|
before w DFT-30+w/xw
|
|
before j DFT-30+j/xj
|
|
before #r DFT-50+r/xr
|
|
before r- DFT-60+r/xr
|
|
before r/ DFT+r3/r_@
|
|
endphoneme
|
|
|
|
phoneme (a) virtual
|
|
after j j/ja
|
|
after ; j2/j2a
|
|
after w w/wa
|
|
after l l/la
|
|
after L l/la
|
|
after l^ l^/j2a
|
|
after #r r/ra-15
|
|
after r- r2/r2a
|
|
after m m/ma
|
|
after n n/na
|
|
after N nn/nna
|
|
after n^ n^/n^a
|
|
before l/ DFT-40+l/L1_aL
|
|
before l/2 DFT-40+l/L2_aL
|
|
before l DFT-40+l/xl
|
|
before w DFT-30+w/xw
|
|
before j DFT-30+j/xj
|
|
before #r DFT-50+r/xr
|
|
before r- DFT-60+r/xr
|
|
before r/ DFT+r3/r_a
|
|
endphoneme
|
|
|
|
phoneme (e) virtual
|
|
after j j/je
|
|
after ; j2/j2e
|
|
after w w/we
|
|
after l l/le
|
|
after L l/le
|
|
after l^ l^/j2e
|
|
after #r r/re-15
|
|
after r- r2/r2e
|
|
after m m/me
|
|
after n n/ne
|
|
after N nn/nne
|
|
after n^ n^/n^e
|
|
before l/ DFT-30+l/L1_eL
|
|
before l/2 DFT-40+l/L2_eL
|
|
before l DFT-40+l/xl
|
|
before w DFT-30+w/xw
|
|
before j DFT-30+j/xj
|
|
before #r DFT-50+r/xr
|
|
before r- DFT-60+r/xr
|
|
before r/ DFT+r3/r_e
|
|
endphoneme
|
|
|
|
phoneme (i) virtual
|
|
after j j/ji
|
|
after ; j2/j2i
|
|
after w w/wi
|
|
after l l/li-10
|
|
after L l/li
|
|
after l^ l^/j2i
|
|
after #r r/ri-15
|
|
after r- r2/r2i
|
|
after m m/mi
|
|
after n n/ni
|
|
after N nn/nni
|
|
after n^ n^/n^i
|
|
before l/ DFT-30+l/L1_iL
|
|
before l/2 DFT-30+l/L2_iL
|
|
before N DFT-40+nn/inn
|
|
before ; DFT-40+j2/xj2
|
|
before l DFT-40+l/xl
|
|
before j DFT-30+j/xj
|
|
before r- DFT-60+r/xr
|
|
before r/ DFT+r3/r_i
|
|
endphoneme
|
|
|
|
phoneme (o) virtual
|
|
after j j/jo
|
|
after ; j2/j2o
|
|
after w w/wo
|
|
after l l/lo
|
|
after L l/lo
|
|
after l^ l^/j2o
|
|
after #r r/ro-15
|
|
after r- r2/r2o
|
|
after m m/mo
|
|
after n n/no
|
|
after N nn/nno
|
|
after n^ n^/n^o
|
|
before l/ DFT-40+l/L1_oL
|
|
before l/2 DFT-40+l/L2_oL
|
|
before l DFT-40+l/xl
|
|
before w DFT-30+w/xw
|
|
before j DFT-30+j/xj
|
|
before #r DFT-50+r/xr
|
|
before r- DFT-60+r/xr
|
|
before r/ DFT+r3/r_o
|
|
endphoneme
|
|
|
|
phoneme (u) virtual
|
|
after j j/ju
|
|
after ; j2/j2u
|
|
after w w/wu
|
|
after l l/lu
|
|
after L l/lu
|
|
after l^ l^/j2u
|
|
after #r r/ru-15
|
|
after r- r2/r2u
|
|
after m m/mu
|
|
after n n/nu
|
|
after N nn/nnu
|
|
after n^ n^/n^u
|
|
before l/ DFT-40+l/L1_uL
|
|
before l/2 DFT-40+l/L2_uL
|
|
before l DFT-40+l/xl
|
|
before w DFT-30+w/xw
|
|
before j DFT-30+j/xj
|
|
before #r DFT-50+r/xr
|
|
before r- DFT-60+r/xr
|
|
before r/ DFT+r3/r_u
|
|
endphoneme
|
|
|
|
phoneme (r) virtual
|
|
// use to mean general sonorant
|
|
endphoneme
|
|
|
|
phoneme #r virtual
|
|
// use for English r in virtual phonemes
|
|
endphoneme
|
|
|
|
|
|
//*******************************************************************
|
|
// SONORANTS
|
|
//*******************************************************************
|
|
|
|
|
|
phoneme r
|
|
liquid starttype #r endtype #r
|
|
length 100
|
|
lengthmod 7
|
|
beforenotvowel r/
|
|
formants r/r
|
|
after _ r/_r
|
|
after t r/tr
|
|
after p r/tr
|
|
after k r/tr
|
|
before _ r/r_
|
|
endphoneme
|
|
|
|
|
|
phoneme r/ // used for [r] when not preceding a vowel
|
|
liquid
|
|
length 100
|
|
lengthmod 2 //
|
|
formants r3/r_+r3/rx
|
|
before n r3/r_n+r3/rx
|
|
after _ r/rr
|
|
after t r/trr
|
|
after p r/trr
|
|
after k r/trr
|
|
endphoneme
|
|
|
|
|
|
phoneme r- // linking r, used between certain vowels and a following vowel
|
|
liquid
|
|
length 100
|
|
lengthmod 0
|
|
formants r/r
|
|
after _ r2/_r2
|
|
endphoneme
|
|
|
|
|
|
phoneme R
|
|
liquid
|
|
vowelin f1=0 f2=1600 -300 300 f3=-200 80
|
|
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
|
|
formants r3/r_trill2+r3/r_trill2.wav%65
|
|
trill
|
|
lengthmod 6
|
|
endphoneme
|
|
|
|
phoneme R2 // this is [R] from Slovak/Czech
|
|
liquid
|
|
vowelin f1=0 f2=1700 -300 300 f3=-300 80
|
|
vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
|
|
formants r3/r_trill+r3/r_trill.wav%50
|
|
trill
|
|
lengthmod 6
|
|
endphoneme
|
|
|
|
phoneme R3 // Afrikaans
|
|
liquid starttype #r endtype #r
|
|
length 60
|
|
vowelin f1=2 f2=2700 -300 -200 f3=-1300 80
|
|
vowelout f1=2 f2=1700 -300 -200 f3=-1300 80
|
|
formants r3/r_trill+r3/r_trill3.wav%99
|
|
before _ r3/r_trill+r3/r_trill3.wav%99
|
|
trill
|
|
lengthmod 6
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme l
|
|
liquid
|
|
length 100
|
|
lengthmod 7
|
|
beforenotvowel l/
|
|
formants l/l
|
|
after _ l/_l
|
|
after t l/tl
|
|
after l/ l/l_long // double l, make it longer
|
|
endphoneme
|
|
|
|
|
|
phoneme l/ // used for [l] when not before a vowel
|
|
liquid
|
|
length 100
|
|
lengthmod 7
|
|
formants l/l_
|
|
before (r) l/_l
|
|
beforevowel l
|
|
endphoneme
|
|
|
|
|
|
phoneme l/2 // 'dark' [l] after a vowel
|
|
liquid
|
|
length 100
|
|
lengthmod 7
|
|
beforevowel l
|
|
endphoneme
|
|
|
|
|
|
phoneme l^ // palatal l
|
|
vowelout len=60 lenadd rate
|
|
liquid
|
|
formants l^/l^
|
|
after _ l^/_l^
|
|
lengthmod 7
|
|
endphoneme
|
|
|
|
|
|
phoneme w
|
|
liquid
|
|
length 100
|
|
beforenotvowel w/
|
|
lengthmod 7
|
|
formants w/w
|
|
after _ w/_w
|
|
endphoneme
|
|
|
|
|
|
phoneme w/ // used for [w] when not before a vowel
|
|
liquid
|
|
vowelout len=50
|
|
length 100
|
|
formants w/w_
|
|
lengthmod 7
|
|
beforevowel w
|
|
endphoneme
|
|
|
|
|
|
phoneme j
|
|
liquid
|
|
palatal
|
|
length 100
|
|
beforenotvowel j/
|
|
formants NULL
|
|
after _ j/_j
|
|
after v NULL
|
|
lengthmod 7
|
|
endphoneme
|
|
|
|
|
|
phoneme j/ // used for [j] when not before a vowel
|
|
liquid
|
|
palatal
|
|
vowelout len=70
|
|
length 100
|
|
formants j/j_
|
|
lengthmod 7
|
|
beforevowel j
|
|
endphoneme
|
|
|
|
|
|
|
|
|
|
phoneme ; // linking j, (formerly [j-]) used between (i) vowels
|
|
// and a following vowel
|
|
// also to palatalize consonants
|
|
liquid
|
|
palatal
|
|
length 100
|
|
lengthmod 0
|
|
formants NULL
|
|
beforenotvowel NULL // this is to ignore this phoneme if not before a vowel
|
|
after _ j2/_j2
|
|
endphoneme
|
|
|
|
|
|
phoneme m
|
|
vcd blb nasal
|
|
vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
|
|
length 100
|
|
lengthmod 4
|
|
formants NULL
|
|
after _ m/_m
|
|
before _ m/m_
|
|
before (r) m/mj
|
|
endphoneme
|
|
|
|
|
|
phoneme n
|
|
vcd alv nasal
|
|
vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
|
|
length 100
|
|
lengthmod 4
|
|
formants NULL
|
|
after _ n/_n
|
|
after n n/_n // lengthen [nn]
|
|
before _ n/n_
|
|
before (r) n/nj
|
|
endphoneme
|
|
|
|
|
|
phoneme n.
|
|
vcd rfx nasal
|
|
starttype n endtype n
|
|
vowelin f1=2 f2=1200 -300 250 f3=-500 80 rms=20 colr=2
|
|
vowelout f1=2 f2=1200 -300 250 f3=-500 80 rms=20 brk colr=2
|
|
length 100
|
|
lengthmod 4
|
|
formants NULL
|
|
after _ n/_nr
|
|
after n n/_nr // lengthen [nn]
|
|
before _ n/nr_
|
|
before (r) n/nj
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme n^
|
|
vcd pal nasal palatal
|
|
vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate
|
|
length 100
|
|
lengthmod 4
|
|
formants NULL
|
|
after _ n^/_n^
|
|
before _ n^/n^_
|
|
before (r) n/nj
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme N
|
|
vcd vel nasal
|
|
// vowelout brk
|
|
vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
|
|
length 100
|
|
formants NULL
|
|
after _ nn/_nn
|
|
before _ nn/nn_
|
|
before (r) nn/nnj
|
|
lengthmod 8 // longer than 'n'
|
|
endphoneme
|
|
|
|
phoneme ** // TEST flap
|
|
liquid alv
|
|
vowelout f1=3 f2=1600 -300 300 f3=-300 80 rms=35 len=15
|
|
vowelin f1=2 f2=1600 -300 300 f3=-100 80 len=20
|
|
formants r3/@tap
|
|
after (e) r3/@tap2
|
|
endphoneme
|
|
|
|
|
|
|
|
//*******************************************************************
|
|
// VOICED STOPS
|
|
//*******************************************************************
|
|
|
|
|
|
|
|
phoneme b
|
|
vcd blb stop
|
|
vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
|
|
formants b/b+x/b
|
|
before _ b/b_+x/b_
|
|
before (a) b/ba+x/b
|
|
before (@) b/b@+x/b
|
|
before (e) b/be+x/b
|
|
before (i) b/bi+x/b
|
|
before (o) b/bo+x/b
|
|
before (u) b/bu+x/b
|
|
before @- b/b@2+x/b
|
|
after _ NULL
|
|
after @ b/xb
|
|
lengthmod 5
|
|
switchvoicing p
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme d
|
|
vcd alv stop
|
|
vowelin f1=1 f2=1700 -300 300 f3=-100 80
|
|
vowelout f1=2 f2=1700 -300 300 f3=-100 80
|
|
formants d/d+x/d
|
|
before _ d/d_+x/d_
|
|
before r d/dr+x/d
|
|
after _ NULL
|
|
after @ d/xd
|
|
lengthmod 5
|
|
switchvoicing t
|
|
endphoneme
|
|
|
|
|
|
phoneme d[
|
|
vcd dnt stop
|
|
vowelin f1=2 f2=1500 -300 300 f3=-150 80
|
|
vowelout f1=2 f2=1500 -300 300 f3=-150 80
|
|
formants d/d+x/d_dnt%110
|
|
before _ d/d_+x/d_
|
|
before r d/dr+x/d_dnt%110
|
|
after _ NULL
|
|
after @ d/xd
|
|
lengthmod 5
|
|
switchvoicing t[
|
|
endphoneme
|
|
|
|
|
|
phoneme * // flap
|
|
vcd alv flp
|
|
brkafter
|
|
vowelout f1=3 f2=1500 -400 300 f3=-200 80 rms=35 len=50
|
|
vowelin f1=0 f2=1500 -300 300 f3=-200 80
|
|
formants d/tap3+r3/rx%200
|
|
vowelin f1=0 f2=1500 -300 300 f3=-200 80
|
|
before (i) d/tap1+r3/rx%150
|
|
before (e) d/tap1+r3/rx%150
|
|
vowelin f1=2 f2=1500 -300 300 f3=-200 80
|
|
before (a) d/tap3+r3/rx%200
|
|
before r d/dr
|
|
lengthmod 3
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme dZ
|
|
vcd pla afr sibilant
|
|
vowelin f1=2 f2=2300 200 400 f3=100 80
|
|
vowelout f1=2 f2=2300 250 300 f3=100 80 brk
|
|
formants dzh/dzh+x/dzh
|
|
before _ dzh/dzh_+x/dzh_
|
|
after _ NULL
|
|
after @ dzh/xdzh
|
|
lengthmod 5
|
|
switchvoicing tS
|
|
endphoneme
|
|
|
|
|
|
phoneme dz; // this should be different from dZ;
|
|
vcd pla afr sibilant palatal
|
|
vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
|
|
formants dzh/dzh+x/dz_pzd
|
|
before _ dzh/dzh_+x/dzh_
|
|
after _ NULL
|
|
after @ dzh/xdzh
|
|
lengthmod 5
|
|
switchvoicing ts;
|
|
endphoneme
|
|
|
|
|
|
phoneme dZ;
|
|
vcd pla afr sibilant palatal
|
|
vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
|
|
formants dzh/dzh+x/dz_pzd
|
|
before _ dzh/dzh_+x/dzh_
|
|
after _ NULL
|
|
after @ dzh/xdzh
|
|
lengthmod 5
|
|
switchvoicing tS;
|
|
endphoneme
|
|
|
|
|
|
phoneme J
|
|
vcd pla afr sibilant
|
|
vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
|
|
vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1
|
|
formants dzh/dz_pzd+x/dzh%40
|
|
before _ dzh/dz_pzd_+x/dzh%35
|
|
after _ NULL
|
|
after @ dzh/xdz_pzd
|
|
lengthmod 5
|
|
switchvoicing c
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme g
|
|
vcd vel stop
|
|
vowelin f1=2 f2=2300 200 300 f3=-300 80
|
|
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
|
// formants g/g+x/g
|
|
formants g/g+x/g2%150
|
|
before _ g/g_+x/g_
|
|
after _ NULL
|
|
after @ g/xg
|
|
lengthmod 5
|
|
switchvoicing k
|
|
endphoneme
|
|
|
|
|
|
phoneme g- // linking g, used between N and a vowel
|
|
vcd vel stop
|
|
vowelin f1=2 f2=2300 200 400 f3=-100 80
|
|
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
|
formants g2/g+x/g2_
|
|
before _ g2/g_+x/g2_
|
|
after _ NULL
|
|
after @ g2/xg
|
|
lengthmod 5
|
|
endphoneme
|
|
|
|
|
|
|
|
//*******************************************************************
|
|
// VOICED fricatives
|
|
//*******************************************************************
|
|
|
|
|
|
phoneme B
|
|
vcd blb frc
|
|
vowelin f1=2 f2=1000 -300 -200 f3=-100 100
|
|
vowelout f1=2 f2=1000 -500 -300 f3=-100 60 len=50
|
|
lengthmod 6
|
|
formants voc/bh+vocw/v
|
|
before _ voc/v_+vocw/v
|
|
switchvoicing f
|
|
endphoneme
|
|
|
|
|
|
phoneme v
|
|
vcd lbd frc
|
|
vowelin f1=0 f2=1000 -300 -200 f3=-300 100
|
|
vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
|
|
lengthmod 6
|
|
formants voc/v+vocw/v
|
|
before (r) voc/vj+vocw/v
|
|
before _ voc/v_+vocw/v
|
|
switchvoicing f
|
|
endphoneme
|
|
|
|
|
|
phoneme D
|
|
vcd dnt frc
|
|
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
|
|
formants voc/dh+vocw/dh
|
|
before _ voc/dh_+vocw/dh
|
|
lengthmod 6
|
|
switchvoicing T
|
|
endphoneme
|
|
|
|
|
|
phoneme z
|
|
vcd alv frc sibilant
|
|
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
|
|
formants voc/z+ufric/s_
|
|
before _ voc/z_+ufric/s_%85
|
|
lengthmod 6
|
|
switchvoicing s
|
|
endphoneme
|
|
|
|
|
|
phoneme Z
|
|
vcd pla frc sibilant
|
|
vowelin f1=0 f2=2000 0 300 f3=-200 80
|
|
vowelout f1=2 f2=2000 0 300 f3=-200 80 brk
|
|
formants voc/zh+vocw/zh
|
|
before _ voc/zh_+vocw/zh
|
|
lengthmod 6
|
|
switchvoicing S
|
|
endphoneme
|
|
|
|
|
|
phoneme z.
|
|
vcd pla frc sibilant
|
|
vowelin f1=0 f2=1800 -100 300 f3=-300 80
|
|
vowelout f1=2 f2=1800 -100 300 f3=-300 80 brk
|
|
formants voc/zh+vocw/zh_rfx
|
|
before _ voc/zh_+vocw/zh_rfx
|
|
lengthmod 6
|
|
switchvoicing s.
|
|
endphoneme
|
|
|
|
|
|
phoneme z;
|
|
vcd pal frc sibilant palatal
|
|
vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
|
|
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
|
formants voc/z_pzd+ufric/s_pzd%80
|
|
before _ voc/z_pzd_+ufric/s_pzd_%80
|
|
lengthmod 6
|
|
switchvoicing s;
|
|
endphoneme
|
|
|
|
|
|
phoneme Z;
|
|
vcd pal frc sibilant palatal
|
|
vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
|
|
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
|
formants voc/z_pzd+ufric/sh_pzd_
|
|
before _ voc/z_pzd_+ufric/sh_pzd_
|
|
lengthmod 6
|
|
switchvoicing Z;
|
|
endphoneme
|
|
|
|
|
|
phoneme J^ // palatal fricative (Kirshenbaum C<vcd>)
|
|
vcd pal frc palatal
|
|
vowelin f1=1 f2=2700 400 600 f3=200 70
|
|
vowelout f1=1 f2=2700 400 600 f3=200 70 len=100
|
|
lengthmod 6
|
|
formants voc/j+ufric/ch%25
|
|
endphoneme
|
|
|
|
|
|
|
|
|
|
phoneme Q
|
|
vcd vel frc
|
|
vowelin f1=2 f2=2300 200 400 f3=-100 80
|
|
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
|
lengthmod 6
|
|
formants voc/Q+vocw/Q
|
|
before _ voc/Q_+vocw/Q_
|
|
switchvoicing x
|
|
endphoneme
|
|
|
|
phoneme Q^
|
|
vcd vel frc
|
|
vowelin f1=2 f2=2700 400 600 f3=200 80
|
|
vowelout f1=2 f2=2700 40 600 f3=200 80 brk
|
|
lengthmod 6
|
|
formants voc/Q+vocw/Q
|
|
before _ voc/Q_+vocw/Q_
|
|
switchvoicing x
|
|
endphoneme
|
|
|
|
|
|
|
|
//*******************************************************************
|
|
// UNVOICED STOPS
|
|
//*******************************************************************
|
|
|
|
|
|
|
|
phoneme p
|
|
vls blb stop
|
|
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
|
|
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
|
|
lengthmod 2
|
|
wave ustop/p
|
|
before _ ustop/p_
|
|
before r ustop/pr%70
|
|
before R ustop/pr
|
|
before @- ustop/p_unasp
|
|
before l ustop/pl
|
|
switchvoicing b
|
|
endphoneme
|
|
|
|
|
|
phoneme t
|
|
vls alv stop
|
|
vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
|
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
|
lengthmod 2
|
|
wave ustop/t%90
|
|
before _ ustop/t_
|
|
before @- ustop/t_dnt%50
|
|
before r ustop/tr
|
|
before R ustop/tr
|
|
switchvoicing d
|
|
endphoneme
|
|
|
|
|
|
phoneme t[ // dental variant of /t/
|
|
vls dnt stop
|
|
vowelin f1=0 f2=1600 -300 300 f3=-100 80
|
|
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
|
|
lengthmod 2
|
|
wave ustop/t_dnt%50
|
|
before _ ustop/t_dnt%35
|
|
before r ustop/tr
|
|
switchvoicing d[
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme tS
|
|
vls pla afr sibilant
|
|
vowelin f1=0 f2=2300 200 400 f3=-100 80
|
|
lengthmod 2
|
|
wave ustop/tsh
|
|
before _ ustop/tsh_
|
|
switchvoicing dZ
|
|
endphoneme
|
|
|
|
|
|
phoneme ts; // this should be different from tS;
|
|
vls pal afr sibilant palatal
|
|
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
|
|
lengthmod 2
|
|
wave ustop/ts_pzd
|
|
before _ ustop/ts_pzd
|
|
switchvoicing dz;
|
|
endphoneme
|
|
|
|
|
|
phoneme tS;
|
|
vls pal afr sibilant palatal
|
|
vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
|
|
lengthmod 2
|
|
wave ustop/ts_pzd
|
|
before _ ustop/ts_pzd
|
|
switchvoicing dZ;
|
|
endphoneme
|
|
|
|
|
|
|
|
|
|
phoneme c
|
|
vls pal stop
|
|
vowelin f1=0 f2=2700 200 500 f3=400 80 rate len=80
|
|
vowelout f1=0 f2=2700 300 500 f3=300 80
|
|
lengthmod 2
|
|
wave ustop/c%130
|
|
before _ ustop/ki%80
|
|
endphoneme
|
|
|
|
|
|
phoneme k
|
|
vls vel stop
|
|
vowelin f1=0 f2=2300 200 300 f3=-200 80
|
|
vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
|
|
lengthmod 2
|
|
wave ustop/k
|
|
before _ ustop/k_
|
|
before r ustop/kr
|
|
before R ustop/kr
|
|
before @- ustop/k_unasp%70
|
|
before l ustop/kl
|
|
before (i) ustop/ki
|
|
switchvoicing g
|
|
endphoneme
|
|
|
|
phoneme q
|
|
vls uvl stop
|
|
vowelin f1=1 f2=1700 0 200 f3=-300 80 paus f4 rms=30
|
|
vowelout f1=1 f2=1700 -100 200 f3=-300 80 f4 rms=35
|
|
lengthmod 2
|
|
wave ustop/q%48
|
|
before _ ustop/q%40
|
|
endphoneme
|
|
|
|
|
|
|
|
//*******************************************************************
|
|
// UNVOICED fricatives
|
|
//*******************************************************************
|
|
|
|
|
|
|
|
phoneme f
|
|
vls lbd frc
|
|
vowelout f1=0 f2=1000 -500 -350 f3=-200 80
|
|
lengthmod 3
|
|
wave ufric/f
|
|
before _ ufric/f_
|
|
switchvoicing v
|
|
endphoneme
|
|
|
|
|
|
phoneme T
|
|
vls dnt frc
|
|
vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
|
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
|
lengthmod 3
|
|
wave ufric/th
|
|
before _ ufric/th_
|
|
switchvoicing D
|
|
endphoneme
|
|
|
|
|
|
phoneme s
|
|
vls alv frc sibilant
|
|
vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
|
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
|
lengthmod 3
|
|
wave ufric/s
|
|
before _ ufric/s_
|
|
before p ufric/s!
|
|
before t ufric/s!
|
|
before k ufric/s!
|
|
switchvoicing z
|
|
endphoneme
|
|
|
|
|
|
phoneme S
|
|
vls pla frc sibilant
|
|
vowelin f1=0 f2=2100 100 300 f3=-100 80
|
|
vowelout f1=0 f2=2100 100 300 f3=-100 80
|
|
length 100
|
|
lengthmod 3
|
|
wave ufric/sh
|
|
before _ ufric/sh_
|
|
switchvoicing Z
|
|
endphoneme
|
|
|
|
|
|
phoneme s;
|
|
vls pal frc sibilant palatal
|
|
vowelin f1=1 f2=2700 400 600 f3=200 70 rate len=70
|
|
vowelout f1=1 f2=2700 400 600 f3=200 70 rate len=70
|
|
length 100
|
|
lengthmod 3
|
|
wave ufric/s_pzd
|
|
before _ ufric/s_pzd_
|
|
switchvoicing z;
|
|
endphoneme
|
|
|
|
|
|
phoneme s.
|
|
vls pla frc sibilant
|
|
vowelin f1=0 f2=1800 -100 300 f3=-300 80
|
|
vowelout f1=0 f2=1800 -100 300 f3=-300 80
|
|
length 100
|
|
lengthmod 3
|
|
wave ufric/sh_rfx%90
|
|
before _ ufric/sh_rfx%60
|
|
switchvoicing z.
|
|
endphoneme
|
|
|
|
|
|
phoneme S;
|
|
vls pal frc sibilant palatal
|
|
vowelin f1=1 f2=2700 400 600 f3=200 70 rate len=70
|
|
vowelout f1=1 f2=2700 400 600 f3=200 70 rate
|
|
length 100
|
|
lengthmod 3
|
|
wave ufric/sh_pzd
|
|
before _ ufric/sh_pzd_
|
|
switchvoicing Z;
|
|
endphoneme
|
|
|
|
|
|
phoneme L // Welsh "ll"
|
|
vls alv frc
|
|
length 100
|
|
lengthmod 3
|
|
wave ufric/ll%80
|
|
// before _ ufric/ll_
|
|
endphoneme
|
|
|
|
|
|
phoneme C
|
|
vls pal frc palatal
|
|
vowelin f1=0 f2=2700 400 600 f3=200 70
|
|
vowelout f1=0 f2=2700 400 600 f3=200 70 rms=20
|
|
length 100
|
|
lengthmod 3
|
|
wave ufric/ch
|
|
endphoneme
|
|
|
|
|
|
phoneme x
|
|
vls vel frc
|
|
vowelin f1=0 f2=2300 200 400 f3=-100 80
|
|
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
|
|
length 100
|
|
lengthmod 3
|
|
wave ufric/x
|
|
switchvoicing Q
|
|
endphoneme
|
|
|
|
|
|
phoneme h
|
|
vls glt apr
|
|
length 100
|
|
lengthmod 3
|
|
wave h/h_%70 // no vowel following
|
|
before (@) h/h@
|
|
before (a) h/ha
|
|
before (e) h/he
|
|
before (i) h/hi
|
|
before (o) h/ho
|
|
before (u) h/hu
|
|
endphoneme
|
|
|
|
|
|
|
|
|
|
//*******************************************************************
|
|
// ADDITIONAL PHONEME TABLES
|
|
//*******************************************************************
|
|
|
|
phonemetable base2 base
|
|
include ph_base2
|
|
|
|
phonemetable en base
|
|
include ph_english
|
|
|
|
phonemetable en_n en
|
|
include ph_english_n
|
|
|
|
phonemetable en_us en
|
|
include ph_english_us
|
|
|
|
phonemetable en_sc en
|
|
include ph_english_sc
|
|
|
|
phonemetable en_rp en
|
|
include ph_english_rp
|
|
|
|
phonemetable en_wm en
|
|
include ph_english_wm
|
|
|
|
phonemetable en_wi en
|
|
include ph_english_wi
|
|
|
|
|
|
phonemetable af base
|
|
include ph_afrikaans
|
|
|
|
phonemetable cy base
|
|
include ph_welsh
|
|
|
|
phonemetable de base
|
|
include ph_german
|
|
|
|
phonemetable eo base
|
|
include ph_esperanto
|
|
|
|
phonemetable jbo eo
|
|
include ph_lojban
|
|
|
|
phonemetable fi base
|
|
include ph_finnish
|
|
|
|
phonemetable fr base
|
|
include ph_french
|
|
|
|
phonemetable fr_ca fr
|
|
include ph_french_ca
|
|
|
|
phonemetable hi base
|
|
include ph_hindi
|
|
|
|
phonemetable ta hi
|
|
include ph_tamil
|
|
|
|
phonemetable hu base
|
|
include ph_hungarian
|
|
|
|
phonemetable nl base
|
|
include ph_dutch
|
|
|
|
phonemetable pl base
|
|
include ph_polish
|
|
|
|
phonemetable sk pl
|
|
include ph_slovak
|
|
|
|
phonemetable cs sk
|
|
include ph_czech
|
|
|
|
phonemetable hr sk
|
|
include ph_croatian
|
|
|
|
phonemetable mk hr
|
|
include ph_macedonian
|
|
|
|
phonemetable sr hr
|
|
include ph_serbian
|
|
|
|
phonemetable ru base
|
|
include ph_russian
|
|
|
|
|
|
phonemetable it base2
|
|
include ph_italian
|
|
|
|
phonemetable la base
|
|
include ph_latin
|
|
|
|
phonemetable es base2
|
|
include ph_spanish
|
|
|
|
phonemetable es_la es
|
|
include ph_spanish_la
|
|
|
|
phonemetable pt base2
|
|
include ph_pt_brazil
|
|
|
|
phonemetable pt_pt pt
|
|
include ph_portugal
|
|
|
|
phonemetable ro base2
|
|
include ph_romanian
|
|
|
|
phonemetable el base2
|
|
include ph_greek
|
|
|
|
phonemetable grc base2
|
|
include ph_greek_ancient
|
|
|
|
phonemetable sv base
|
|
include ph_swedish
|
|
|
|
phonemetable no base
|
|
include ph_norwegian
|
|
|
|
phonemetable is base
|
|
include ph_icelandic
|
|
|
|
phonemetable vi base
|
|
include ph_vi
|
|
|
|
phonemetable zhy base
|
|
include ph_zh_yue
|
|
|
|
phonemetable zh base
|
|
include ph_zh
|
|
|
|
|
|
phonemetable sw base
|
|
include ph_swahili
|
|
|
|
phonemetable th base
|
|
include ph_thai
|
|
|
|
phonemetable id base2
|
|
include ph_indonesian
|
|
|
|
phonemetable tr base2
|
|
include ph_turkish
|
|
|
|
phonemetable ku base2
|
|
include ph_kurdish
|
|
|
|
phonemetable ja base
|
|
include ph_japanese
|
|
|
|
phonemetable rw base2
|
|
include ph_kinyarwanda
|