//****************************************************************
//redefinition of the : phoneme
phoneme : //  lengthen previous vowel by "length"
  virtual
  length 140
endphoneme

// VOWELS
//****************************************************************


phoneme @    //  Schwa, but always unstressed
  vowel   starttype #@  endtype #@
  unstressed
  length 140
  IF nextPh(r/) THEN
    Length 190
    FMT(vwl_af/r@)
  ENDIF
  FMT(vwl_af/@)
endphoneme


phoneme a    // short A
  vowel  starttype #a  endtype #a
  ipa ɐ
  length 140
  FMT(vowel/V_2)
endphoneme


phoneme E    // short E
  vowel  starttype #e  endtype #e
  length 140
  FMT(vowel/e_mid2)
endphoneme

phoneme I     // short I,  Schwa
  vowel   starttype #@  endtype #@
  ipa ə
  length 140
  IF nextPh(r/) THEN
     Length 190
     FMT(vwl_af/r@)
  ENDIF
  FMT(vwl_af/I)
endphoneme


phoneme O     // short O
  vowel  starttype #o   endtype #o
  length 140
  FMT(vowel/oo_3)
endphoneme


phoneme W    //  short U
  vowel starttype #@ endtype #@
  length 140
  FMT(vowel/oe)
endphoneme


phoneme u    // short OE
  vowel  starttype #u  endtype #u
  length 110
  FMT(vowel/uu_3)
endphoneme


phoneme &    //  more open [E]
  vowel  starttype #e  endtype #e
  length 150
  IF nextPh(l/2) THEN
     VowelEnding(l/L_eL_af, -30)
  ENDIF
  FMT(vowel/ee_3)
endphoneme


phoneme &:    //  more open [E] longer
  vowel  starttype #e  endtype #e
  length 280
  IF nextPh(l/2) THEN
     VowelEnding(l/L_eL_af, -30)
  ENDIF
  FMT(vowel/ee_3)
endphoneme


phoneme @L   // syllabic L
  vowel  starttype #@  endtype l
  ipa əl
  unstressed
  length 160
  FMT(vwl_en/@L)
endphoneme



phoneme A:   // long A
  vowel  starttype #a  endtype #a
  length 280
  FMT(vowel/aa_3)
endphoneme


phoneme e@    // long E
  vowel  starttype #i  endtype #@
  ipa iə
  length 230
  FMT(vdiph/i@_2)
endphoneme


phoneme i     // long I
  vowel  starttype #i  endtype #i
  length 100
  IfNextVowelAppend(;)
  FMT(vowel/i_3)
endphoneme


phoneme o@    // long O
  vowel  starttype #u  endtype #@
  ipa ʊə
  length 250
  FMT(vdiph2/o@)
endphoneme


phoneme y     // long U
  vowel starttype #i  endtype #i
  length 180
  FMT(vowel/y_3)
endphoneme


phoneme iu
  vowel  starttype #i  endtype #u
  length 220
  FMT(vdiph2/iu_3)
endphoneme


phoneme @U
  vowel  starttype #@  endtype #u
  length 170
  FMT(vdiph/Vu)
endphoneme


phoneme aI
  vowel  starttype #a  endtype #i
  length 220
  IfNextVowelAppend(;)
  FMT(vdiph/ai_4)
endphoneme


phoneme AI
  vowel  starttype #a  endtype #i
  length 310
  IfNextVowelAppend(;)
  FMT(vdiph/aai_2)
endphoneme


phoneme eI
  vowel  starttype #e  endtype #i
  ipa ɛɪ
  length 170
  IfNextVowelAppend(;)
  FMT(vdiph/@i_2)
endphoneme


phoneme OI
  vowel  starttype #o  endtype #i
  length 230
  IfNextVowelAppend(;)
  FMT(vdiph/ooi_2)
endphoneme


phoneme oI
  vowel  starttype #o  endtype #i
  ipa ʊɪ
  length 290
  IfNextVowelAppend(;)
  FMT(vdiph/oi_2)
endphoneme


phoneme uI
  vowel  starttype #u  endtype #i
  length 240
  IfNextVowelAppend(;)
  FMT(vdiph/ui_2)
endphoneme


phoneme Yy
  vowel  starttype #@  endtype #i
  length 220
  IfNextVowelAppend(;)
  FMT(vdiph/y#y_2)
endphoneme


phoneme Y@
  vowel  starttype #i  endtype #@
  length 210
  FMT(vdiph2/y#@)
endphoneme


phoneme aU
  vowel  starttype #a  endtype #u
  length 230
  FMT(vdiph/au)
endphoneme


// circumflex accent vowels

phoneme e:
  vowel  starttype #e  endtype #e
  length 210
  FMT(vowel/e)
endphoneme


phoneme O:
  vowel  starttype #o  endtype #o
  length 280
  FMT(vowel/oo_1)
endphoneme


phoneme 3:
  vowel  starttype #@  endtype #@
  length 230
  FMT(vowel/3_en)
endphoneme


// Nasal vowels

phoneme A~
  vowel  starttype #a endtype #a
  length 240
  FMT(vnasal/aa_n3)
endphoneme


phoneme e~ 
  vowel  starttype #e  endtype #e
  length 240
  FMT(vnasal/e_n)
endphoneme


phoneme o~
  vowel  starttype #o  endtype #o
  length 240
  FMT(vnasal/o_n2)
endphoneme



// CONSONANTS
//===========

phoneme x2
  vls vel frc
  Vowelin f1=0  f2=2300 200 400  f3=-100 100
  Vowelout f1=0 f2=2300 300 400  f3=-100 100  rms=20
  lengthmod 3
  WAV(ufric/x2, 60)      // stronger version of [x]
endphoneme


phoneme r
  liquid rhotic
  trill
  lengthmod 6
  Vowelin  f1=2  f2=2700 -300 -200  f3=-1300 80  
  Vowelout f1=2  f2=1700 -300 -200  f3=-1300 80

  NextVowelStarts
    VowelStart(r/r@, -15)
    VowelStart(r/ra, -15)
    VowelStart(r/re, -15)
    VowelStart(r/ri, -15)
    VowelStart(r/ro, -15)
    VowelStart(r/ru, -15)
  EndSwitch

  IF prevPh(isVowel) THEN
    VowelEnding(r/xr, -50)
  ENDIF

  FMT(r3/r_trill) addWav(r3/r_trill3.wav, 100)
endphoneme


phoneme r/   // used for [r] when not preceding a vowel
  liquid
  lengthmod 7

  IF prevPh(@) OR prevPh(I) THEN
  ELSE
    FMT(r3/r_) addWav(r3/rx)
  ENDIF
endphoneme


phoneme l
  import_phoneme en/l
endphoneme


phoneme c         // used in -tjie
  vls pal stop palatal
  voicingswitch g
  lengthmod 2
  Vowelin f1=0  f2=2700 400 600  f3= 200 80
  Vowelout f1=0 f2=2700 400 600  f3= 200 80  rms=20
  WAV(ustop/ki)
endphoneme