Files
espeak-ng/phsource/ph_french
T
jonsd b1bea7ab61 [1.41]
Added language da (Danish)
Fixed to wave_sada.cpp


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@222 d46cf337-b52f-0410-862d-fd96e6ae7743
2009-09-06 10:07:34 +00:00

603 lines
11 KiB
Plaintext

//====================================================
// French
//====================================================
// Updated 2009-07-30 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
phoneme (r) virtual
after b vwl_fr/tr+r3/rx%35
after g vwl_fr/tr+r3/rx%35
after k vwl_fr/tr+r3/rx%35
after m vwl_fr/tr+r3/rx%25
after n vwl_fr/tr+r3/rx%25
after p vwl_fr/tr+r3/rx%35
after s vwl_fr/tr+r3/rx%30
after S vwl_fr/tr+r3/rx%45
after t vwl_fr/tr+r3/rx%30
after v vwl_fr/tr+r3/rx%30
after z vwl_fr/tr+r3/rx%30
after Z vwl_fr/tr+r3/rx%30
before (i) vwl_fr/@R5
before (o) vwl_fr/@R5
before (u) vwl_fr/@R5
endphoneme
// Vowels
//=======
phoneme @
vowel starttype (@) endtype (@)
length 190
formants vowel/@_hgh
before l/ DFT+l/l_@
before (r) DFT+vwl_fr/r_@
endphoneme
phoneme @- // very short schwa
vowel nonsyllabic
starttype (@) endtype (@)
formants NULL
unstressed
length 70
before l/ DFT+l/l_@
before (r) DFT+vwl_fr/r_@
endphoneme
phoneme @2
vowel starttype (@) endtype (@)
length 170
formants vowel/@_fr
before (r) DFT-10+vwl_fr/r_@
endphoneme
phoneme a
vowel starttype (a) endtype (a)
length 200
formants vowel/a_6
after l l/la-15
before l/ DFT+l/l_a
before (r) DFT-10+vwl_fr/r_a
before r/2 DFT-10+vwl_fr/r_a
endphoneme
phoneme e
vowel starttype (e) endtype (e)
length 190
formants vowel/e_8
after (l) l/le-15
before l/ DFT-20+l/xl
before (r) DFT-10+vwl_fr/r_e
endphoneme
phoneme E
vowel starttype (e) endtype (e)
length 190
formants vowel/e_mid
after (l) l/le-15
before l/ DFT+l/l_e
before (r) DFT-10+vwl_fr/r_e
before r/2 DFT+vwl_fr/r_e
endphoneme
phoneme i
vowel starttype (i) endtype (i)
length 180
formants vowel/i_2
linkout ;
after (l) l/li-15
// after (r) vwl_fr/ri
before l/ DFT+l/l_i
before (r) DFT-20+vwl_fr/r_i
before r/2 DFT+vwl_fr/r_i
endphoneme
phoneme i- // shorter
vowel starttype (i) endtype (i)
length 140
formants vowel/i_2
linkout ;
after (l) l/li-15
// after (r) vwl_fr/ri
endphoneme
phoneme i: // longer than i
vowel starttype (i) endtype (i)
length 250
formants vowel/i_3
linkout ;
after (l) l/li-15
// after (r) vwl_fr/ri
before l/ DFT+l/l_i
before (r) DFT-20+vwl_fr/r_i
before r/2 DFT-20+vwl_fr/r_i
endphoneme
phoneme o
vowel starttype (o) endtype (o)
length 190
formants vowel/o_3
after (l) l/lo-10
before l/ DFT+l/l_o
before (r) DFT+vwl_fr/r_o
before r/2 vowel/o_mid+vwl_fr/r_o
reduceto o2 1
endphoneme
phoneme o2
vowel starttype (o) endtype (o)
length 190
formants vowel/o_2
after (l) l/lo-10
before l/ vowel/o_mid+l/l_o
before (r) DFT+vwl_fr/r_o
before r/2 vowel/o_mid+vwl_fr/r_o
endphoneme
phoneme O
vowel starttype (o) endtype (o)
length 190
formants vowel/o_mid
after (l) l/lo-10
before l/ DFT+l/l_o
before (r) DFT+vwl_fr/r_o
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 190
formants vowel/o_mid
after (l) l/lo-10
before l/ DFT+l/l_o
before (r) DFT+vwl_fr/r_o
before r/2 DFT+vwl_fr/r_o
endphoneme
phoneme u
vowel starttype (u) endtype (u)
length 210
formants vowel/u_bck2
after l l/lu-20
before l/ DFT-20+l/l_u
before (r) 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
before l/ DFT-20+l/l_u
before l/ DFT-20+l/l_u
endphoneme
phoneme y
vowel starttype (u) endtype (u)
length 190
formants vowel/y_2
after l l/lu-20
before l/ DFT-30+l/l_y
before (r) DFT+vwl_fr/r_y
before r/2 DFT+vwl_fr/r_y
before E~ DFT-50
endphoneme
phoneme Y
vowel starttype (@) endtype (@)
length 190
formants vowel/y#
after (l) l/l@-20
before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/r_@
before r/2 DFT+r/xr-40
endphoneme
phoneme W
vowel starttype (@) endtype (@)
length 200
formants vowel/@_5
after (l) l/l@-20
before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/r_@2
before r/2 DFT+vwl_fr/r_@2-30
reduceto Y 1
endphoneme
phoneme W2 // same as W but don't reduce
vowel starttype (@) endtype (@)
length 200
formants vowel/@_3
after (l) l/l@-20
before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/r_@
before r/2 DFT+vwl_fr/r_@2
endphoneme
phoneme wA
vowel starttype (o) endtype (a)
length 240
formants vwl_fr/w_a
after (l) l/lo-10
before l/ DFT-10+l/l_a
before j DFT
before (r) DFT+vwl_fr/r_a
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
before l/ DFT+l/l_i
before (r) DFT+vwl_fr/r_i
before r/2 DFT+vwl_fr/r_i
endphoneme
phoneme A~
vowel starttype (a) endtype (a)
length 210
formants vnasal/aa_n4
before l/ DFT+l/l_a
before (r) DFT+vwl_fr/r_a~
before r/2 DFT+vwl_fr/r_a~
endphoneme
phoneme E~ // same as W~ for fr-fr
vowel starttype (e) endtype (e)
length 210
formants vnasal/W_n
before n2 DFT-100
endphoneme
phoneme O~
vowel starttype (o) endtype (o)
length 210
formants vnasal/o_n2
before (r) DFT+vwl_fr/r_o
endphoneme
phoneme W~
vowel starttype (@) endtype (@)
length 210
formants vnasal/W_n
before (r) DFT+vwl_fr/r_@
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=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 amp=10
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
formants g/g+x/g2%30
before _ g/g_+x/g_
before (r) g/g+x/g2%50
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%40
before r/2 ustop/k%60
before l ustop/kl%45
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 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 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%50
after _ ustop/p%70
before _ ustop/p_%70
before (r) ustop/pr%35
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
vcd uvl frc starttype (r) endtype (r)
vowelin f1=1 f2=1800 10 10 f3=-200 100
vowelout f1=1 f2=1800 10 10 f3=-200 100
length 100
lengthmod 7
beforenotvowel r/2
formants vwl_fr/r
endphoneme
phoneme r2 // silent unless followed by vowel
vcd uvl frc starttype (r) endtype (r)
vowelin f1=0 f2=1000 10 10 f3=-200 100
vowelout f1=0 f2=1200 10 10 f3=-200 100
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=1800 10 10 f3=-200 100
length 100
lengthmod 2
formants r3/r_2+r3/rx%25
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=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/tr%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