mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Use internal data for iswalpha(), towlower() for characters up to U+024F. Language changes: es, nl, pt, tr, vi. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@346 d46cf337-b52f-0410-862d-fd96e6ae7743
453 lines
7.0 KiB
Plaintext
Executable File
453 lines
7.0 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(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
|