mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
459 lines
7.0 KiB
Plaintext
459 lines
7.0 KiB
Plaintext
|
|
//====================================================
|
|
// 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
|
|
|