123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517 |
-
- //====================================================
- // Hindi
- //====================================================
-
- phoneme : // Lengthen the previous vowel by "length"
- virtual
- length 100
- endphoneme
-
- phoneme @
- vowel flag1 starttype #@ endtype #@
- length 130
-
- ChangeIfDiminished(@-)
- IF nextPh(H) THEN
- FMT(vowel/@_low)
- ENDIF
- FMT(vowel/@_bck)
- endphoneme
-
-
- phoneme V
- vowel flag1 starttype #@ endtype #@
- length 130
-
- IF thisPh(isNotStressed) THEN
- IF prevPh(H) THEN
- ChangePhoneme(@)
- ENDIF
-
- IF thisPh(isWordEnd) THEN
- ChangePhoneme(NULL)
- ENDIF
-
- IF nextVowel(isFlag1) THEN
- ELSE
- IF thisPh(isSeqFlag1) THEN
- // delete the last inherent vowel of a sequence
- ChangePhoneme(NULL)
- ELSE
- IF thisPh(isFirstVowel) THEN
- ELSE
- // delete if not the first vowel, and is an isolated 'a'
- ChangePhoneme(NULL)
- ENDIF
- ENDIF
- ENDIF
- ENDIF
-
- IF prevPh(isPalatal) THEN
- ChangePhoneme(@3)
- ELSEIF prevPh(r) THEN
- ChangePhoneme(@2)
- ELSE
- IF thisPh(isNotStressed) THEN
- ChangePhoneme(@)
- ENDIF
-
- IF nextPh(H) THEN
- FMT(vowel/@_low)
- ENDIF
- ENDIF
-
- FMT(vowel/V_3)
- endphoneme
-
-
- phoneme @2
- vowel flag1 starttype #@ endtype #@
- length 130
- FMT(vowel/@_low)
- endphoneme
-
- phoneme @3
- vowel flag1 starttype #@ endtype #@
- length 130
- ChangeIfDiminished(@-)
- FMT(vowel/@_3)
- endphoneme
-
-
-
-
- phoneme i:
- vowel long starttype #i endtype #i
- length 230
- IfNextVowelAppend(;)
- FMT(vowel/i_fnt)
- endphoneme
-
- phoneme i // as [i:] but not marked as 'long'
- vowel starttype #i endtype #i
- length 230
- IfNextVowelAppend(;)
- FMT(vowel/i_6)
- endphoneme
-
- phoneme I
- vowel starttype #i endtype #i
- length 100
- IfNextVowelAppend(;)
- FMT(vowel/ii_3)
- endphoneme
-
- phoneme e:
- vowel long starttype #e endtype #e
- length 220
- FMT(vowel/e_2)
- endphoneme
-
- phoneme e
- vowel starttype #e endtype #e
- length 130
- FMT(vowel/e_2)
- endphoneme
-
- phoneme E:
- vowel long starttype #e endtype #e
- length 220
- FMT(vdiph/ee-e)
- endphoneme
-
- phoneme E
- vowel starttype #e endtype #e
- length 130
- FMT(vowel/e_mid)
- endphoneme
-
- phoneme &:
- vowel long starttype #a endtype #a
- length 220
- FMT(vowel/&)
- endphoneme
-
-
- phoneme a:
- vowel long starttype #a endtype #a
- length 230
- FMT(vowel/aa_9)
- endphoneme
-
- phoneme a
- vowel long starttype #a endtype #a
- length 130
- FMT(vowel/a#_3)
- endphoneme
-
-
- phoneme o:
- vowel long starttype #o endtype #o
- length 220
- FMT(vowel/o_2)
- endphoneme
-
- phoneme o
- vowel starttype #o endtype #o
- length 130
- FMT(vowel/o)
- endphoneme
-
- phoneme O:
- vowel long starttype #o endtype #o
- length 210
- FMT(vowel/oo_4)
- endphoneme
-
-
- phoneme O
- vowel starttype #o endtype #o
- length 130
- FMT(vowel/0)
- endphoneme
-
-
- phoneme U
- vowel starttype #u endtype #u
- length 120
- FMT(vowel/uu_bck)
- endphoneme
-
-
- phoneme u:
- vowel long starttype #u endtype #u
- length 230
- FMT(vowel/u_bck)
- endphoneme
-
-
- // Nasal vowels
- //=============
-
- phoneme i~
- vowel long starttype #i endtype #i
- length 220
- FMT(vnasal/i_n2)
- endphoneme
-
- phoneme I~
- vowel long starttype #i endtype #i
- length 170
- FMT(vnasal/ii_n)
- endphoneme
-
- phoneme e~
- vowel long starttype #e endtype #e
- length 220
- FMT(vnasal/e_n)
- endphoneme
-
- phoneme E~
- vowel long starttype #e endtype #e
- length 230
- FMT(vnasal/ee_n2)
- endphoneme
-
- phoneme a~
- vowel long starttype #a endtype #a
- length 250
- FMT(vnasal/aa_n)
- endphoneme
-
- phoneme V~
- vowel long starttype #@ endtype #@
- length 250
- FMT(vnasal/V_n)
- endphoneme
-
- phoneme O~
- vowel long starttype #o endtype #o
- length 230
- FMT(vnasal/oo_n2)
- endphoneme
-
- phoneme o~
- vowel long starttype #o endtype #o
- length 220
- FMT(vnasal/o_n)
- endphoneme
-
- phoneme U~
- vowel starttype #u endtype #u
- length 170
- FMT(vnasal/u_n)
- endphoneme
-
- phoneme u~
- vowel long starttype #u endtype #u
- length 230
- FMT(vnasal/u_n)
- endphoneme
-
-
- // Diphthongs
- //===========
-
-
- phoneme aI
- vowel long starttype #@ endtype #i
- length 240
- long
- FMT(vdiph/&i)
- endphoneme
-
- phoneme aU
- vowel long starttype #a endtype #u
- length 240
- long
- FMT(vdiph/aau_3)
- endphoneme
-
-
-
- // CONSONANTS
- //===========
-
- phoneme v // approximant, not fricative
- import_phoneme base/v#
- voicingswitch f
- endphoneme
-
-
- phoneme H // use for full "h"
- import_phoneme base/h
- endphoneme
-
-
-
- // bilabial plosives
- //==================
-
- phoneme p
- import_phoneme consonants/p-
- endphoneme
-
-
- phoneme ph
- import_phoneme consonants/ph
- endphoneme
-
-
- phoneme b // this is [b]
- import_phoneme base/b
- endphoneme
-
-
- phoneme bh
- vcd blb stop
- lengthmod 5
- voicingswitch ph
- Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
- Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
-
- IF PreVoicing THEN
- FMT(b/xb)
- ENDIF
-
- FMT( b/b@2) addWav(ustop/p_asp, 70)
- endphoneme
-
-
-
-
- // dental plosives
- //==================
-
- phoneme t // dental variant of /t/
- import_phoneme base/t[
- voicingswitch d
- endphoneme
-
-
- phoneme th // dental variant of /t/
- vls dnt stop
- lengthmod 2
- voicingswitch d
- Vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16
- Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
- IF nextPh(isPause2) THEN
- WAV(ustop/t_dnt, 35)
- ENDIF
- WAV(ustop/t_dnt, 50)
- endphoneme
-
-
- phoneme d // dental variant of /d/
- import_phoneme base/d[
- voicingswitch t
- endphoneme
-
-
- phoneme dh
- vcd dnt stop
- lengthmod 5
- voicingswitch th
- Vowelin f1=0 f2=1500 -300 300 f3=-100 80
- Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
-
- IF PreVoicing THEN
- FMT(d/xd)
- ENDIF
-
- FMT(d/xd3) addWav(ustop/t_dnt, 40)
- endphoneme
-
-
-
-
- // retroflex plosives
- //===================
-
- phoneme t.
- vls rfx stop
- lengthmod 2
- ipa ʈ
- voicingswitch d.
- Vowelin f1=0 f2=1800 -300 300 f3=-400 80
- Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
- WAV(ustop/t_short)
- endphoneme
-
- phoneme th.
- vls rfx stop
- lengthmod 2
- ipa ʈh
- voicingswitch dh.
- Vowelin f1=0 f2=1800 -300 300 f3=-400 80
- Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
- // WAV(ustop/th_rfx)
- WAV(ustop/t)
- endphoneme
-
- phoneme d.
- vcd rfx stop
- lengthmod 5
- voicingswitch t.
- ipa ɖ
- Vowelin f1=1 f2=1800 -300 300 f3=-400 80
- Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2
-
- IF PreVoicing THEN
- FMT(d/xdr)
- ENDIF
-
- IF nextPh(isPause2) THEN
- FMT(d/d_) addWav(x/d_)
- ENDIF
-
- FMT(d/dr) addWav(x/d)
- endphoneme
-
-
- phoneme dh.
- vcd rfx stop
- lengthmod 5
- ipa ɖh
- voicingswitch th.
- Vowelin f1=1 f2=1800 -300 300 f3=-400 80
- Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2
-
- IF PreVoicing THEN
- FMT(d/xdr)
- ENDIF
-
- FMT(d/dr) addWav(ustop/t)
- // FMT(d/dr) addWav(ustop/th_rfx)
- endphoneme
-
-
-
-
- // palatal plosives
- //=================
-
- // also try [tS] and [dZ]
-
- phoneme c
- import_phoneme base/c
- endphoneme
-
-
- phoneme ch
- CALL base/tS;
- ipa ch
- endphoneme
-
-
- phoneme J
- import_phoneme base/J
- endphoneme
-
-
- phoneme Jh
- vcd pal afr sibilant
- lengthmod 5
- voicingswitch ch
- Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
- Vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
-
- IF PreVoicing THEN
- FMT(dzh/xdz_pzd)
- ENDIF
-
- FMT(dzh/xdz_pzd) addWav(ustop/ts_pzd)
- endphoneme
-
-
-
-
-
- // velar plosives
- //==================
-
-
- phoneme k
- import_phoneme consonants/k-
- voicingswitch g
- endphoneme
-
- phoneme kh
- import_phoneme consonants/kh
- voicingswitch gh
- endphoneme
-
-
- phoneme g
- import_phoneme base/g
- voicingswitch k
- endphoneme
-
-
- phoneme gh
- vcd dnt stop
- lengthmod 5
- voicingswitch kh
- Vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20
- Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
-
- IF PreVoicing THEN
- FMT(g2/xg)
- ENDIF
-
- IF nextPh(isPause2) THEN
- FMT(g2/xg) addWav(ustop/k_asp, 35)
- ENDIF
- FMT(g2/xg) addWav(ustop/k_asp, 50)
- endphoneme
-
- //================
-
- phoneme #X2 // click, use for indicating combining long vowels
- vls alv frc sibilant
- lengthmod 3
- WAV(ustop/percus02, 60)
- endphoneme
-
|