| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518 | 
							- //  short vowels
 - phoneme a
 -   vowel starttype #a endtype #a
 -   unstressed
 -   length 180
 -   CALL ShortVowelLength 
 -   IF prevPh(s[)  OR prevPh(d[) OR prevPh(t[) OR prevPh(Z) THEN   
 -     FMT(vowel/0_3) 
 -   ELSE
 - 	FMT(vowel/a#)	
 -   ENDIF
 -   
 - endphoneme
 - 
 - 
 - phoneme i
 -   vowel starttype #i endtype #i
 -   length 140
 -   unstressed  
 -   CALL ShortVowelLength 
 -   FMT(vowel/i)
 - endphoneme
 - 
 - phoneme u
 -   vowel starttype #u endtype #u
 -   unstressed  
 -   length 140
 -   CALL ShortVowelLength 
 -   FMT(vowel/u)
 - endphoneme
 - 
 - 
 - 
 - phoneme : //  lengthen previous vowel by "length"
 -   virtual
 -   length 200
 - endphoneme
 - 
 - 
 - 
 - 
 - //  long vowels
 - phoneme a:
 -   vowel starttype #a endtype #a
 -   length 300
 -   //CALL LongVowelLength 
 -   IF prevPh(s[)  OR prevPh(d[) OR prevPh(t[) OR prevPh(Z) THEN   
 -     FMT(vowel/0_3) 
 -   ELSE
 - 	FMT(vowel/a#)	
 -   ENDIF
 -   
 - endphoneme
 - 
 - 
 - phoneme i:
 -   vowel starttype #i endtype #i
 -   length 300
 -   //CALL LongVowelLength 
 -   FMT(vowel/i)
 - endphoneme
 - 
 - phoneme u:
 -   vowel starttype #u endtype #u
 -   length 300
 -   //CALL LongVowelLength 
 -   FMT(vowel/u)
 - endphoneme
 - 
 - 
 - // Redifine consnant for arabic 
 - 
 - 
 - 
 - 
 - phoneme l
 -   liquid
 -   lengthmod 7
 - 
 -   IF nextPh(isNotVowel) THEN
 -     ChangePhoneme(l/)
 -   ENDIF
 - 
 -   IF nextPh(isNotVowel) THEN
 -     // in case the next phoneme is no longer a vowel, in pass=2
 -     PrevVowelEndings
 -       VowelEnding(l/L1_@L, -60)
 -       VowelEnding(l/L1_aL, -40)
 -       VowelEnding(l/L1_eL, -30)
 -       VowelEnding(l/L1_iL, -30)
 -       VowelEnding(l/L1_oL, -40)
 -       VowelEnding(l/L1_uL, -40)
 -     EndSwitch
 - 
 -     FMT(l/l_)
 -     RETURN
 -   ENDIF
 - 
 -   CALL vowelstart_l
 - 
 -   IF prevPh(#@) THEN
 -     VowelEnding(l/xl, -50)
 -   ELIF prevPh(isVowel) THEN
 -     VowelEnding(l/xl, -40)
 -   ENDIF
 - 
 -   IF prevPh(isPause) THEN
 -     FMT(l/_l)
 -   ENDIF
 - 
 -   IF prevPh(t) THEN
 -     FMT(l/tl)
 -   ENDIF
 - 
 -   IF prevPh(l/) THEN
 -     FMT(l/l_long)    // double l, make it longer
 -   ENDIF
 - 
 -   FMT(l/l)
 - endphoneme
 - 
 - 
 - 
 - 
 - 
 - phoneme w
 -   liquid
 -   lengthmod 7
 -   FMT(w/w_)
 - endphoneme
 - 
 - 
 - 
 - phoneme j
 -   liquid palatal
 -   lengthmod 7
 -   FMT(j/j_)
 - endphoneme
 - 
 - 
 - 
 - //*******************************************************************
 - // NASAL CONSONANTS
 - //*******************************************************************
 - 
 - 
 - phoneme m
 -   vcd blb nasal
 -   Vowelout f1=2  f2=1000 -500 -350  f3=-200 80 brk
 -   lengthmod 4
 -   FMT(m/m_)
 - endphoneme
 - 
 - 
 - phoneme n
 -   vcd alv nasal
 -   Vowelout f1=2 f2=1700 -300 250  f3=-100 80  rms=20 brk
 -   lengthmod 4
 -   FMT(n/n_)
 - endphoneme
 - 
 - 
 - //*******************************************************************
 - // VOICED STOPS
 - //*******************************************************************
 - 
 - 
 - phoneme b
 -   vcd blb stop
 -   voicingswitch p 
 -   Vowelout f1=2  f2=1000 -500 -300  f3=-300 80 brk
 -   lengthmod 7
 -   FMT(b/b) addWav(x/b)
 - endphoneme
 - 
 - 
 - phoneme d
 -   vcd alv stop
 -   voicingswitch t
 -   lengthmod 5
 -   Vowelin f1=1  f2=1700 -300 300  f3=-100 80
 -   Vowelout f1=2 f2=1700 -300 300  f3=-100 80 brk
 - 
 -   FMT(d/d) addWav(x/d)
 - endphoneme
 - 
 - 
 - phoneme d[
 -   vcd dnt stop
 -   voicingswitch t[
 -   lengthmod 5
 -   Vowelin f1=2  f2=1500 -300 300  f3=-150 80
 -   Vowelout f1=2 f2=1500 -300 300  f3=-150 80
 -   FMT(d/d) addWav(x/d_dnt, 100)
 - endphoneme
 - 
 - 
 - phoneme dZ
 -   vcd pla afr sibilant
 -   voicingswitch tS
 -   //lengthmod 8
 -   Vowelin f1=2  f2=2300 200 400  f3=100 80
 -   Vowelout f1=2  f2=2300 250 300  f3=100 80 brk
 - 
 -   FMT(dzh/dzh) addWav(x/dzh)
 - 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
 -     IF nextPh(isPause2) THEN
 -       FMT(klatt/dz_pzd_) addWav(x/dzh, 35)
 -     ENDIF
 -     FMT(klatt/dz_pzd) addWav(x/dzh, 45)
 -   ENDIF
 - 
 -   FMT(dzh/dz_pzd) addWav(x/dzh, 45)
 - 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
 - 
 -   FMT(g/g) addWav(x/g2, 150)
 - endphoneme
 - 
 - //*******************************************************************
 - // VOICED fricatives
 - //*******************************************************************
 - 
 - phoneme D
 -   vcd dnt frc
 -   voicingswitch T
 -   lengthmod 6
 -   Vowelout f1=0  f2=1700 -300 300  f3=-100 60  len=50
 - 
 -   IF KlattSynth THEN
 -     Vowelin f1=0 f2=1290 -300 300 f3=0 0
 -   ENDIF
 -   FMT(voc/dh) addWav(vocw/dh)
 - endphoneme
 - 
 - 
 - phoneme z
 -   vcd alv frc sibilant
 -   //voicingswitch s
 -   lengthmod 1
 -   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) addWav(ufric/s_, 85)
 - endphoneme
 - 
 - 
 - phoneme Z
 -   vcd pla frc sibilant
 -   voicingswitch S
 -   lengthmod 6
 -   Vowelin  f1=0  f2=2000 0 300  f3=-200 80
 -   Vowelout f1=2  f2=2000 0 300  f3=-200 80 brk
 - 
 -   IF KlattSynth THEN
 -     IF nextPh(isPause2) THEN
 -       FMT(klatt/zh_) addWav(vocw/zh)
 -     ENDIF
 -     FMT(klatt/zh) addWav(vocw/zh, 130)
 -   ENDIF
 - 
 -   FMT(voc/zh) addWav(vocw/zh, 130)
 - endphoneme
 - 
 - 
 - 
 - 
 - 
 - //*******************************************************************
 - // UNVOICED STOPS
 - //*******************************************************************
 - 
 - 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, 90)
 - endphoneme
 - 
 - 
 - phoneme t[        // dental variant of /t/
 -   vls dnt stop
 -   voicingswitch d[
 -   lengthmod 2
 -   Vowelin f1=1  f2=1500 -250 250  f3=-100 80  amp=16
 -   Vowelout f1=0 f2=1500 -300 250  f3=-100 80  rms=20
 - 
 -   WAV(ustop/t_dnt, 35)
 - 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)
 - endphoneme
 - 
 - 
 - phoneme q
 -   vls uvl stop
 -   lengthmod 2
 -   Vowelin f1=1  f2=1700 0 200  f3=-300 80 gpaus f4 rms=30
 -   Vowelout f1=1 f2=1700 -100 200  f3=-300 80  f4 rms=35
 -   WAV(ustop/q, 48)
 - endphoneme
 - 
 - 
 - 
 - //*******************************************************************
 - // UNVOICED fricatives
 - //*******************************************************************
 - 
 - phoneme f
 -   vls lbd frc
 -   voicingswitch v
 -   lengthmod 3
 -   Vowelout f1=0  f2=1000 -500 -350  f3=-200 80
 -   WAV(ufric/f)
 - 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)
 - 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)
 - 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/sh)
 - endphoneme
 - 
 - 
 - 
 - 
 - 
 - 
 - phoneme x
 -   vls vel frc
 -   voicingswitch Q
 -   lengthmod 3
 -   Vowelin f1=0  f2=2300 200 400  f3=-100 80
 -   Vowelout f1=0 f2=2300 300 400  f3=-100 80  rms=20
 -   //WAV(ufric/x)
 -   WAV(vwl_ar/kha)
 - endphoneme
 - 
 - 
 - 
 - phoneme h
 -   vls glt apr
 -   lengthmod 3
 -   ipa h
 -   WAV(h/h_, 70)  // no vowel following
 - endphoneme
 - 
 - 
 - 
 - 
 - 
 - 
 - 
 - 
 - // Added specific consnant to arabic
 - phoneme H	// arabic Hah
 -   vls phr frc
 -   ipa U+0127
 -   lengthmod 5 
 -   WAV(vwl_ar/H2) 
 - endphoneme
 - 
 - phoneme Z // arabic ZAH .Todo
 -   vls phr frc
 -   lengthmod 5 
 -   voicingswitch z  
 -   WAV(vwl_ar/ZH4) 
 - endphoneme
 - 
 - phoneme E	// arabic Ain
 -   vls phr frc
 -   //ipa U+0127
 -   //voicingswitch a  
 -   lengthmod 5   
 -   //WAV(vwl_ar/AN2,50) 
 -  WAV(vwl_ar/ain2) 
 - 
 - endphoneme
 - 
 - phoneme G	//arabic Ghain
 -   //vcd uvl frc
 -   vls uvl frc
 -   lengthmod 3
 -   Vowelin f1=0  f2=2300 200 400  f3=-100 80
 -   Vowelout f1=0 f2=2300 300 400  f3=-100 80  rms=20
 -   voicingswitch R  
 -   //lengthmod 5 
 -   //ipa U+0280
 -   WAV(vwl_ar/ghain6)
 -   //FMT(voc/Q_ulv) addWav(vwl_ar/gh, 100)
 - 	//FMT(voc/Q_ulv) addWav(vwl_ar/ghain3, 100)
 -     
 - endphoneme
 - 
 - phoneme d[	//arabic Dhad
 -   vls dnt stop
 -   voicingswitch d
 -   length 120
 -   WAV(vwl_ar/da7)
 - endphoneme
 - 
 - phoneme s[
 -   vls dnt stop 
 -   //voicingswitch s
 -   lengthmod 7
 -   WAV(vwl_ar/SA1)
 - endphoneme
 - 
 - 
 - 
 - phoneme r
 -   liquid rhotic
 -   ipa ?
 -   lengthmod 7
 -   IF nextPh(a) OR nextPh(a:) THEN
 -   FMT(r/ra)  
 -   ENDIF
 -   FMT(r/r_)
 - endphoneme
 - 
 - procedure ShortVowelLength 
 - 
 -   //IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced 
 -   IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants 
 - 		length 140 
 - 		RETURN
 - 	//ENDIF
 - 	ELSE
 - 		IF prevPh(isStressed) THEN
 - 			length 160
 - 		ELSE
 - 			length 175
 - 		ENDIF
 - 		
 -    ENDIF
 - endprocedure
 - procedure LongVowelLength 
 - 
 -   //IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced 
 - 	IF nextPhW(:) THEN
 - 		length 300 
 - 		RETURN
 - 	//ENDIF
 - 	ELIF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants 
 - 		length 340 
 - 		RETURN
 - 	//ENDIF
 - 	ELSE
 - 		IF prevPh(isStressed) THEN
 - 			length 360
 - 		ELSE
 - 			length 375
 - 		ENDIF
 - 		
 -    ENDIF
 - endprocedure
 
 
  |