

phoneme l
  import_phoneme en/l
endphoneme


phoneme r
  liquid
  trill
  lengthmod 7

  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 nextPh(isNotVowel) THEN
    ChangePhoneme(r/)
  ENDIF
  IF prevPhW(t) OR prevPhW(p) OR prevPhW(k) THEN
    FMT(r/trr)
  ENDIF
  FMT(r/rr)
endphoneme


phoneme r/   // used for [r] when not preceding a vowel
  liquid
  lengthmod 2
  IF nextPh(n) THEN
    FMT(r3/r_n) addWav(r3/rx)
  ENDIF
  FMT(r3/r_) addWav(r3/rx)
endphoneme


phoneme ts
  import_phoneme consonants/ts
endphoneme


phoneme dZ;
  vcd pal afr sibilant palatal
  voicingswitch tS;
  lengthmod 5
  Vowelin f1=2  f2=2700 400 600  f3=300 80 rate len=70

  IF PreVoicing THEN
    FMT(dzh/xdzh)
  ENDIF

  IF nextPh(isPause2) THEN
    FMT(dzh/dzh_) addWav(x/dzh_)
  ENDIF
endphoneme


phoneme tS;
  vls pal afr sibilant palatal
  voicingswitch dZ;
  lengthmod 2
  Vowelin f1=0  f2=2700 400 600  f3=300 80 rate len=70

  WAV(ustop/ts_pzd)
endphoneme



// Palatalized versions of consonants

phoneme t
  import_phoneme pl/t
endphoneme

phoneme t;
  import_phoneme pl/t;
endphoneme

phoneme d
  import_phoneme pl/d
endphoneme

phoneme d;
  import_phoneme pl/d;
endphoneme

phoneme m;
  import_phoneme ro/m;
endphoneme


phoneme I^          // "silent i", palatilizes the preceding consonant
  vowel starttype #i endtype #i
  unstressed nonsyllabic
  Length 70
  IF nextPh(isVowel) THEN
    ChangePhoneme(;)
  ENDIF
  IF prevPh(m;) THEN
    FMT(vwl_ro/mi)
  ENDIF
  FMT(vwl_ru/ii-)
endphoneme



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

phoneme i
  vowel starttype #i endtype #i
  Length 100
  FMT(vwl_ru/i)
endphoneme


phoneme I#
  vowel starttype #i endtype #i
  Length 80
  IF nextVowel(isMaxStress) THEN
    ChangePhoneme(I)
  ENDIF
  IF thisPh(isMaxStress) THEN
    ChangePhoneme(i)
  ENDIF
  FMT(vwl_ru/ii#)
endphoneme


phoneme y
  vowel starttype #i endtype #i
  Length 100
  FMT(vwl_ru/i#)
endphoneme


phoneme I
  vowel starttype #i endtype #i
  Length 80

  IF thisPh(isMaxStress) THEN
    IF prevPhW(j) THEN
      ChangePhoneme(a)
    ELSE
      ChangePhoneme(i)
    ENDIF
  ENDIF
  FMT(vwl_ru/ii)
endphoneme


phoneme I2
  vowel starttype #i endtype #i
  Length 80
  IF thisPh(isMaxStress) THEN
      ChangePhoneme(e)
  ENDIF
  IF prevPhW(isPalatal) THEN
    ChangePhoneme(I)
  ENDIF
  FMT(vwl_ru/ii)
endphoneme


phoneme I3
  vowel starttype #i endtype #i
  Length 80
  IF thisPh(isMaxStress) THEN
    IF prevPhW(j) THEN
      ChangePhoneme(e)
    ELSE
      ChangePhoneme(ja)
    ENDIF
  ENDIF
  IF prevPhW(isPalatal) THEN
    ChangePhoneme(I)
  ENDIF
  FMT(vwl_ru/ii)
endphoneme


phoneme E
  vowel  starttype #e  endtype #e
  Length 200
  FMT(vwl_ru/e)
endphoneme


phoneme E#
  vowel  starttype #e  endtype #e
  Length 100
  IF thisPh(isMaxStress) THEN
    IF prevPhW(j) THEN
      ChangePhoneme(e)
    ELSE
      ChangePhoneme(E)
    ENDIF
  ENDIF
  FMT(vwl_ru/E#)
endphoneme


phoneme E2
  vowel  starttype #e  endtype #e
  Length 80
  IF nextVowel(isMaxStress) THEN
    IF prevPh(j) THEN
      ChangePhoneme(I3)
    ELSE
      ChangePhoneme(E#)
    ENDIF
  ENDIF

  IF thisPh(isMaxStress) THEN
    IF prevPhW(j) THEN
      ChangePhoneme(e)
    ELSE
      ChangePhoneme(E)
    ENDIF
  ENDIF

  FMT(vwl_ru/E@)
endphoneme


phoneme E3
  vowel  starttype #e  endtype #e
  Length 80
  IF nextVowel(isMaxStress) THEN
    ChangePhoneme(I)
  ENDIF
  IF thisPh(isMaxStress) THEN
    ChangePhoneme(e)
  ENDIF
  IF prevPhW(isPalatal) THEN
    ChangePhoneme(E2)
  ENDIF
  FMT(vwl_ru/E@)
endphoneme


phoneme o
  vowel starttype #o endtype #o
  Length 100
  FMT(vwl_ru/o)
endphoneme


phoneme O
  vowel starttype #o endtype #o
  Length 80
  IF prevPhW(isPalatal) THEN
    ChangePhoneme(8)
  ENDIF
  IF thisPh(isMaxStress) THEN
    ChangePhoneme(o)
  ENDIF
  FMT(vwl_ru/oo)
endphoneme


phoneme u
  vowel starttype #u endtype #u
  Length 80
  FMT(vwl_ru/u)
endphoneme

phoneme u#
  vowel starttype #u endtype #u
  Length 80
  FMT(vwl_ru/u#)
endphoneme

phoneme u"
  vowel starttype #u endtype #u
  Length 150
  FMT(vwl_ru/u#u)
endphoneme

phoneme 8
  vowel starttype #o endtype #o
  Length 150
  ChangeIfNotStressed(V)
  FMT(vwl_ru/8)
endphoneme

phoneme e
  vowel starttype #e endtype #e
  Length 100
  FMT(vwl_ru/ee)
endphoneme

phoneme ju
  vowel starttype #u endtype #u
  Length 190
  FMT(vwl_ru/ju)
endphoneme

phoneme ja
  vowel  starttype #i endtype #a
  Length 200
  FMT(vwl_ru/ja)
endphoneme

phoneme V#
  vowel  starttype #a  endtype #@
  unstressed
  Length 80
//  IF nextVowel(isMaxStress) THEN
      // not needed?   because V# is only used at end-of-word
//    ChangePhoneme(I3)  
//  ENDIF

  IF thisPh(isMaxStress) THEN
    IF prevPhW(j) THEN
      ChangePhoneme(A)
    ELSE
      ChangePhoneme(ja)
    ENDIF
  ENDIF

  IF prevPhW(isPalatal) THEN
    ChangePhoneme(V)
  ENDIF

  FMT(vowel/V_2)
endphoneme


phoneme Y // will not be used in future
 vowel  starttype #u  endtype #u
  unstressed
  Length 140
  FMT(vowel/ii#)
endphoneme


phoneme A
  vowel  starttype #a  endtype #a
  Length 100
  FMT(vwl_ru/a)
endphoneme


phoneme a
  vowel   starttype #a  endtype #a
  Length 100

  IF prevPhW(j) THEN
  ELSE
    IF thisPh(isMaxStress) THEN
      IF prevPhW(isPalatal) THEN
        ChangePhoneme(ja)
      ELSE
        ChangePhoneme(A)
      ENDIF
    ELSE
      IF prevPhW(isPalatal) THEN
        ChangePhoneme(I)
      ENDIF
    ENDIF
  ENDIF

  IF thisPh(isWordEnd) THEN
    FMT(vowel/a#_3)
  ENDIF
  FMT(vwl_ru/aa)
endphoneme


phoneme V
  vowel  starttype #a  endtype #@
  Length 80
  unstressed

  IF nextVowel(isMaxStress) THEN
    ChangePhoneme(a)
  ENDIF

  IF thisPh(isMaxStress) THEN
    IF prevPhW(j) THEN
      ChangePhoneme(a)
    ELIF prevPhW(isPalatal) THEN
      ChangePhoneme(ja)
    ELSE
      ChangePhoneme(A)
    ENDIF
  ENDIF

  FMT(vowel/V_2)
endphoneme


phoneme a#
  vowel   starttype #a  endtype #a
  Length 100
  FMT(vowel/a#_3)
endphoneme


phoneme R4
  liquid
  lengthmod 6
  Vowelin  f1=0  f2=1500 -300 300  f3=-200 80 rms=60 brk
  Vowelout f1=2  f2=1500 -300 300  f3=-200 80
  FMT(r3/r_ru2) addWav(r3/r_ru, 50)
endphoneme

