| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 | 
//====================================================
//  Swahili
//====================================================
// Vowels
phoneme i
  vowel starttype #i endtype #i
  length 200
  FMT(vowel/i)
endphoneme
phoneme e
  vowel starttype #e endtype #e
  length 210
  FMT(vowel/e_mid2)
endphoneme
phoneme a
  vowel starttype #a endtype #a
  length 210
  FMT(vowel/a_5)
endphoneme
phoneme o
  vowel starttype #o endtype #o
  length 210
  FMT(vowel/o_4)
endphoneme
phoneme u
  vowel starttype #u endtype #u
  length 200
  FMT(vowel/u_bck2)
endphoneme
// Consonants
phoneme t        // dental variant of /t/
  import_phoneme base2/t
endphoneme
phoneme d       // dental variant of /d/
  import_phoneme base2/d
endphoneme
phoneme z
  vcd alv frc sibilant
  voicingswitch s
  lengthmod 6
  Vowelout f1=0  f2=1700 -300 300  f3=-100 60  len=50
  IF KlattSynth THEN
    Vowelin f1=0 f2=1390 -300 300 f3=0 0
    Vowelout f1=1  f2=1390 -300 300  f3=-100 60  len=50 brk
  ENDIF
 
  FMT(voc/z_pzd_) addWav(ufric/s_pzd, 75)
endphoneme
phoneme t
  vls alv stop
  voicingswitch d
  lengthmod 2
  Vowelin f1=0  f2=1700 -300 300  f3=-100 80
  Vowelout f1=0 f2=1700 -300 250  f3=-100 80  rms=20
  WAV(ustop/t_hard, 70)
endphoneme
phoneme T
  vls dnt frc
  voicingswitch D
  lengthmod 3
  Vowelin f1=0  f2=1700 -300 300  f3=-100 80
  Vowelout f1=0 f2=1700 -300 250  f3=-100 80  rms=20
  WAV(ufric/th_,50)
endphoneme
phoneme S
  vls pla frc sibilant
  voicingswitch Z
  lengthmod 3
  Vowelin  f1=0  f2=2100 100 300  f3=-100 80
  Vowelout f1=0  f2=2100 100 300  f3=-100 80
 
  WAV(ufric/sh3)
endphoneme
phoneme s
  vls alv frc sibilant
  voicingswitch z
  lengthmod 3
  Vowelin  f1=0  f2=1700 -300 300  f3=-100 80
  Vowelout f1=0  f2=1700 -300 250  f3=-100 80  rms=20
 
  WAV(ufric/s_,60)
endphoneme
phoneme p
  vls blb stop
  voicingswitch b
  lengthmod 2
  Vowelin  f1=0  f2=1000 -50 -100  f3=-200 80 amp=11
  Vowelout f1=0  f2=1000 -500 -350  f3=-300 80 rms=22
  WAV(ustop/p)
endphoneme
phoneme n^
  vcd pal nasal palatal
  ipa ɲ
  Vowelout f1=3 f2=2500 300 500  f3=100 80  len=45 brk rate
  lengthmod 4
  IF KlattSynth THEN
    VowelStart(klatt/n^@)
    FMT(klatt/n^)
  ENDIF
  NextVowelStarts
    VowelStart(n^/n^@)
    VowelStart(n^/n^a)
    VowelStart(n^/n^e)
    VowelStart(n^/n^i)
    VowelStart(n^/n^o)
    VowelStart(n^/n^u)
  EndSwitch
    FMT(n^/n^_)
  
endphoneme
phoneme N
  vcd vel nasal
  Vowelout f1=3 f2=2300 300 400  f3=-200 80  len=40 rms=20 brk
  lengthmod 8            // longer than 'n'
  IF KlattSynth THEN
    Vowelin f1=0 f2=2100 50 300 f3=0 80
    FMT(klatt/nn)
  ENDIF
  NextVowelStarts
    VowelStart(nn/nn@)
    VowelStart(nn/nna)
    VowelStart(nn/nne)
    VowelStart(nn/nni)
    VowelStart(nn/nno)
    VowelStart(nn/nnu)
  EndSwitch
 
    FMT(nn/nn_,50)
endphoneme
phoneme w
  liquid
  lengthmod 7
 
    NextVowelStarts
      VowelStart(w/w@)
      VowelStart(w/wa)
      VowelStart(w/we)
      VowelStart(w/wi)
      VowelStart(w/wo)
      VowelStart(w/wu)
    EndSwitch
    VowelEnding(w/xw, -30)
   
      FMT(w/w2)
   
  
endphoneme
phoneme k
  vls vel stop
  voicingswitch g
  lengthmod 2
  Vowelin f1=0  f2=2300 200 300  f3=-200 80
  Vowelout f1=0 f2=2300 300 400  f3=-200 80  rms=20
  IF KlattSynth THEN
    Vowelout f1=0 f2=2300 200 300  f3=-200 80  rms=20
  ENDIF
 
  WAV(ustop/k_,50)
endphoneme
phoneme J
  vcd pal afr sibilant palatal
  voicingswitch c
  lengthmod 5
  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
  IF KlattSynth THEN
      FMT(klatt/dz_pzd) addWav(x/dzh_, 45)
  ENDIF
  IF nextPh(isNotVowel) THEN
    FMT(dzh/dz_pzd) addWav(x/dzh_, 45)
	ELSE
	FMT(dzh/dz_pzd) addWav(x/dzh_, 45)
  ENDIF
  
endphoneme
phoneme g
  vcd vel stop
  voicingswitch k
  lengthmod 5
  Vowelin f1=2  f2=2300 200 300  f3=-300 80
  Vowelout f1=2  f2=2300 250 300  f3=-300 80 brk
  IF PreVoicing THEN
    FMT(g/xg)
  ENDIF
  FMT(g/g) addWav(x/g2, 50)
endphoneme
 |