| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235 | 
// 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 t#     // reduced version of [t]
// 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 =   //  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 25
  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  _^_  //  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
  pause
  vowelin  glstop
  vowelout glstop
  formants NULL
  starttype _ endtype _
  length 45
  lengthmod 5   // ??
  nolink
endphoneme
phoneme : //  Lengthen previous vowel by "length"
  virtual
  length 60
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
  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
  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
  vowelout f1=2 f2=1700 -300 250  f3=-400 80  rms=20 brk colr=2
  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 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 after consonant
  liquid alv
  vowelout f1=3 f2=1700 -300 300  f3=-300 80 rms=35 len=15
  vowelin f1=0  f2=1700 -300 300  f3=-300 80 rms=20
  formants r3/@tap+r3/rx
  vowelin f1=0  f2=1700 -300 300  f3=-400 80 rms=20
  before (i) r3/@tap_i+r3/rx
  before (e) r3/@tap_i+r3/rx
  vowelin f1=2  f2=1700 -300 300  f3=-300 80 rms=20
  before (a) r3/@tap+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=2  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 rms=20
  formants d/tap3+r3/rx%200
  vowelin f1=0  f2=1500 -300 300  f3=-200 80 rms=20
  before (i) d/tap1+r3/rx%150
  before (e) d/tap1+r3/rx%150
  vowelin f1=2  f2=1500 -300 300  f3=-200 80 rms=20
  before (a) d/tap3+r3/rx%200
  before r d/dr
  lengthmod 3
endphoneme
phoneme *2    //   TEST flap
  vcd alv flp
  vowelout f1=2 f2=1700 -300 200  f3=-300 60 len=15 brk
  vowelin f1=2  f2=1700 -300 150  f3=-200 80
  formants d/tap2+x/d_dnt%30
  after _ NULL
  after @ d/x_tap
  vowelin f1=1  f2=1700 -300 150  f3=-200 80
  before (i) d/tap2+x/d_dnt%30
  lengthmod 3
  switchvoicing t
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 _ 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_%80
  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 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 -50  f3=-200 80
//  vowelout f1=0  f2=1000 -500 -350  f3=-200 80
  vowelin  f1=0  f2=1000 -50 -100  f3=-200 80 rms=30
  vowelout f1=0  f2=1000 -500 -350  f3=-300 80 rms=22
  lengthmod 2
  wave ustop/p
  before _ ustop/p_
  before r ustop/pr
  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
  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%25
  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=500 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 ufric/h_%70         // no vowel following
  before (@) ufric/h@
  before (a) ufric/ha
  before (e) ufric/he
  before (i) ufric/hi
  before (o) ufric/ho
  before (u) ufric/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 af base
include ph_af
phonemetable cy base
include ph_welsh
phonemetable de base
include ph_german
phonemetable eo base
include ph_esperanto
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 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 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_portugual
phonemetable ro base2
include ph_romanian
phonemetable el base2
include ph_greek
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 zh_yue base
include ph_zh_yue
phonemetable sw base
include ph_swahili
 |