mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 21:39:47 +00:00
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
423 lines
6.4 KiB
Plaintext
Executable File
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
|