blob: f0d2552a046faaaf61c48d32c68885ec558fa9ef [file] [log] [blame]
//====================================================
// 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 pzd
//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