| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 | 
phoneme @    //  Schwa
  vwl   starttype #@  endtype #@
  length 150
  FMT(vowel/@_2)
endphoneme
phoneme @/    //  Schwa at end of word (silent)
  vwl   starttype #@  endtype #@
  length 100
  FMT(vowel/@_2)
endphoneme
phoneme V
  vwl   starttype #@  endtype #@
  length 170
  ChangeIfUnstressed(@)
  IF nextPh(h) THEN
    FMT(vowel/8_6)
  ENDIF
  FMT(vowel/@_2)
endphoneme
phoneme I#        // use for [V] after [n^]
  vwl   starttype #@  endtype #@
  length 170
  ChangeIfUnstressed(@)
  FMT(vowel/ii)
endphoneme
phoneme a
  vwl  starttype #a  endtype #a
  length 170
  IF thisPh(isDiminished) THEN
    FMT(vowel/a#_3)
  ENDIF
  FMT(vowel/a_3)
endphoneme
phoneme a/   // no longer needed
  vwl  starttype #a  endtype #a
  length 170
  FMT(vowel/a#_3)
endphoneme
phoneme A
  vwl  starttype #a  endtype #a
  length 170
  IF thisPh(isDiminished) THEN
    FMT(vowel/a#_3)       // but nor "ar_" ??
  ENDIF
  FMT(vowel/aa_3)
endphoneme
phoneme E
  vwl  starttype #e  endtype #e
  length 170
  FMT(vowel/ee_4)
endphoneme
phoneme E#
  vwl  starttype #@  endtype #@
  length 170
  FMT(vowel/ee#_2)
endphoneme
phoneme e
  vwl  starttype #e  endtype #e
  length 170
  IF thisPh(isNotStressed) THEN
    FMT(vowel/e_mid2)   // e#
  ENDIF
  FMT(vowel/e)
endphoneme
phoneme i
  vwl  starttype #i  endtype #i
  length 140
  IF nextPh(l/2) THEN
    VowelEnding(l/L2_iL, -50)
    FMT(vowel/ii#)
  ENDIF
  IF nextPh(l/3) THEN
    VowelEnding(l/l_i, -30)
    FMT(vowel/ii_7)
  ENDIF
  FMT(vowel/i_7)
endphoneme
phoneme I
  vwl  starttype #i  endtype #i
  length 140
  FMT(vowel/ii_6)
endphoneme
phoneme y
  vwl starttype #u endtype #u
  length 160
  FMT(vowel/y)
endphoneme
phoneme O
  vwl  starttype #o  endtype #o
  length 170
  IF thisPh(isNotStressed) THEN
    FMT(vowel/oo_1)
  ENDIF
  FMT(vowel/oo_5)
endphoneme
phoneme u
  vwl starttype #u endtype #u
  length 160
  FMT(vowel/u_bck)
endphoneme
phoneme aI
  vwl  starttype #a  endtype #i
  length 220
  FMT(vdiph/aai)
endphoneme
phoneme eI
  vwl  starttype #e  endtype #i
  length 220
  FMT(vdiph2/ei_4)
endphoneme
phoneme OI
  vwl  starttype #o  endtype #i
  length 220
  FMT(vdiph/ooi_4)
endphoneme
phoneme yE
  vwl starttype #u endtype #e
  length 240
  FMT(vdiph2/ye)
endphoneme
phoneme l/4    // used for [l] when not before a vowel
  liquid
  lengthmod 7
  IF nextPh(isVowel) THEN
    ChangePhoneme(l)
  ENDIF
  FMT(l/l_front_)
endphoneme
phoneme L
  liquid  // endtype l^ starttype l^
  lengthmod 7
  IF nextPh(isNotVowel) THEN
    ChangePhoneme(l/4)
  ENDIF
  NextVowelStarts
    VowelStart(l^/j2@)
    VowelStart(l^/j2a)
    VowelStart(l^/j2e)
    VowelStart(l^/j2i)
    VowelStart(l^/j2o)
    VowelStart(l^/j2u)
  EndSwitch
  IF prevPh(isPause) THEN
    FMT(l^/_l^)
  ENDIF
  FMT(l/l_front)  // this is not being used??
endphoneme
phoneme ll
  liquid
  lengthmod 7
  IF nextPh(isNotVowel) THEN
    ChangePhoneme(l/2)     // use 'dark' [l] after a vowel
  ENDIF
  CALL vowelstart_l
  IF prevPh(#@) THEN
    VowelEnding(l/xl, -50)
  ELIF prevPh(isVowel) THEN
    VowelEnding(l/xl, -40)
  ENDIF
  FMT(l/l_4)
endphoneme
phoneme w
  liquid
  lengthmod 7
  CALL base1/w
  FMT(w/w2)
endphoneme
phoneme p
  vls blb stp
  voicingswitch b
  lengthmod 2
  Vowelin  f1=0  f2=1000 -50 -100  f3=-200 80
  Vowelout f1=0  f2=1000 -500 -350  f3=-300 80 rms=30
  IF nextPh(isPause2) THEN
    WAV(ustop/p_unasp_, 80)
  ELIF nextPh(l) THEN
    WAV(ustop/pl)
  ENDIF
  WAV(ustop/p_unasp, 120)
endphoneme
phoneme d
  vcd alv stp
  voicingswitch t
  lengthmod 5
  Vowelin f1=2  f2=1700 -300 300  f3=-200 80 amp=16
  Vowelout f1=2 f2=1700 -300 300  f3=-100 80
  IF PreVoicing THEN
    FMT(d/xd)
  ENDIF
  IF nextPh(isPause2) THEN
    FMT(d/d_)  addWav(x/d_)
  ELIF nextPh(r) THEN
    FMT(d/dr) addWav(x/d, 50)
  ENDIF
  FMT(d/d) addWav(x/d, 50)
endphoneme
phoneme t
  import_phoneme base1/t[
  voicingswitch d
endphoneme
phoneme ts
  import_phoneme consonants/ts
  voicingswitch dz
endphoneme
phoneme dz
  import_phoneme consonants/dz
  voicingswitch ts
endphoneme
phoneme z
  vcd alv frc sib
  voicingswitch s
  lengthmod 6
  Vowelout f1=0  f2=1700 -300 300  f3=-100 60  len=50 
  IF nextPh(isPause2) THEN
    FMT(voc/z_) addWav(ufric/s_)
  ENDIF
  FMT(voc/z) addWav(ufric/s)   // louder frictive
endphoneme
phoneme dZ;
  vcd alp sib afr
  voicingswitch tS;
  ipa dʑ
  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(ustop/ts_pzd)
  ENDIF
  FMT(dzh/dzh) addWav(ustop/ts_pzd, 150)
endphoneme
phoneme c   // This is [tS;]
  import_phoneme base1/tS;
  voicingswitch dZ;
endphoneme
phoneme k
  vls vel stp
  voicingswitch g
  lengthmod 2
  Vowelin f1=0  f2=2300 200 400  f3=-100 80
  Vowelout f1=0 f2=2300 300 400  f3=-100 80  rms=20
  IF nextPh(isPause2) THEN
    WAV(ustop/k_)
  ENDIF
  WAV(ustop/k_unasp)
endphoneme
 |