| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272 | 
// This is the master phoneme file.
// These are fixed phoneme code numbers, which can be used
// directly within the program.
phonemenumber 1 <
phonemenumber 2 %%
phonemenumber 3 %
phonemenumber 4 ,
phonemenumber 5 ,,
phonemenumber 6 '
phonemenumber 7 ''
phonemenumber 8 =       //  stress previous syllable
phonemenumber 9 _:      //  pause
phonemenumber 10 _      //  short pause
phonemenumber 11 _!     //  short pause, no link
phonemenumber 12 :
phonemenumber 13 @
phonemenumber 14 @-
phonemenumber 15 ||
phonemenumber 16 (r)
phonemenumber 17 1      // (numeral 1)  default tone (for tone language)
phonemenumber 18 (X1)   // capital letter indication
phonemenumber 19 ?      // glottal stop
phonemenumber 20 -      // syllabic consonant
phonemenumber 21 _^_    //  Change language
phonemenumber 22 _X1    // a language specific action
phonemenumber 23 _|     // very short pause
phonemenumber 24 _::    // long pause
phonemenumber 25 t#     // reduced version of [t]
phonemenumber 26 '!     // stress - emphasized
phonemenumber 27 _;_    // clause pause
// The base phoneme table contains the utility phonemes, the consonants,
// and a schwa.  The vowels are defined in the language specific phoneme
// tables, which can also redefine consonants if they wish.
//*******************************************************************
// UTILITY PHONEMES
//*******************************************************************
phoneme <   //  Start of control string
  pause
  length 0
  lengthmod 1
endphoneme
phoneme %%  //  Unstressed
  stress
  length 0
endphoneme
phoneme %   //  Diminished stress
  stress
  length 1
endphoneme
phoneme ,   //  Secondary stress
  stress
  length 2
endphoneme
phoneme ,,  //  Secondary stress
  stress
  length 3
endphoneme
phoneme '   //  Primary stress
  stress
  length 4
endphoneme
phoneme ''  //  Primary stress (priority)
  stress
  length 5
endphoneme
phoneme '!  //  Primary stress (emphasized)
  stress
  length 6
endphoneme
phoneme =   //  Place stress on previous vowel
  stress
  length 2
endphoneme
phoneme ||  //   End Word
  pause
  length 0
  lengthmod 1
endphoneme
phoneme _   //  Short pause
  pause
  formants NULL
  starttype _ endtype _
  length 25
  lengthmod 1
endphoneme
phoneme _! //   Short pause, don't replace by linking
  pause
  formants NULL
  starttype _ endtype _
  length 35
  lengthmod 1
  nolink
endphoneme
phoneme _|   //  Very short pause
  pause
  formants NULL
  starttype _ endtype _
  length 1
  lengthmod 1
endphoneme
phoneme _:   //   Standard pause
  pause
  formants NULL
  starttype _ endtype _
  length 75
  lengthmod 1
endphoneme
phoneme _::  //   Long pause
  pause
  formants NULL
  starttype _ endtype _
  length 150
  lengthmod 1
endphoneme
phoneme _;_  //   clause pause
  pause
  formants NULL
  starttype _ endtype _
  length 200
  lengthmod 1
endphoneme
phoneme  _^_  //  Change dictionary (followed by language-code in ascii
  pause
  starttype _ endtype _
  length 10
  lengthmod 1
endphoneme 
phoneme  _X1  //  a language specific action
  pause
  starttype _ endtype _
  length 10
  lengthmod 1
endphoneme 
phoneme ?  // glottal stop
  vls glt stop
  vowelin  glstop
  vowelout glstop
  wave ustop/null
  lengthmod 2   // ??
  nolink
endphoneme
phoneme : //  Lengthen previous vowel by "length"
  virtual
  length 70
endphoneme
phoneme - //  Indicates the previous phoneme is a syllabic consonant
  virtual
  length 0
endphoneme
phoneme @    //  Schwa
  vowel   starttype (@)  endtype (@)
  formants vowel/@
  unstressed
  length 140
endphoneme
phoneme @-   //  very short schwa
  vowel nonsyllabic
  starttype (@)  endtype (@)
  formants vowel/@-
  unstressed
  length 50
endphoneme
//*******************************************************************
// Other sounds
//*******************************************************************
phoneme (X1)  // click, use for indicating capital letters
  vls alv frc sibilant
  lengthmod 3
  wave ustop/percus10
endphoneme
//*******************************************************************
// VIRTUAL - referred to in vowels'   vowel  starttype and endtype
// These each apply to a class of vowels
//*******************************************************************
phoneme (@)  virtual
  after  j j/j@
  after  ; j2/j2@
  after  w w/w@
  after  l l/l@
  after  L l/l@
  after  l^ l^/j2@
  after  #r r/r@-15
  after  r- r2/r2@
  after  m m/m@
  after  n n/n@
  after  N nn/nn@
  after  n^ n^/n^@
  before l/ DFT-60+l/L1_@L
  before l/2 DFT-60+l/L2_@L
  before l DFT-50+l/xl
  before w DFT-30+w/xw
  before j DFT-30+j/xj
  before #r DFT-50+r/xr
  before r- DFT-60+r/xr
  before r/ DFT+r3/r_@
endphoneme
phoneme (a)  virtual
  after  j j/ja
  after  ; j2/j2a
  after  w w/wa
  after  l l/la
  after  L l/la
  after  l^ l^/j2a
  after  #r r/ra-15
  after  r- r2/r2a
  after  m m/ma
  after  n n/na
  after  N nn/nna
  after  n^ n^/n^a
  before l/ DFT-40+l/L1_aL
  before l/2 DFT-40+l/L2_aL
  before l DFT-40+l/xl
  before w DFT-30+w/xw
  before j DFT-30+j/xj
  before #r DFT-50+r/xr
  before r- DFT-60+r/xr
  before r/ DFT+r3/r_a
endphoneme
phoneme (e)  virtual
  after  j j/je
  after  ; j2/j2e
  after  w w/we
  after  l l/le
  after  L l/le
  after  l^ l^/j2e
  after  #r r/re-15
  after  r- r2/r2e
  after  m m/me
  after  n n/ne
  after  N nn/nne
  after  n^ n^/n^e
  before l/ DFT-30+l/L1_eL
  before l/2 DFT-40+l/L2_eL
  before l DFT-40+l/xl
  before w DFT-30+w/xw
  before j DFT-30+j/xj
  before #r DFT-50+r/xr
  before r- DFT-60+r/xr
  before r/ DFT+r3/r_e
endphoneme
phoneme (i)  virtual
  after  j j/ji
  after  ; j2/j2i
  after  w w/wi
  after  l l/li-10
  after  L l/li
  after  l^ l^/j2i
  after  #r r/ri-15
  after  r- r2/r2i
  after  m m/mi
  after  n n/ni
  after  N nn/nni
  after  n^ n^/n^i
  before l/ DFT-30+l/L1_iL
  before l/2 DFT-30+l/L2_iL
  before N DFT-40+nn/inn
  before ; DFT-40+j2/xj2
  before l DFT-40+l/xl
  before j DFT-30+j/xj
  before r- DFT-60+r/xr
  before r/ DFT+r3/r_i
endphoneme
phoneme (o)  virtual
  after  j j/jo
  after  ; j2/j2o
  after  w w/wo
  after  l l/lo
  after  L l/lo
  after  l^ l^/j2o
  after  #r r/ro-15
  after  r- r2/r2o
  after  m m/mo
  after  n n/no
  after  N nn/nno
  after  n^ n^/n^o
  before l/ DFT-40+l/L1_oL
  before l/2 DFT-40+l/L2_oL
  before l DFT-40+l/xl
  before w DFT-30+w/xw
  before j DFT-30+j/xj
  before #r DFT-50+r/xr
  before r- DFT-60+r/xr
  before r/ DFT+r3/r_o
endphoneme
phoneme (u)  virtual
  after  j j/ju
  after  ; j2/j2u
  after  w w/wu
  after  l l/lu
  after  L l/lu
  after  l^ l^/j2u
  after  #r r/ru-15
  after  r- r2/r2u
  after  m m/mu
  after  n n/nu
  after  N nn/nnu
  after  n^ n^/n^u
  before l/ DFT-40+l/L1_uL
  before l/2 DFT-40+l/L2_uL
  before l DFT-40+l/xl
  before w DFT-30+w/xw
  before j DFT-30+j/xj
  before #r DFT-50+r/xr
  before r- DFT-60+r/xr
  before r/ DFT+r3/r_u
endphoneme
phoneme (r)  virtual
// use to mean general sonorant
endphoneme
phoneme #r   virtual
// use for English r in virtual phonemes
endphoneme
//*******************************************************************
// SONORANTS
//*******************************************************************
phoneme r
  liquid starttype #r endtype #r
  length 100
  lengthmod 7
  beforenotvowel r/
  formants r/r
  after _ r/_r
  after t r/tr
  after p r/tr
  after k r/tr
  before _ r/r_
endphoneme
phoneme r/   // used for [r] when not preceding a vowel
  liquid
  length 100
  lengthmod 2   //
  formants r3/r_+r3/rx
  before n   r3/r_n+r3/rx
  after _ r/rr
  after t r/trr
  after p r/trr
  after k r/trr
endphoneme
phoneme r-   // linking r, used between certain vowels and a following vowel
  liquid
  length 100
  lengthmod 0
  formants r/r
  after _ r2/_r2
endphoneme
phoneme R
  liquid
  vowelin  f1=0  f2=1600 -300 300  f3=-200 80
  vowelout f1=2  f2=1600 -300 300  f3=-200 80 brk
  formants r3/r_trill2+r3/r_trill2.wav%65
  trill
  lengthmod 6
endphoneme
phoneme R2   // this is [R] from Slovak/Czech
  liquid
  vowelin  f1=0  f2=1700 -300 300  f3=-300 80
  vowelout f1=2  f2=1700 -300 300  f3=-300 80 brk
  formants r3/r_trill+r3/r_trill.wav%50
  trill
  lengthmod 6
endphoneme
phoneme R3  // Afrikaans
  liquid  starttype #r endtype #r
  length 60
  vowelin  f1=2  f2=2700 -300 -200  f3=-1300 80  
  vowelout f1=2  f2=1700 -300 -200  f3=-1300 80
  formants r3/r_trill+r3/r_trill3.wav%99
  before _ r3/r_trill+r3/r_trill3.wav%99
  trill  
  lengthmod 6
endphoneme
phoneme l
  liquid
  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
  length 100
  lengthmod 7
  formants l/l_
  before (r) l/_l
  beforevowel l
endphoneme
phoneme l/2    // 'dark' [l] after a vowel
  liquid
  length 100
  lengthmod 7
  beforevowel l
endphoneme
phoneme l^    // palatal l
  vowelout len=60 lenadd rate
  liquid
  formants l^/l^
  after _ l^/_l^
  lengthmod 7
endphoneme
phoneme w
  liquid
  length 100
  beforenotvowel w/
  lengthmod 7
  formants w/w
  after _ w/_w
endphoneme
phoneme w/    // used for [w] when not before a vowel
  liquid
  vowelout  len=50
  length 100
  formants w/w_
  lengthmod 7
  beforevowel w
endphoneme
phoneme j
  liquid
  palatal
  length 100
  beforenotvowel j/
  formants NULL
  after _ j/_j
  after v NULL
  lengthmod 7
endphoneme
phoneme j/    // used for [j] when not before a vowel
  liquid
  palatal
  vowelout len=70
  length 100
  formants j/j_
  lengthmod 7
  beforevowel j
endphoneme
phoneme ;     // linking j, (formerly [j-]) used between (i) vowels
              // and a following vowel
              // also to palatalize consonants
  liquid
  palatal
  length 100
  lengthmod 0
  formants NULL
  beforenotvowel NULL    // this is to ignore this phoneme if not before a vowel
  after _ j2/_j2
endphoneme
phoneme m
  vcd blb nasal
  vowelout f1=2  f2=1000 -500 -350  f3=-200 80 brk
  length 100
  lengthmod 4
  formants NULL
  after _ m/_m
  before _ m/m_
  before (r) m/mj
endphoneme
phoneme n
  vcd alv nasal
  vowelout f1=2 f2=1700 -300 250  f3=-100 80  rms=20 brk
  length 100
  lengthmod 4
  formants NULL
  after _ n/_n
  after n n/_n      // lengthen [nn]
  before _ n/n_
  before (r) n/nj
endphoneme
phoneme n.
  vcd rfx nasal
  starttype n  endtype n
  vowelin f1=2 f2=1200 -300 250  f3=-500 80  rms=20 colr=2
  vowelout f1=2 f2=1200 -300 250  f3=-500 80  rms=20 brk colr=2
  length 100
  lengthmod 4
  formants NULL
  after _ n/_nr
  after n n/_nr      // lengthen [nn]
  before _ n/nr_
  before (r) n/nj
endphoneme
phoneme n^
  vcd pal nasal palatal
  vowelout f1=3 f2=2500 300 500  f3=100 80  len=45 brk rate
  length 100
  lengthmod 4
  formants NULL
  after _ n^/_n^
  before _ n^/n^_
  before (r) n/nj
endphoneme
phoneme N
  vcd vel nasal
//  vowelout  brk
  vowelout f1=3 f2=2300 300 400  f3=-200 80  len=40 rms=20 brk
  length 100
  formants NULL
  after _ nn/_nn
  before _ nn/nn_
  before (r) nn/nnj
  lengthmod 8            // longer than 'n'
endphoneme
phoneme **    //   TEST flap
  liquid alv
  vowelout f1=3 f2=1600 -300 300  f3=-300 80 rms=35 len=15
  vowelin f1=2  f2=1600 -300 300  f3=-300 80
  formants r3/@tap+r3/rx%50
  vowelin f1=3  f2=1600 -300 300  f3=-300 80
  before (i) r3/@tap_i+r3/rx
  before (e) r3/@tap_i+r3/rx
endphoneme
//*******************************************************************
// VOICED STOPS
//*******************************************************************
phoneme  b
  vcd blb stop
  vowelout f1=2  f2=1000 -500 -300  f3=-300 80 brk
  formants b/b+x/b
  before _ b/b_+x/b_
  before (a) b/ba+x/b
  before (@) b/b@+x/b
  before (e) b/be+x/b
  before (i) b/bi+x/b
  before (o) b/bo+x/b
  before (u) b/bu+x/b
  before @-  b/b@2+x/b
  after _ NULL
  after @ b/xb
  lengthmod 5
  switchvoicing p
endphoneme
phoneme d
  vcd alv stop
  vowelin f1=1  f2=1700 -300 300  f3=-100 80
  vowelout f1=2 f2=1700 -300 300  f3=-100 80
  formants d/d+x/d
  before _ d/d_+x/d_
  before r d/dr+x/d
  after _ NULL
  after @ d/xd
  lengthmod 5
  switchvoicing t
endphoneme
phoneme d[
  vcd dnt stop
  vowelin f1=2  f2=1500 -300 300  f3=-150 80
  vowelout f1=2 f2=1500 -300 300  f3=-150 80
  formants d/d+x/d_dnt%110
  before _ d/d_+x/d_
  before r d/dr+x/d_dnt%110
  after _ NULL
  after @ d/xd
  lengthmod 5
  switchvoicing t[
endphoneme
phoneme *    //   flap
  vcd alv flp
  brkafter
  vowelout f1=3 f2=1500 -400 300  f3=-200 80 rms=35 len=50
  vowelin f1=0  f2=1500 -300 300  f3=-200 80
  formants d/tap3+r3/rx%200
  vowelin f1=0  f2=1500 -300 300  f3=-200 80
  before (i) d/tap1+r3/rx%150
  before (e) d/tap1+r3/rx%150
  vowelin f1=2  f2=1500 -300 300  f3=-200 80
  before (a) d/tap3+r3/rx%200
  before r d/dr
  lengthmod 3
endphoneme
phoneme dZ
  vcd pla afr sibilant
  vowelin f1=2  f2=2300 200 400  f3=100 80
  vowelout f1=2  f2=2300 250 300  f3=100 80 brk
  formants dzh/dzh+x/dzh
  before _ dzh/dzh_+x/dzh_
  after _ NULL
  after @ dzh/xdzh
  lengthmod 5
  switchvoicing tS
endphoneme
phoneme dz;       // this should be different from dZ;
  vcd pla afr sibilant palatal
  vowelin f1=2  f2=2700 400 600  f3=300 80 rate len=70
  formants dzh/dzh+x/dz_pzd
  before _ dzh/dzh_+x/dzh_
  after _ NULL
  after @ dzh/xdzh
  lengthmod 5
  switchvoicing ts;
endphoneme
phoneme dZ;
  vcd pla afr sibilant palatal
  vowelin f1=2  f2=2700 400 600  f3=300 80 rate len=70
  formants dzh/dzh+x/dz_pzd
  before _ dzh/dzh_+x/dzh_
  after _ NULL
  after @ dzh/xdzh
  lengthmod 5
  switchvoicing tS;
endphoneme
phoneme J
  vcd pla afr sibilant
  vowelin f1=2  f2=2700 400 600  f3=300 80 rate len=70
  vowelout f1=2 f2=2700 400 600  f3=300 80 colr=1
  formants dzh/dz_pzd+x/dzh%40
  before _ dzh/dz_pzd_+x/dzh%35
  after _ NULL
  after @ dzh/xdz_pzd
  lengthmod 5
  switchvoicing c
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
  formants g/g+x/g2%150
  before _ g/g_+x/g_
  after _ NULL
  after @ g/xg
  lengthmod 5
  switchvoicing k
endphoneme
phoneme g-     // linking g, used between N and a vowel
  vcd vel stop
  vowelin f1=2  f2=2300 200 400  f3=-100 80
  vowelout f1=2  f2=2300 250 300  f3=-300 80 brk
  formants g2/g+x/g2_
  before _ g2/g_+x/g2_
  after _ NULL
  after @ g2/xg
  lengthmod 5
endphoneme
//*******************************************************************
// VOICED fricatives
//*******************************************************************
phoneme B
  vcd blb frc
  vowelin  f1=2  f2=1000 -300 -200  f3=-100 100
  vowelout f1=2  f2=1000 -500 -300  f3=-100 60  len=50
  lengthmod 6
  formants voc/bh+vocw/v
  before _ voc/v_+vocw/v
  switchvoicing f
endphoneme
phoneme v
  vcd lbd frc
  vowelin  f1=0  f2=1000 -300 -200  f3=-300 100
  vowelout f1=0  f2=1000 -500 -300  f3=-300 60  len=50
  lengthmod 6
  formants voc/v+vocw/v
  before (r) voc/vj+vocw/v
  before _ voc/v_+vocw/v
  switchvoicing f
endphoneme
phoneme D
  vcd dnt frc
  vowelout f1=0  f2=1700 -300 300  f3=-100 60  len=50
  formants voc/dh+vocw/dh
  before _ voc/dh_+vocw/dh
  lengthmod 6
  switchvoicing T
endphoneme
phoneme z
  vcd alv frc sibilant
  vowelout f1=0  f2=1700 -300 300  f3=-100 60  len=50 
  formants voc/z+ufric/s_
  before _ voc/z_+ufric/s_%85
  lengthmod 6
  switchvoicing s
endphoneme
phoneme Z
  vcd pla frc sibilant
  vowelin  f1=0  f2=2000 0 300  f3=-200 80
  vowelout f1=2  f2=2000 0 300  f3=-200 80 brk
  formants voc/zh+vocw/zh
  before _ voc/zh_+vocw/zh
  lengthmod 6
  switchvoicing S
endphoneme
phoneme z.
  vcd pla frc sibilant
  vowelin  f1=0  f2=1800 -100 300  f3=-300 80
  vowelout f1=2  f2=1800 -100 300  f3=-300 80 brk
  formants voc/zh+vocw/zh_rfx
  before _ voc/zh_+vocw/zh_rfx
  lengthmod 6
  switchvoicing s.
endphoneme
phoneme z;
  vcd pal frc sibilant palatal
  vowelin  f1=2  f2=2700 400 600  f3=300 80 rate len=70
  vowelout f1=2  f2=2300 250 300  f3=-300 80 brk
  formants voc/z_pzd+ufric/s_pzd%80
  before _ voc/z_pzd_+ufric/s_pzd_%80
  lengthmod 6
  switchvoicing s;
endphoneme
phoneme Z;
  vcd pal frc sibilant palatal
  vowelin  f1=2  f2=2700 400 600  f3=300 80 rate len=70
  vowelout f1=2  f2=2300 250 300  f3=-300 80 brk
  formants voc/z_pzd+ufric/sh_pzd_
  before _ voc/z_pzd_+ufric/sh_pzd_
  lengthmod 6
  switchvoicing Z;
endphoneme
phoneme J^   // palatal fricative (Kirshenbaum C<vcd>)
  vcd pal frc palatal
  vowelin f1=2  f2=2700 400 600  f3=200 70
  vowelout f1=2 f2=2700 400 600  f3=200 70 len=100
  lengthmod 6
  formants voc/j+ufric/ch%25
endphoneme
phoneme Q
  vcd vel frc
  vowelin f1=2  f2=2300 200 400  f3=-100 80
  vowelout f1=2  f2=2300 250 300  f3=-300 80 brk
  lengthmod 6
  formants voc/Q+vocw/Q
  before _ voc/Q_+vocw/Q_
  switchvoicing x
endphoneme
phoneme Q^
  vcd vel frc
  vowelin f1=2  f2=2700 400 600  f3=200 80
  vowelout f1=2  f2=2700 40 600  f3=200 80 brk
  lengthmod 6
  formants voc/Q+vocw/Q
  before _ voc/Q_+vocw/Q_
  switchvoicing x
endphoneme
//*******************************************************************
// UNVOICED STOPS
//*******************************************************************
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
  before _ ustop/p_
  before r ustop/pr%70
  before R ustop/pr
  before @- ustop/p_unasp
  before l ustop/pl
  switchvoicing b
endphoneme
phoneme t
  vls alv stop
  vowelin f1=0  f2=1700 -300 300  f3=-100 80
  vowelout f1=0 f2=1700 -300 250  f3=-100 80  rms=20
  lengthmod 2
  wave  ustop/t%90
  before _ ustop/t_
  before @- ustop/t_dnt%50
  before r ustop/tr
  before R ustop/tr
  switchvoicing d
endphoneme
phoneme t[        // dental variant of /t/
  vls dnt 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_dnt%50
  before _ ustop/t_dnt%35
  before r ustop/tr
  switchvoicing d[
endphoneme
phoneme tS
  vls pla afr sibilant
  vowelin f1=0  f2=2300 200 400  f3=-100 80
  lengthmod 2
  wave ustop/tsh
  before _ ustop/tsh_
  switchvoicing dZ
endphoneme
phoneme ts;      // this should be different from tS;
  vls pal afr sibilant palatal
  vowelin f1=0  f2=2700 400 600  f3=300 80 rate len=70
  lengthmod 2
  wave ustop/ts_pzd
  before _ ustop/ts_pzd
  switchvoicing dz;
endphoneme
phoneme tS;
  vls pal afr sibilant palatal
  vowelin f1=0  f2=2700 400 600  f3=300 80 rate len=70
  lengthmod 2
  wave ustop/ts_pzd
  before _ ustop/ts_pzd
  switchvoicing dZ;
endphoneme
phoneme c
  vls pal stop
  vowelin f1=0  f2=2700 200 500  f3=400 80 rate len=80
  vowelout f1=0  f2=2700 300 500  f3=300 80
  lengthmod 2
  wave ustop/c%130
  before _ ustop/ki%80
endphoneme
phoneme k
  vls vel stop
  vowelin f1=0  f2=2300 200 300  f3=-200 80
  vowelout f1=0 f2=2300 300 400  f3=-200 80  rms=20
  lengthmod 2
  wave ustop/k
  before _ ustop/k_
  before r ustop/kr
  before R ustop/kr
  before @- ustop/k_unasp%70
  before l ustop/kl
  before (i) ustop/ki
  switchvoicing g
endphoneme
phoneme q
  vls uvl stop
  vowelin f1=1  f2=1700 0 200  f3=-300 80 f4 paus rms=35
  vowelout f1=1 f2=1700 0 200  f3=-300 80 f4 rms=30
  lengthmod 2
  wave ustop/k_unasp%60
  before _ ustop/k_unasp%50
endphoneme
//*******************************************************************
// UNVOICED fricatives
//*******************************************************************
phoneme f
  vls lbd frc
  vowelout f1=0  f2=1000 -500 -350  f3=-200 80
  lengthmod 3
  wave ufric/f
  before _ ufric/f_
  switchvoicing v
endphoneme
phoneme T
  vls dnt frc
  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/th
  before _ ufric/th_
  switchvoicing D
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
  before _ ufric/s_
  before p ufric/s!
  before t ufric/s!
  before k ufric/s!
  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
  before _ ufric/sh_
  switchvoicing Z
endphoneme
phoneme s;
  vls pal frc sibilant palatal
  vowelin  f1=1  f2=2700 400 600  f3=200 70 rate len=70
  vowelout f1=1  f2=2700 400 600  f3=200 70 rate len=70
  length 100
  lengthmod 3
  wave ufric/s_pzd
  before _ ufric/s_pzd_
  switchvoicing z;
endphoneme
phoneme s.
  vls pla frc sibilant
  vowelin  f1=0  f2=1800 -100 300  f3=-300 80
  vowelout f1=0  f2=1800 -100 300  f3=-300 80
  length 100
  lengthmod 3
  wave ufric/sh_rfx%90
  before _ ufric/sh_rfx%60
  switchvoicing z.
endphoneme
phoneme S;
  vls pal frc sibilant palatal
  vowelin  f1=1  f2=2700 400 600  f3=200 70 rate len=70
  vowelout f1=1  f2=2700 400 600  f3=200 70 rate
  length 100
  lengthmod 3
  wave ufric/sh_pzd
  before _ ufric/sh_pzd_
  switchvoicing Z;
endphoneme
phoneme L   // Welsh "ll"
  vls alv frc
  length 100
  lengthmod 3
  wave ufric/ll%80
//  before _ ufric/ll_
endphoneme
phoneme C
  vls pal frc palatal
  vowelin f1=0  f2=2700 400 600  f3=200 70
  vowelout f1=0 f2=2700 400 600  f3=200 70  rms=20
  length 100
  lengthmod 3
  wave ufric/ch
endphoneme
phoneme x
  vls vel frc
  vowelin f1=0  f2=2300 200 400  f3=-100 80
  vowelout f1=0 f2=2300 300 400  f3=-100 80  rms=20
  length 100
  lengthmod 3
  wave ufric/x
  switchvoicing Q
endphoneme
phoneme h
  vls glt apr
  length 100
  lengthmod 3
  wave h/h_%70         // no vowel following
  before (@) h/h@
  before (a) h/ha
  before (e) h/he
  before (i) h/hi
  before (o) h/ho
  before (u) h/hu
endphoneme
//*******************************************************************
// ADDITIONAL PHONEME TABLES
//*******************************************************************
phonemetable base2 base
include ph_base2
phonemetable en base
include ph_english
phonemetable en_n en
include ph_english_n
phonemetable en_us en
include ph_english_us
phonemetable en_sc en
include ph_english_sc
phonemetable en_rp en
include ph_english_rp
phonemetable en_wm en
include ph_english_wm
phonemetable en_wi en
include ph_english_wi
phonemetable af base
include ph_afrikaans
phonemetable cy base
include ph_welsh
phonemetable de base
include ph_german
phonemetable eo base
include ph_esperanto
phonemetable jbo eo
include ph_lojban
phonemetable fi base
include ph_finnish
phonemetable fr base
include ph_french
phonemetable fr_ca fr
include ph_french_ca
phonemetable hi base
include ph_hindi
phonemetable ta hi
include ph_tamil
phonemetable hu base
include ph_hungarian
phonemetable nl base
include ph_dutch
phonemetable pl base
include ph_polish
phonemetable sk pl
include ph_slovak
phonemetable cs sk
include ph_czech
phonemetable hr sk
include ph_croatian
phonemetable mk hr
include ph_macedonian
phonemetable sr hr
include ph_serbian
phonemetable ru base
include ph_russian
phonemetable it base2
include ph_italian
phonemetable la base
include ph_latin
phonemetable es base2
include ph_spanish
phonemetable pt base2
include ph_pt_brazil
phonemetable pt_pt pt
include ph_portugal
phonemetable ro base2
include ph_romanian
phonemetable el base2
include ph_greek
phonemetable grc base2
include ph_greek_ancient
phonemetable sv base
include ph_swedish
phonemetable no base
include ph_norwegian
phonemetable is base
include ph_icelandic
phonemetable vi base
include ph_vi
phonemetable zhy base
include ph_zh_yue
phonemetable zh base
include ph_zh
phonemetable sw base
include ph_swahili
phonemetable th base
include ph_thai
phonemetable id base2
include ph_indonesian
phonemetable ja base
include ph_japanese
 |