//==================================================== // French //==================================================== // Updated 2009-07-30 Michel Such 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