123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- //====================================================
- // Setswana phoneme file
- // maitained by: Sternly K Simon
- // email: sternly_simon@yahoo.com
- //====================================================
- phoneme l // use dark [l/2] before not-vowel
- liquid
- lengthmod 7
- IF nextPhW(isVowel) THEN
- ELSE
- IF prevPh(isNotVowel) THEN
- ChangePhoneme(l/)
- ELSE
- ChangePhoneme(l/2)
- ENDIF
- ENDIF
- CALL base1/l
- endphoneme
- phoneme r- // linking r, used in Setswana between certain vowels and a following vowel
- liquid rhotic
- ipa ɹ
- lengthmod 0
- NextVowelStarts
- VowelStart(r2/r2@)
- VowelStart(r2/r2a)
- VowelStart(r2/r2e)
- VowelStart(r2/r2i)
- VowelStart(r2/r2o)
- VowelStart(r2/r2u)
- EndSwitch
- IF prevPh(isVowel) THEN
- VowelEnding(r/xr, -60)
- ENDIF
- FMT(r/r)
- endphoneme
- // Default vowel definitions
- phoneme @
- vwl starttype #@ endtype #@
- unstressed
- length 140
- IF nextPh(r/) THEN
- length 190
- FMT(vwl_tn/r@)
- ENDIF
- FMT(vwl_tn/@)
- endphoneme // Vowels
- // VOWELS
- //****************************************************************
- phoneme i
- vwl starttype #i endtype #i
- length 170
- FMT(vowel/ii)
- endphoneme
- phoneme I
- vwl starttype #i endtype #i
- length 130
- IfNextVowelAppend(;)
- FMT(vwl_tn/I)
- endphoneme
- phoneme I2
- vwl starttype #i endtype #i
- unstressed
- length 130
- IfNextVowelAppend(;)
- FMT(vowel/ii_4)
- endphoneme
- phoneme e
- vwl starttype #e endtype #e
- length 180
- ChangeIfUnstressed(l)
- FMT(vowel/ee#_2)
- endphoneme
- phoneme e@ // long E
- vwl starttype #i endtype #@
- ipa iə
- length 230
- IfNextVowelAppend(r-)
- FMT(vdiph/i@_2)
- endphoneme
- phoneme E
- vwl starttype #e endtype #e
- unstressed
- length 140
- ChangeIfDiminished(I2)
- FMT(vowel/ee_5)
- endphoneme
- phoneme a
- vwl starttype #a endtype #a
- ipa a
- length 180
- FMT(vowel/a_5)
- endphoneme
- phoneme A@ // Used for [A:] when followed by 'r'
- vwl starttype #a endtype #a
- ipa ɑː
- length 230
- IfNextVowelAppend(r-)
- FMT(vowel/aa_2)
- endphoneme
- phoneme O // short O
- vwl starttype #o endtype #o
- length 140
- FMT(vowel/oo_1)
- endphoneme
- phoneme o
- vwl starttype #o endtype #o
- length 180
- ChangeIfUnstressed(U)
- FMT(vowel/0_2)
- endphoneme
- phoneme u
- vwl starttype #u endtype #u
- length 170
- FMT(vowel/u_5)
- endphoneme
- phoneme U
- vwl starttype #o endtype #o
- length 150
- FMT(vowel/uu)
- endphoneme
- // Consonants
- //=================================================
- phoneme l
- import_phoneme en/l
- endphoneme
- phoneme ts
- vls alv afr sib
- // voicingswitch dz
- lengthmod 2
- Vowelin f1=0 f2=1700 -300 300 f3=-100 80
- Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
- IF nextPh(isPause2) THEN
- WAV(ustop/ts_)
- ENDIF
- WAV(ustop/ts)
- endphoneme
- phoneme d // dental variant of /d/
- import_phoneme base2/d
- endphoneme
- phoneme kh
- vls vel stp
- lengthmod 2
- voicingswitch g
- Vowelin f1=0 f2=2300 200 300 f3=-150 80
- Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
- IF nextPh(isPause2) THEN
- WAV(ustop/k_asp, 50)
- ENDIF
- IF nextPh(l) THEN
- WAV(ustop/kl)
- ENDIF
- WAV(ustop/k_asp, 90)
- endphoneme
- phoneme k- // unaspirated
- vls vel stp
- lengthmod 2
- voicingswitch g
- Vowelin f1=0 f2=2300 200 300 f3=-150 80
- Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
- IF nextPh(isPause2) THEN
- WAV(ustop/k_unasp, 50)
- ENDIF
- WAV(ustop/k_unasp, 60) // weaker
- endphoneme
- phoneme K // Setswna tlh sound
- vls alv frc
- lengthmod 3
- NextVowelStarts
- VowelStart(l/l@)
- VowelStart(l/la)
- VowelStart(l/le)
- VowelStart(l/li, -10)
- VowelStart(l/lo)
- VowelStart(l/lu)
- EndSwitch
- IF prevPh(isVowel) THEN
- VowelEnding(l/xl, -40)
- ENDIF
- WAV(ufric/tlh, 80)
- endphoneme
- phoneme ph // aspirated
- vls blb stp
- lengthmod 2
- voicingswitch b
- 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_)
- ENDIF
- IF nextPh(r) THEN
- WAV(ustop/pr)
- ENDIF
- IF nextPh(l) THEN
- WAV(ustop/pl)
- ENDIF
- WAV(ustop/p_asp)
- endphoneme
- phoneme r
- liquid rhotic trl
- lengthmod 6
- Vowelin f1=2 f2=2700 -300 -200 f3=-1300 80
- Vowelout f1=2 f2=1700 -300 -200 f3=-1300 80
- 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 prevPh(isVowel) THEN
- VowelEnding(r/xr, -50)
- ENDIF
- FMT(r3/r_trill) addWav(r3/r_trill3.wav, 100)
- endphoneme
- phoneme r/ // used for [r] when not preceding a vowel
- liquid
- lengthmod 7
- IF prevPh(@) OR prevPh(I) THEN
- ELSE
- FMT(r3/r_) addWav(r3/rx)
- ENDIF
- endphoneme
- phoneme t // dental variant of /t/
- import_phoneme base2/t
- 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 tS;
- vls alp sib afr
- voicingswitch dZ;
- ipa tɕ
- lengthmod 2
- Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
- IF nextPh(isPause2) THEN
- WAV(ustop/ts_pzd)
- ENDIF
- WAV(ustop/ts_pzd)
- endphoneme
|