| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602 | //====================================================
//  French
//====================================================
// Updated 2009-07-30 Michel Such  <[email protected]>
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
 |