Files
espeak-ng/phsource/ph_vietnam
T
jonsd d07bc6bfa5 [1.46.34]
Changes to languages: pt, en, vi


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@300 d46cf337-b52f-0410-862d-fd96e6ae7743
2013-02-14 09:04:31 +00:00

413 lines
6.2 KiB
Plaintext
Executable File

//====================================================
// 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(25, 50, envelope/p_rise, NULL) // 25
endphoneme
phoneme 4 // hỏi Tone(curve (dipping rising)
stress
Tone(30, 5, envelope/p_fallrise, NULL)
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 120
FMT(vowel/a_6) //a_4)
endphoneme
phoneme a:
vowel starttype #a endtype #a
length 200 //280
FMT(vietnam/a) //FMT(vowel/a_6)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 200
FMT(vowel/ee_3)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 200
FMT(vowel/e)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 190
IfNextVowelAppend(;)
IF prevPhW(w) THEN
VowelStart(w/wi)
ENDIF
FMT(vowel/i_4)
endphoneme
phoneme O
vowel starttype #o endtype #o
IF nextPh(kh) THEN
length 95
ELSE
length 200
ENDIF
FMT(vowel/aa_4)
endphoneme
phoneme o
vowel starttype #o endtype #o
IF nextPh(kh) THEN
length 95
ELSE
length 200
ENDIF
FMT(vowel/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 200
ENDIF
FMT(vnasal/u_n) //vowel/u_7)
endphoneme
phoneme y
vowel starttype #u endtype #u
IF nextPh(kh) OR nextPh(N) THEN
length 120
ELSE
length 200
ENDIF
FMT(vowel/u#_5)
endphoneme
phoneme @
vowel starttype #@ endtype #a
IF nextPh(kh) OR nextPh(N) THEN
length 120
ELSE
length 170
ENDIF
FMT(vowel/V) //vowel/@_2)
endphoneme
phoneme @:
vowel starttype #@ endtype #@
length 280
FMT(vowel/@_2)
endphoneme
// Diphthongs
//===========
phoneme aI
vowel starttype #a endtype #i
length 200 //250
FMT(vdiph/&y)
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 200
FMT(vdiph/ei)
endphoneme
phoneme EI
vowel starttype #e endtype #i
length 200
FMT(vdiph/eei)
endphoneme
phoneme OI
vowel starttype #o endtype #i
length 200
FMT(vdiph/0i)
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 210
FMT(vdiph/aau_4)
endphoneme
phoneme a:U
vowel starttype #a endtype #u
length 230 //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 200
FMT(vdiph2/iu)
endphoneme
phoneme @U
vowel starttype #@ endtype #u
length 200
FMT(vdiph/@u_3)
endphoneme
phoneme @:U
vowel starttype #@ endtype #u
length 270
FMT(vdiph/@u)
endphoneme
phoneme i@
vowel starttype #i endtype #@
length 240
FMT(vdiph2/ii@_3)
endphoneme
phoneme y@
vowel starttype #i endtype #@
length 200
FMT(vdiph2/y-y#)
endphoneme
phoneme u@
vowel starttype #u endtype #@
length 200
FMT(vdiph2/uu@)
endphoneme
// Addition Dipthongs
phoneme o# // ông
vowel starttype #o endtype #o
length 200
FMT(vnasal/a#u_n)
endphoneme
phoneme O# // ong
vowel starttype #o endtype #o
length 200
FMT(vnasal/&u_n)
endphoneme
phoneme o@
vowel starttype #o endtype #o
length 160
FMT(vdiph2/oa)
endphoneme
phoneme o&
vowel starttype #o endtype #o
length 160
FMT(vietnam/oe)
endphoneme
phoneme kh
vls vel frc
lengthmod 3
Vowelin f1=0 f2=2300 200 400 f3=200 80
Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20
WAV(vietnam/_c,5) //ufric/x, 50)
endphoneme
phoneme l
liquid
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
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
WAV(vietnam/tr,10)
endphoneme
phoneme d
vcd alv stop
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
WAV(vietnam/dd)
endphoneme
phoneme c
vls pal stop palatal
//voicingswitch J
lengthmod 2
length 75
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 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
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
lengthmod 4
FMT(n/n#_)
endphoneme
phoneme t[ // dental variant of /t/
vls dnt stop
voicingswitch d[
lengthmod 2
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_unasp2, 5)
ENDIF
WAV(ustop/t_hi, 70)
endphoneme