mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Added experimental Klatt synthesizer. Klatt phonemes use a new format of phoneme data. espeakedit, new dialog fields and layout for Klatt phonemes. Added Klatt versions of English phonemes. Fixed some compilation warnings on Windows. Fixed bug in Lettergroups > L10 Increased amplitude of harmonics below F1 peak, to increase bass. Allow 5 (up from 4) pairs of values in "tone" command in voice files. Default to slightly wider pk_shape1. If words are separated by hyphens, don't add word-gap, and don't pass new-word flag onto phoneme processing. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@203 d46cf337-b52f-0410-862d-fd96e6ae7743
572 lines
10 KiB
Plaintext
572 lines
10 KiB
Plaintext
//====================================================
|
|
// French
|
|
//====================================================
|
|
|
|
phoneme : // Lengthen previous vowel by "length"
|
|
virtual
|
|
length 40 // shorter than for fr-ca
|
|
endphoneme
|
|
|
|
|
|
phoneme @
|
|
vowel starttype (@) endtype (@)
|
|
length 170
|
|
formants vowel/@_hgh
|
|
before l/ DFT+l/l_@
|
|
before (r) DFT+r/xr
|
|
endphoneme
|
|
|
|
|
|
phoneme @2
|
|
vowel starttype (@) endtype (@)
|
|
length 150
|
|
formants vowel/@_fr
|
|
before (r) DFT+r3/r_@
|
|
endphoneme
|
|
|
|
|
|
phoneme a
|
|
vowel starttype (a) endtype (a)
|
|
length 170
|
|
formants vowel/a_6
|
|
after l l/la-15
|
|
before l/ DFT+l/l_a
|
|
before r/2 DFT-40+vwl_fr/r_a
|
|
reduceto a2 1
|
|
endphoneme
|
|
|
|
|
|
phoneme a2
|
|
vowel starttype (a) endtype (a)
|
|
length 150
|
|
formants vowel/a_6
|
|
after l l/la-15
|
|
before l/ DFT+l/l_a
|
|
before (r) DFT+r/xr
|
|
before r/2 DFT+vwl_fr/r_a
|
|
endphoneme
|
|
|
|
|
|
phoneme e
|
|
vowel starttype (e) endtype (e)
|
|
length 172
|
|
formants vowel/e
|
|
after l l/le-15
|
|
before l/ DFT-20+l/xl
|
|
before (r) DFT+r/xr
|
|
endphoneme
|
|
|
|
|
|
phoneme E
|
|
vowel starttype (e) endtype (e)
|
|
length 175
|
|
formants vowel/e_mid
|
|
after l l/le-15
|
|
before l/ DFT+l/l_e
|
|
before r/2 DFT+vwl_fr/r_e
|
|
reduceto E2 1
|
|
endphoneme
|
|
|
|
|
|
phoneme E2
|
|
vowel starttype (e) endtype (e)
|
|
length 175
|
|
formants vowel/e_mid
|
|
after l l/le-15
|
|
before l/ DFT+l/l_e
|
|
before r/2 DFT-20+vwl_fr/r_e
|
|
endphoneme
|
|
|
|
|
|
phoneme i
|
|
vowel starttype (i) endtype (i)
|
|
length 150
|
|
formants vowel/i_3
|
|
linkout ;
|
|
after l l/li-15
|
|
before l/ DFT+l/l_i
|
|
before (r) DFT+r/xr
|
|
before r/2 DFT+r3/r_i
|
|
endphoneme
|
|
|
|
|
|
phoneme i: // longer than i
|
|
vowel starttype (i) endtype (i)
|
|
length 240
|
|
formants vowel/i_3
|
|
linkout ;
|
|
after l l/li-15
|
|
before l/ DFT+l/l_i
|
|
before r/2 DFT-20+r/xr-25
|
|
endphoneme
|
|
|
|
|
|
phoneme o
|
|
vowel starttype (o) endtype (o)
|
|
length 170
|
|
formants vowel/o_3
|
|
after l l/lo-10
|
|
before (r) DFT+r/xr
|
|
endphoneme
|
|
|
|
|
|
phoneme o2
|
|
vowel starttype (o) endtype (o)
|
|
length 170
|
|
formants vowel/o_2
|
|
after l l/lo-10
|
|
before l/ DFT+l/l_o
|
|
before (r) DFT+r/xr
|
|
endphoneme
|
|
|
|
|
|
phoneme O
|
|
vowel starttype (o) endtype (o)
|
|
length 170
|
|
formants vowel/o_mid
|
|
after l l/lo-10
|
|
before l/ DFT+l/l_o
|
|
before r/2 DFT+r3/r_o
|
|
reduceto o 1
|
|
endphoneme
|
|
|
|
|
|
phoneme O2 // Like O but no reduceto
|
|
vowel starttype (o) endtype (o)
|
|
length 170
|
|
formants vowel/o_mid
|
|
after l l/lo-10
|
|
before l/ DFT+l/l_o
|
|
before r/2 DFT+r3/r_o
|
|
endphoneme
|
|
|
|
|
|
phoneme u
|
|
vowel starttype (u) endtype (u)
|
|
length 170
|
|
formants vowel/u_3
|
|
after l l/lu-20
|
|
before l/ DFT-20+l/l_u
|
|
before (r) DFT+r/xr
|
|
before r/2 DFT+vwl_fr/r_u
|
|
endphoneme
|
|
|
|
|
|
phoneme u: // slitely longer than u
|
|
vowel starttype (u) endtype (u)
|
|
length 220
|
|
formants vowel/u_3
|
|
after l l/lu-20
|
|
before l/ DFT-20+l/l_u
|
|
before l/ DFT-20+l/l_u
|
|
before r/2 DFT+r/xr-40
|
|
endphoneme
|
|
|
|
|
|
phoneme y
|
|
vowel starttype (u) endtype (u)
|
|
length 170
|
|
formants vowel/y_2
|
|
after l l/lu-20
|
|
before l/ DFT-30+l/l_y
|
|
before (r) DFT+r/xr
|
|
before r/2 DFT+vwl_fr/r_y
|
|
endphoneme
|
|
|
|
|
|
phoneme Y
|
|
vowel starttype (@) endtype (@)
|
|
length 170
|
|
formants vowel/y#
|
|
after l l/l@-20
|
|
before l/ DFT-20+l/l_@
|
|
before (r) DFT+r/xr
|
|
before r/2 DFT+r/xr-40
|
|
endphoneme
|
|
|
|
|
|
phoneme W
|
|
vowel starttype (@) endtype (@)
|
|
length 180
|
|
formants vowel/@_5
|
|
after l l/l@-20
|
|
before l/ DFT-20+l/l_@
|
|
before r/2 DFT+vwl_fr/r_@
|
|
reduceto Y 1
|
|
endphoneme
|
|
|
|
|
|
phoneme W2 // same as W but don't reduce
|
|
vowel starttype (@) endtype (@)
|
|
length 180
|
|
formants vowel/@_3
|
|
after l l/l@-20
|
|
before l/ DFT-20+l/l_@
|
|
before r/2 DFT+vwl_fr/r_@
|
|
endphoneme
|
|
|
|
|
|
phoneme wA
|
|
vowel starttype (o) endtype (a)
|
|
length 220
|
|
formants vwl_fr/w_a
|
|
after l l/lo-10
|
|
before l/ DFT-10+l/l_a
|
|
before r/2 DFT+vwl_fr/r_a
|
|
endphoneme
|
|
|
|
|
|
phoneme w^i
|
|
vowel starttype (u) endtype (i)
|
|
length 220
|
|
formants vdiph/yi_fr
|
|
after l l/lu-20
|
|
before l/ DFT+l/l_i
|
|
before r/2 DFT+r3/r_i
|
|
endphoneme
|
|
|
|
|
|
phoneme A~
|
|
vowel starttype (a) endtype (a)
|
|
length 190
|
|
formants vnasal/aa_n2
|
|
before r/2 DFT+r/xr-40
|
|
before l/ DFT+l/l_a
|
|
endphoneme
|
|
|
|
|
|
phoneme E~ // same as W~ for fr-fr
|
|
vowel starttype (e) endtype (e)
|
|
length 200
|
|
formants vnasal/W_n
|
|
before n2 DFT-100
|
|
endphoneme
|
|
|
|
|
|
phoneme O~
|
|
vowel starttype (o) endtype (o)
|
|
length 200
|
|
formants vnasal/o_n3
|
|
// before n2 vowel/o_mid
|
|
endphoneme
|
|
|
|
|
|
phoneme W~
|
|
vowel starttype (@) endtype (@)
|
|
length 204
|
|
formants vnasal/W_n
|
|
endphoneme
|
|
|
|
|
|
|
|
// These vowels map to others in fr-fr, but are distinct in fr-ca
|
|
|
|
phoneme I // same as [i]
|
|
vowel starttype (i) endtype (i)
|
|
length 158
|
|
formants vowel/i
|
|
linkout ;
|
|
endphoneme
|
|
|
|
phoneme U // same as [u]
|
|
vowel starttype (u) endtype (u)
|
|
length 174
|
|
formants vowel/u
|
|
endphoneme
|
|
|
|
phoneme y" // same as [y]
|
|
vowel starttype (u) endtype (u)
|
|
length 148
|
|
formants vowel/y_2
|
|
endphoneme
|
|
|
|
phoneme E: // slightly longer than [E]
|
|
vowel starttype (e) endtype (e)
|
|
length 212
|
|
formants vowel/e
|
|
endphoneme
|
|
|
|
phoneme A // same as [a]
|
|
vowel starttype (a) endtype (a)
|
|
length 166
|
|
formants vowel/a
|
|
endphoneme
|
|
|
|
|
|
|
|
|
|
// CONSONANTS
|
|
//===========
|
|
// uses the consonants in file "phonemes", unless overridden here
|
|
|
|
phoneme b
|
|
vcd blb stop
|
|
vowelout f1=0 f2=1000 -500 -300 f3=-300 80
|
|
formants b/b+x/b%70
|
|
before _ b/b_+x/b_
|
|
before l/ b/b_+x/b_
|
|
before R b/b_+x/b_
|
|
after _ NULL
|
|
after @ b/xb%50
|
|
lengthmod 5
|
|
switchvoicing p
|
|
endphoneme
|
|
|
|
phoneme d
|
|
vcd alv stop
|
|
vowelin f1=0 f2=1700 -300 300 f3=-100 80 amp=20
|
|
vowelout f1=0 f2=1700 -300 300 f3=-100 80
|
|
formants d/d+x/d%40
|
|
before _ d/d_+x/d_%50
|
|
before R d/dr+x/d%50
|
|
before r/2 d/dr+x/d%50
|
|
after _ d/d+x/d%50
|
|
after (@) d/xd
|
|
lengthmod 5
|
|
switchvoicing t
|
|
endphoneme
|
|
|
|
|
|
phoneme g
|
|
vcd vel stop
|
|
vowelin f1=2 f2=2300 200 300 f3=-300 80 amp=10
|
|
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
|
formants g/g+x/g2%30
|
|
before _ g/g_+x/g_
|
|
after _ NULL
|
|
after @ g/xg%30
|
|
lengthmod 5
|
|
switchvoicing k
|
|
endphoneme
|
|
|
|
|
|
phoneme k
|
|
vls vel stop
|
|
vowelin f1=0 f2=2300 200 400 f3=-100 80
|
|
vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
|
|
lengthmod 2
|
|
wave ustop/k%40 // reduce strength of noise burst
|
|
before _ ustop/k_
|
|
before R ustop/kr%45
|
|
before r/2 ustop/kr%45
|
|
before l ustop/kl%45
|
|
before l/ ustop/kl%45
|
|
before (i) ustop/ki%45
|
|
switchvoicing g
|
|
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 n2
|
|
beforenotvowel NULL
|
|
vcd alv nasal
|
|
vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
|
|
length 100
|
|
lengthmod 4
|
|
formants n/n_
|
|
before _ n/n_
|
|
endphoneme
|
|
|
|
|
|
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
|
|
lengthmod 2
|
|
wave ustop/p%50
|
|
after _ ustop/p%70
|
|
before _ ustop/p_%70
|
|
before R ustop/pr%30
|
|
before @- ustop/p_unasp%60
|
|
before l ustop/pl%30
|
|
before l/ ustop/pl%30
|
|
switchvoicing b
|
|
endphoneme
|
|
|
|
|
|
phoneme p2 // silent unless followed by vowel
|
|
beforenotvowel NULL
|
|
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%45
|
|
before _ ustop/p_%45
|
|
endphoneme
|
|
|
|
|
|
phoneme r
|
|
liquid rfx starttype (r) endtype (r)
|
|
vowelin f1=0 f2=1600 -300 300 f3=-200 80
|
|
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
|
|
length 100
|
|
lengthmod 7
|
|
beforenotvowel r/2
|
|
formants vwl_fr/@R3+r3/rx%30
|
|
after @2 vwl_fr/@R5+r3/rx%40
|
|
after (u) vwl_fr/@R5+r3/rx%30
|
|
after (e) vwl_fr/@R4+r3/rx%20
|
|
endphoneme
|
|
|
|
|
|
phoneme r2 // silent unless followed by vowel
|
|
liquid rfx starttype (r) endtype (r)
|
|
vowelin f1=0 f2=1000 -200 200 f3=-100 100 len=40
|
|
vowelout f1=0 f2=1200 -200 200 f3=-100 100 len=20
|
|
length 100
|
|
lengthmod 7
|
|
beforenotvowel NULL
|
|
formants vwl_fr/@R4+r3/rx%15
|
|
endphoneme
|
|
|
|
|
|
phoneme R // After consonnants
|
|
vcd frc
|
|
vowelin f1=0 f2=1600 -300 300 f3=-200 80
|
|
length 100
|
|
lengthmod 7
|
|
beforenotvowel r/2
|
|
formants vwl_fr/@R3+r3/rx%20
|
|
after t vwl_fr/@R4
|
|
endphoneme
|
|
|
|
|
|
phoneme r/2 // variant of [r] when not preceding a vowel
|
|
liquid
|
|
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
|
|
length 100
|
|
lengthmod 2
|
|
formants r3/r_2+r3/rx%20
|
|
before n r3/r_n
|
|
beforevowel r
|
|
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%45
|
|
before _ ufric/s_%45
|
|
before p ufric/s!%45
|
|
before t ufric/s!%45
|
|
before k ufric/s!%45
|
|
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%45
|
|
before _ ufric/sh_%45
|
|
switchvoicing Z
|
|
endphoneme
|
|
|
|
|
|
phoneme t
|
|
vls alv stop
|
|
vowelin f1=0 f2=1700 -100 100 f3=-100 80
|
|
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
|
lengthmod 2
|
|
wave ustop/t_short%50
|
|
before _ ustop/t_%40
|
|
before R ustop/t_short%50
|
|
before r/2 ustop/t_short%50
|
|
switchvoicing d
|
|
endphoneme
|
|
|
|
|
|
phoneme t2 // silent unless followed by vowel
|
|
beforenotvowel NULL
|
|
vls alv 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_short%30
|
|
before _ ustop/t_%40
|
|
endphoneme
|
|
|
|
|
|
phoneme t3 // silent unless followed by vowel or pause
|
|
beforepause t
|
|
beforenotvowel NULL
|
|
vls alv 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_short%30
|
|
before _ ustop/t_%40
|
|
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%75
|
|
before R voc/vj+vocw/v%75
|
|
before _ voc/v_+vocw/v
|
|
switchvoicing f
|
|
endphoneme
|
|
|
|
|
|
phoneme z
|
|
vcd alv frc sibilant
|
|
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
|
|
formants voc/z+ufric/s_%45
|
|
before _ voc/z_+ufric/s_%45
|
|
lengthmod 6
|
|
switchvoicing s
|
|
endphoneme
|
|
|
|
|
|
phoneme z2 // silent unless followed by vowel
|
|
beforenotvowel NULL
|
|
vcd alv frc sibilant
|
|
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
|
|
formants voc/z+ufric/s_%45
|
|
before _ voc/z_+ufric/s%45
|
|
lengthmod 6
|
|
endphoneme
|
|
|
|
phoneme z3 // "six" and "dix". [s] before pause, [z] before vowel, else []
|
|
beforepause s
|
|
beforenotvowel NULL
|
|
vcd alv frc sibilant
|
|
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
|
|
formants voc/z+ufric/s_%45
|
|
before _ voc/z_+ufric/s_%45
|
|
lengthmod 6
|
|
endphoneme
|
|
|
|
|
|
|
|
|