Files
espeak-ng/phsource/ph_french
T
jonsd 075bfe9006 [1.41.18]
*_list: Changed name to $combine (from $alt2) for the attribute which indicates that a word should combine with the next word.

Voices files: Added attribute "speed", which specified a percentage change to the speaking speeds which are used for this voice.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@229 d46cf337-b52f-0410-862d-fd96e6ae7743
2009-10-19 11:10:05 +00:00

639 lines
12 KiB
Plaintext

//====================================================
// French
//====================================================
// Updated 2009-10-13 Michel Such <michel.such@free.fr>
phoneme (l) virtual
// Used for l and l/
endphoneme
phoneme : // Lengthen previous vowel by "length"
virtual
length 40 // shorter than for fr-ca
endphoneme
// Vowels
//=======
phoneme @
vowel starttype (@) endtype (@)
length 170
formants vowel/@_hgh
after (r) vwl_fr/r@
before l/ DFT+l/l_@
before (r) DFT+vwl_fr/xr
endphoneme
phoneme @2
vowel starttype (@) endtype (@)
length 160
formants vowel/@_fr
after (r) vwl_fr/r@
before (r) DFT+vwl_fr/xr
endphoneme
phoneme a
vowel starttype (a) endtype (a)
length 170
formants vowel/a_6
after l l/la-15
after (r) vwl_fr/ra
before l/ DFT+l/l_a
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_a
endphoneme
phoneme e
vowel starttype (e) endtype (e)
length 170
formants vowel/e_8
after (l) l/le-15
after (r) vwl_fr/re
before l/ DFT-20+l/xl
before (r) DFT+vwl_fr/xr
endphoneme
phoneme E
vowel starttype (e) endtype (e)
length 170
formants vowel/e_mid
after (l) l/le-15
after (r) vwl_fr/re
before l/ DFT+l/l_e
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_e
endphoneme
phoneme E2 // Between e and E
vowel starttype (e) endtype (e)
length 170
formants vowel/e_9
after (l) l/le-15
after (r) vwl_fr/re
before l/ DFT+l/l_e
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_e
endphoneme
phoneme i
vowel starttype (i) endtype (i)
length 160
formants vowel/i_2
linkout ;
after (l) l/li-15
after (r) vwl_fr/ri-30
before l/ DFT+l/l_i
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_i
endphoneme
phoneme i- // shorter
vowel starttype (i) endtype (i)
length 110
formants vowel/i_2
after (l) l/li-15
after (r) vwl_fr/ri
endphoneme
phoneme i: // longer than i
vowel starttype (i) endtype (i)
length 240
formants vowel/i_3
linkout ;
after (l) l/li-15
after (r) vwl_fr/ri
before l/ DFT+l/l_i
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_i
endphoneme
phoneme o
vowel starttype (o) endtype (o)
length 170
formants vowel/o_8
after (l) l/lo-10
after (r) vwl_fr/ro
before l/ DFT+l/l_o
before (r) DFT+vwl_fr/xr
before r/2 vowel/o_mid2+vwl_fr/r_o
reduceto o2 1
endphoneme
phoneme o2
vowel starttype (o) endtype (o)
length 170
formants vowel/o
after (l) l/lo-10
after (r) vwl_fr/ro
before l/ vowel/o_mid2+l/l_o
before (r) DFT+vwl_fr/xr
before r/2 vowel/o_mid2+vwl_fr/r_o
endphoneme
phoneme O
vowel starttype (o) endtype (o)
length 170
formants vowel/o_mid2
after (l) l/lo-10
after (r) vwl_fr/ro
before l/ DFT+l/l_o
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_o
reduceto o2 1
endphoneme
phoneme O2 // Like O but no reduceto
vowel starttype (o) endtype (o)
length 170
formants vowel/o_mid2
after (l) l/lo-10
after (r) vwl_fr/ro
before l/ DFT+l/l_o
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_o
endphoneme
phoneme o3 // almost like english oU
vowel starttype (@) endtype (u)
length 220
formants vdiph/@u_3
endphoneme
phoneme u
vowel starttype (u) endtype (u)
length 170
formants vowel/u_bck2
after l l/lu-20
after (r) vwl_fr/ru
after R vwl_fr/ru-10
before l/ DFT-20+l/l_u
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_u
before i DFT-50
endphoneme
phoneme u: // slitely longer than u
vowel starttype (u) endtype (u)
length 240
formants vowel/u_bck2
after l l/lu-20
after (r) vwl_fr/ru
before l/ DFT-20+l/l_u
endphoneme
phoneme y
vowel starttype (u) endtype (u)
length 170
formants vowel/y_2
after l l/lu-20
after (r) vwl_fr/ry
before l/ DFT-30+l/l_y
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_y
before E~ DFT-50
endphoneme
phoneme Y
vowel starttype (@) endtype (@)
length 170
formants vowel/y#
after (l) l/l@-20
after (r) vwl_fr/r@
before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_@
reduceto W 1
endphoneme
phoneme W
vowel starttype (@) endtype (@)
length 180
formants vowel/@
after (l) l/l@-20
after (r) vwl_fr/r@
before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/xr
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
after (r) vwl_fr/ro
before l/ DFT-10+l/l_a
before j DFT
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_a
endphoneme
phoneme w^i
vowel starttype (u) endtype (i)
length 240
formants vdiph/yi_fr
after l l/lu-20
after (r) vwl_fr/ry
before l/ DFT+l/l_i
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_i
endphoneme
phoneme A~
vowel starttype (a) endtype (a)
length 190
formants vnasal/aa_n4
after (r) vwl_fr/rA~
before l/ DFT+l/l_a
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_a~
endphoneme
phoneme E~ // same as W~ for fr-fr
vowel starttype (e) endtype (e)
length 190
formants vnasal/W_n
after (r) vwl_fr/r@
before n2 vowel/e_mid
before (r) DFT+vwl_fr/xr
endphoneme
phoneme O~
vowel starttype (o) endtype (o)
length 190
formants vnasal/o_n2
after (r) vwl_fr/ro
before (r) DFT+vwl_fr/xr
endphoneme
phoneme W~
vowel starttype (@) endtype (@)
length 190
formants vnasal/W_n
after (r) vwl_fr/r@
before (r) DFT+vwl_fr/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_mid
after (l) l/le-15
after (r) vwl_fr/re
before l/ DFT+l/l_e
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_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=2 f2=1000 -500 -300 f3=-300 80 brk
formants b/b+x/b%70
before _ b/b_+x/b_
before (l) 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
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
formants g/g+x/g%20
before _ g/g_+x/g_
// before (r) g/g_+x/g_%25
after _ NULL
after (@) g/xg%30
after n g2/g+x/g2_
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/k%50
before r/2 ustop/k%60
before (l) ustop/kl%45
before (i) ustop/ki%45
switchvoicing g
endphoneme
phoneme l
liquid starttype (l) endtype (l)
vowelout f1=1 f2=1600 -300 300 f3=100 80 brk
length 100
lengthmod 7
beforenotvowel l/
formants l/l
after _ l/_l
after r/2 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 palatal starttype (l) endtype (l)
length 100
lengthmod 7
formants l/_l
after (i) 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 rms=22
lengthmod 2
wave ustop/p_unasp_%90
after _ ustop/p%70
before _ ustop/p_%70
// before (r) ustop/pr%45
before @- ustop/p_unasp%60
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 uvl starttype (r) endtype (r)
vowelin f1=0 f2=1600 -300 300 f3=-200 80 len=20
vowelout f1=2 f2=1600 -300 300 f3=-300 80
length 100
lengthmod 7
beforenotvowel r/2
formants vwl_fr/r+r3/r_uvl.wav%25
after _ vwl_fr/_r
after k vwl_fr/tr
after p vwl_fr/tr
after t vwl_fr/tr+r3/r_uvl.wav%30
after r/2 vwl_fr/_r
endphoneme
phoneme R // First letter of a word
liquid uvl starttype (r) endtype (r)
vowelin f1=0 f2=1600 -300 300 f3=-200 80 len=20
vowelout f1=2 f2=1600 -300 300 f3=-300 80
length 100
lengthmod 0
beforenotvowel r/2
formants vwl_fr/_r2+r3/r_uvl.wav%25
after _ vwl_fr/_r
after (a) vwl_fr/_r
after (e) vwl_fr/_r
after (@) vwl_fr/_r
after (i) vwl_fr/_r
after (o) vwl_fr/_r
after (u) vwl_fr/_r
after y vwl_fr/_r
after (l) vwl_fr/_r
after r/2 vwl_fr/_r
endphoneme
phoneme r2 // silent unless followed by vowel
liquid uvl starttype (r) endtype (r)
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-300 80
length 100
lengthmod 7
beforenotvowel NULL
formants vwl_fr/r
endphoneme
phoneme r/2 // variant of [r] when not preceding a vowel
liquid uvl starttype r/2 endtype r/2
vowelout f1=2 f2=1600 -300 300 f3=-300 100
length 100
lengthmod 2
formants vwl_fr/r_
after (a) vwl_fr/r_+r3/r_uvl.wav%30
after (e) vwl_fr/r_+r3/r_uvl.wav%30
after (@) vwl_fr/r_+r3/r_uvl.wav%30
after (i) vwl_fr/r_+r3/r_uvl.wav%30
after (o) vwl_fr/r_+r3/r_uvl.wav%30
after (u) vwl_fr/r_+r3/r_uvl.wav%30
before m r3/r_n
before n r3/r_n
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=1900 100 300 f3=-100 80
vowelout f1=0 f2=1900 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=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 brk
lengthmod 2
wave ustop/t_short%40
before _ ustop/t_%40
before (r) ustop/t_short%40
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 -100 -100 f3=-300 100
vowelout f1=0 f2=1000 -100 -100 f3=-300 100
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_%35
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