Files
espeak-ng/phsource/ph_vietnam
T
jonsd 9172b74343 [1.46.36]
espeakedit: Prosody window now shows the FMT() or WAV() filename
and the standard length of the selected phoneme.

Added the ability to produce speech at different sample rates.
To use rates other than the default 22050Hz, the phoneme data must
be recompiled.  This needs the "sox" program to be available.
(sox.sourceforge.net).

espeakedit: Added menu option to compile the phoneme data at a
specified sample rate (rather than the default 22050Hz).

phondata: Includes the value of the sample rate at which the data was compiled.

Language changes: pt.



git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@302 d46cf337-b52f-0410-862d-fd96e6ae7743
2013-02-20 13:58:44 +00:00

423 lines
6.4 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
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/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_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 150 //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 iE // iê : viết, giệc
vowel starttype #i endtype #e
length 190
FMT(vietnam/ie_2)
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