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