| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | 
//====================================================
//  Bengali, inherits from Hindi
//====================================================
phoneme V  // inherent vowel, can be [O] or [o]
  vwl flag1 starttype #o  endtype #o
  length 200
  IF thisPh(isWordEnd) AND prevPhW(isNotVowel) AND prev2PhW(isVowel) THEN
    ChangePhoneme(NULL)
  ENDIF
  IF thisPh(isFirstVowel) THEN
    IF nextVowel(i) OR nextVowel(u) THEN
      ChangePhoneme(o)
    ENDIF
    
    IF prevPhW(r) AND nextVowel(isVowel) THEN
      IF nextVowel(isWordEnd) AND nextVowel(V) THEN
      ELSE
        ChangePhoneme(o)
      ENDIF
    ENDIF  
  ENDIF
  ChangePhoneme(O)
endphoneme
phoneme a
  vwl starttype #a endtype #a
  length 225
  IF thisPh(isWordEnd) AND thisPh(isUnstressed) THEN
    FMT(vowel/a#_2)
  ENDIF
  FMT(vowel/a_3)
endphoneme
phoneme i
  vwl starttype #i endtype #i
  length 210
  FMT(vowel/i_6)
endphoneme
phoneme u
  vwl starttype #u endtype #u
  length 210
  FMT(vowel/u)
endphoneme
phoneme e
  vwl starttype #e endtype #e
  length 210
  FMT(vowel/e)
endphoneme
phoneme &
  vwl starttype #a endtype #a
  length 210
  FMT(vowel/&_2)
endphoneme
phoneme o
  vwl starttype #o endtype #o
  length 210
  IF nextPhW(w) THEN
    length 170
  ENDIF
  FMT(vowel/o)
endphoneme
phoneme O
  vwl starttype #o endtype #o
  length 200
  FMT(vowel/oo_5)
endphoneme
phoneme tS
  vls pla afr sib
  voicingswitch dZ
  lengthmod 2
  Vowelin f1=0  f2=2300 200 400  f3=-100 80
  IF nextPh(isPause2) THEN
    WAV(ustop/tsh_unasp2)
  ENDIF
  WAV(ustop/tsh_unasp2)
endphoneme
phoneme tS#
  vls pla afr sib
  voicingswitch dZ
  lengthmod 2
  Vowelin f1=0  f2=2300 200 400  f3=-100 80
  IF nextPh(isPause2) THEN
    WAV(ustop/tsh_)
  ENDIF
  WAV(ustop/tsh)
endphoneme
phoneme ~
  virtual
endphoneme
 |