//==================================================== // Vietnamese Phonemes //==================================================== phoneme 1 // ngang tone: level stress Tone(34,36, envelope/p_level, NULL) // 28 29 endphoneme phoneme 2 // huyền tone: low falling stress Tone(30, 8, envelope/p_fall, NULL) //20 8 endphoneme phoneme 3 // sắc Tone(rising stress Tone(30, 60, envelope/p_rise, NULL) // 30 60 endphoneme phoneme 4 // hỏi Tone(curve (dipping rising) stress Tone(10, 55, envelope/p_fallrise, NULL) //33 31 endphoneme phoneme 5 // ngã tone: broken (creaking rising) stress Tone(28,58,envelope/p_214, envelope/vi_5amp) // 28,58 20 80 endphoneme phoneme 6 // nặng Tone(drop (constricted) stress //length 150 // ignore because it make too short sound 75 // reduce the length of the vowel Tone(25, 60, envelope/p_512, envelope/vi_6amp) //40 20 endphoneme phoneme 7 // Tone(1 (ngang) at end of clause stress Tone(40, 35, envelope/p_fall, NULL) //40 20 endphoneme // Vowels //======= phoneme a vwl starttype #@ endtype #@ length 140 FMT(vowel/a_4) //a_4) endphoneme phoneme a: vwl starttype #a endtype #a IF nextPh(n^) OR nextPh(c) THEN length 100 ELSE length 140 //280 ENDIF FMT(vowel/a_8) endphoneme phoneme E vwl starttype #e endtype #e length 140 FMT(vowel/e_e) //ee_3) endphoneme phoneme e vwl starttype #e endtype #e length 140 FMT(vowel/e) endphoneme phoneme i vwl starttype #i endtype #i IfNextVowelAppend(;) IF prevPhW(w) THEN VowelStart(w/wi) ENDIF IF nextPh(n^) OR nextPh(c) THEN length 100 FMT(vnasal/ii_n) ELSE length 140 FMT(vowel/i_4) ENDIF endphoneme phoneme O vwl starttype #o endtype #o IF nextPh(kh) OR nextPh(N) THEN length 80 ELSE length 140 ENDIF FMT(vdiph2/o_oo) //vowel/oo) endphoneme phoneme o vwl starttype #o endtype #o IF nextPh(kh) OR nextPh(N) THEN length 110 ELSE length 140 ENDIF FMT(vowel/o) // o_2) endphoneme phoneme u vwl starttype #u endtype #u IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound length 120 ELSE length 140 ENDIF FMT(vnasal/u_n,60) //vowel/u_5) endphoneme phoneme y vwl starttype #u endtype #u IF nextPh(kh) OR nextPh(N) THEN length 120 ELSE length 180 ENDIF FMT(vowel/u#_5) endphoneme phoneme @ vwl starttype #@ endtype #a IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN length 120 ELSE length 140 ENDIF FMT(vowel/V) //vowel/@_2) endphoneme phoneme @: vwl starttype #@ endtype #@ length 140 FMT(vowel/@_2) endphoneme // Diphthongs //=========== phoneme aI vwl starttype #a endtype #i length 140 //250 FMT(vdiph/&i_2) endphoneme phoneme a:I vwl starttype #a endtype #i length 200 //250 FMT(vdiph/ai) endphoneme phoneme @I vwl starttype #@ endtype #i length 200 //250 FMT(vdiph/@i) endphoneme phoneme @:I vwl starttype #@ endtype #i length 200 //250 FMT(vdiph/y#i) endphoneme phoneme eI vwl starttype #e endtype #i length 140 FMT(vdiph/ei) endphoneme phoneme EI vwl starttype #e endtype #i length 140 FMT(vdiph/eei) endphoneme phoneme OI vwl starttype #o endtype #i length 200 FMT(vdiph/ooi_4) endphoneme phoneme oI vwl starttype #o endtype #i length 200 FMT(vdiph/oi) endphoneme phoneme uI vwl starttype #u endtype #i length 200 FMT(vdiph/ui) endphoneme phoneme yI vwl starttype #u endtype #i length 200 FMT(vdiph/u-i) endphoneme phoneme aU vwl starttype #a endtype #u length 150 FMT(vdiph/aau_4) endphoneme phoneme a:U vwl starttype #a endtype #u length 150 //270 FMT(vdiph/au) endphoneme phoneme eU vwl starttype #e endtype #u length 150 FMT(vdiph/eu) endphoneme phoneme EU vwl starttype #e endtype #u length 150 FMT(vdiph/eeu) endphoneme phoneme iU vwl starttype #i endtype #u length 140 FMT(vdiph2/iu) endphoneme phoneme @U vwl starttype #@ endtype #u length 140 FMT(vdiph/@u_3) endphoneme phoneme @:U vwl starttype #@ endtype #u length 140 FMT(vdiph/@u) endphoneme phoneme i@ vwl starttype #i endtype #@ length 140 FMT(vdiph2/ii@_3) endphoneme phoneme y@ vwl starttype #i endtype #@ length 140 FMT(vdiph2/y-y#) endphoneme phoneme u@ vwl starttype #u endtype #@ length 100 //200 FMT(vdiph2/uu@) endphoneme // Addition Dipthongs phoneme o# // ông vwl starttype #o endtype #o length 140 FMT(vnasal/a#u_n) endphoneme phoneme O# // ong vwl starttype #o endtype #o length 140 FMT(vnasal/&u_n) endphoneme phoneme o@ vwl starttype #o endtype #a length 140 FMT(vdiph2/oa) endphoneme phoneme o& vwl starttype #o endtype #o length 140 FMT(vietnam/oe) endphoneme phoneme iE // iê : viết, giệc vwl starttype #i endtype #e length 140 FMT(vietnam/ie_2) endphoneme phoneme Oi // oai sound vwl starttype #o endtype #i length 140 FMT(vdiph/ooi_3) endphoneme // Vowel and Dipthong for south dialect phoneme O- // ôi southern sound vwl starttype #o endtype #i length 150 FMT(vnasal/oi_n) endphoneme phoneme @- // ơi southern sound vwl starttype #o endtype #i length 150 FMT(vdiph/@i_3) endphoneme phoneme u- // u southern sound vwl starttype #u endtype #u length 150 FMT(vowel/u_3,70) endphoneme phoneme kh vls vel frc lengthmod 3 Vowelin f1=0 f2=2300 200 400 f3=200 80 len=30 Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20 WAV(vietnam/_c,5) //ufric/x, 50) endphoneme phoneme l liquid Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=15 //lengthmod 7 //IF nextPh(isNotVowel) THEN // ChangePhoneme(l/2) //ENDIF //CALL vowelstart_l FMT(l/l_vi) endphoneme phoneme t vls alv stp //voicingswitch d lengthmod 2 Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=15 Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 WAV(vietnam/th, 50) endphoneme phoneme cr vls pla afr sib //voicingswitch dZ lengthmod 2 Vowelin f1=0 f2=2300 200 400 f3=-100 80 len=15 WAV(vietnam/tr,10) endphoneme phoneme d_ vcd alv stp // lengthmod 5 ipa ɗ Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=15 Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk len=30 WAV(vietnam/dd) endphoneme phoneme c vls pal stp palatal //voicingswitch J lengthmod 2 length 2 Vowelin f1=0 f2=2700 400 600 f3=300 80 len=15 brk Vowelout f1=1 f2=2700 400 600 f3=200 70 len=15 colr=1 WAV(vietnam/ch,5) endphoneme phoneme p vls blb stp 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_unasp_,10) endphoneme phoneme n vcd alv nas Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 brk len=15 Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk len=15 lengthmod 4 length 75 FMT(n/nr_) endphoneme phoneme t[ // dental variant of /t/ vls dnt stp voicingswitch d[ lengthmod 2 length 5 Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=15 Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=15 IF nextPh(isPause2) THEN WAV(ustop/t_unasp2, 5) ENDIF WAV(ustop/t_hi, 70) endphoneme