Files
espeak-ng/phsource/ph_french
T
jonsd b7a6f479ef [1.38.03]
Fix crash with SSML <say-as>.
Sada audio output now OK on big-endian processors.
Don't reduce the pause before doubles stop consonants (eg.Finnish "kk") as much at high speeds.
Language changes: pl (reduce length of stressed syllables, [i] closer, [f] stronger befiore [s]).


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@188 d46cf337-b52f-0410-862d-fd96e6ae7743
2008-09-01 16:13:19 +00:00

588 lines
11 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-30+l/xl+20
before (r) DFT-50+r/xr
endphoneme
phoneme @2
vowel starttype (@) endtype (@)
length 150
formants vowel/@_fr
before l/ DFT-30+l/xl+20
before (r) DFT-50+r/xr
endphoneme
phoneme a
vowel starttype (a) endtype (a)
length 170
formants vowel/a_5
after l l/la-15
before l/ DFT-20+l/xl
before (r) DFT-40+r/xr
before r/ DFT-30+r/xr
reduceto a2 1
endphoneme
phoneme a2
vowel starttype (a) endtype (a)
length 150
formants vowel/a_5
after l l/la-15
before (r) DFT-40+r/xr
before r/ DFT-20+r/xr
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-50+r/xr
endphoneme
phoneme E
vowel starttype (e) endtype (e)
length 175
formants vowel/e_mid
after l l/le-15
before l/ DFT-20+l/xl
before (r) DFT-50+r/xr
before r/ DFT-40
reduceto E2 1
endphoneme
phoneme E2
vowel starttype (e) endtype (e)
length 175
formants vowel/e_mid
after l l/le-15
before (r) DFT-50+r/xr
before r/ DFT-20
endphoneme
phoneme i
vowel starttype (i) endtype (i)
length 150
formants vowel/i_3
linkout ;
after l l/li-15
before l/ DFT-20+l/L1_iL-80
before (r) DFT-40+r/xr
before r/ DFT-20+r/xr-25
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-20+l/L1_iL-80
before (r) DFT-40+r/xr
before r/ 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-50+r/xr
endphoneme
phoneme o2
vowel starttype (o) endtype (o)
length 170
formants vowel/o_2
after l l/lo-10
before l/ DFT-20+l/L1_oL-80
before (r) DFT-50+r/xr
endphoneme
phoneme O
vowel starttype (o) endtype (o)
length 170
formants vowel/o_mid
after l l/lo-10
before l/ DFT-10+l/xl
before (r) DFT-50+r/xr
before r/ DFT-25+r/xr-20
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 (r) DFT-50+r/xr
before r/ DFT-40+r/xr-10
endphoneme
phoneme u
vowel starttype (u) endtype (u)
length 180
formants vowel/u_3
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before (r) DFT-50+r/xr
before r/ DFT+r/xr-40
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/L1_uL-80
before (r) DFT-50+r/xr
before r/ 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-20+l/L1_uL-80
before (r) DFT-40+r/xr
before r/ DFT+r/xr-30
endphoneme
phoneme Y
vowel starttype (@) endtype (@)
length 170
formants vowel/y#
after l l/l@-20
before l/ DFT-40+l/xl+15
before (r) DFT-40+r/xr
before r/ DFT+r/xr-40
endphoneme
phoneme W
vowel starttype (@) endtype (@)
length 180
formants vowel/@_5
after l l/l@-20
before l/ DFT-40+l/xl+15
before (r) DFT-50+r/xr
before r/ DFT-20+r/xr-30
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-40+l/xl+15
before (r) DFT-50+r/xr
before r/ DFT+r/xr-40
endphoneme
phoneme w^a
vowel starttype (o) endtype (a)
length 240
formants vwl_fr/w_a
after l l/lo-10
before l/ DFT-10+l/xl
before (r) DFT-50+r/xr
before r/ DFT-25+r/xr-15
endphoneme
phoneme w^i
vowel starttype (u) endtype (i)
length 220
formants vdiph/yi_fr
after l l/lu-20
before l/ DFT-20+l/xl
before (r) DFT-50+r/xr
before r/ DFT+r/xr-30
endphoneme
phoneme A~
vowel starttype (a) endtype (a)
length 190
formants vnasal/aa_n2
before (r) DFT-30+r/xr
before r/ DFT+r/xr-40
endphoneme
phoneme E~ // same as W~ for fr-fr
vowel starttype (e) endtype (e)
length 200
formants vnasal/W_n
before n2 DFT-100
before (r) DFT-50+r/xr
endphoneme
phoneme O~
vowel starttype (o) endtype (o)
length 200
formants vnasal/o_n3
before n2 vowel/o_mid
before (r) DFT-30+r/xr
endphoneme
phoneme W~
vowel starttype (@) endtype (@)
length 204
formants vnasal/W_n
before (r) DFT-50+r/xr
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_en
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 brk
formants b/b+x/b%70
before _ 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/ 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/ ustop/kr%45
before l ustop/kl%45
before l/ ustop/kl%45
before (i) ustop/ki%45
switchvoicing g
endphoneme
phoneme l
liquid pal palatal
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 pal palatal
length 100
lengthmod 7
formants l/l_
before b l/l_long
after b 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 brk
lengthmod 2
wave ustop/p%60
after _ ustop/p%70
before _ ustop/p_%70
before (r) ustop/pr%60
before @- ustop/p_unasp%60
before l ustop/pl%60
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
vcd rfx frc starttype (r) endtype (r)
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
vowelout f1=0 f2=800 -50 50 f3=-100 80 len=40
length 100
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R3+r3/rx%40
after t r/tr
after k r/tr
after p r/tr
before _ r/r_
endphoneme
phoneme r2 // silent unless followed by vowel
vcd rfx frc starttype (r) endtype (r)
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
vowelout f1=0 f2=600 -100 100 f3=-100 100 len=40
length 100
lengthmod 7
beforenotvowel NULL
formants vwl_fr/@R3+r3/rx%40
before _ r/r
endphoneme
phoneme R
vcd rfx frc starttype (r) endtype (r)
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
length 100
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R3+r3/rx%40
// after r r/rr
endphoneme
phoneme r/ // variant of [r] when not preceding a vowel
vcd rfx frc
vowelout f1=0 f2=800 -50 50 f3=-100 100 len=40
length 100
lengthmod 2
formants r3/r_2+r3/rx%40
after _ r/rr
after t r/trr+r3/rx
after p r/trr+r3/rx
after k r/trr+r3/rx
before n r3/r_n+r3/rx%50
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) 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 len=0
vowelout f1=0 f2=1000 -300 -2300 f3=-300 100 len=10
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