Files
espeak-ng/phsource/ph_zh
T
jonsd 20f52f0301 [1.42.21]
New format for phoneme source files.
Update phoneme data for Klatt synthesizer.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@235 d46cf337-b52f-0410-862d-fd96e6ae7743
2009-12-20 07:48:33 +00:00

458 lines
7.9 KiB
Plaintext

//based on "phonemes"
//====================================================
// Tone Numbers
//====================================================
phoneme 11 // tone: low level
stress
Tone(12, 9, envelope/i_risefall, NULL)
endphoneme
phoneme 21 // tone: low fall
stress
Tone(20, 10, envelope/p_fall, NULL)
endphoneme
phoneme 214 // tone: fall rise
stress
Tone(18, 42, envelope/p_214, NULL)
endphoneme
phoneme 22 // tone: mid-low level
stress
Tone(22, 20, envelope/p_fall, NULL)
endphoneme
phoneme 33 // tone: mid level
stress
Tone(32, 30, envelope/p_fall, NULL)
endphoneme
phoneme 35 // tone: mid rise
stress
Tone(30, 50, envelope/p_rise, NULL)
endphoneme
phoneme 44 // tone: mid-high level
stress
Tone(38, 41, envelope/p_rise, NULL)
endphoneme
phoneme 51 // tone: high fall
stress
Tone(50, 10, envelope/p_fall, NULL)
endphoneme
phoneme 53 // tone: high fall
stress
Tone(50, 30, envelope/p_fall, NULL)
endphoneme
phoneme 55 // tone: high level
stress
Tone(55, 50, envelope/p_level, NULL)
endphoneme
//====================================================
// Consonants
//====================================================
phoneme n
vcd alv nasal
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
lengthmod 2
NextVowelStarts
VowelStart(n/n@)
VowelStart(n/na)
VowelStart(n/ne)
VowelStart(n/ni)
VowelStart(n/no)
VowelStart(n/nu)
EndSwitch
IF nextPh(isNotVowel) THEN
FMT(n/n_long_)
ENDIF
FMT(n/_n)
endphoneme
phoneme N
vcd vel nasal
Vowelout f1=2 f2=1900 0 300 f3=400 80 len=50 rms=15 brk
lengthmod 7
NextVowelStarts
VowelStart(nn/nn@)
VowelStart(nn/nna)
VowelStart(nn/nne)
VowelStart(nn/nni)
VowelStart(nn/nno)
VowelStart(nn/nnu)
EndSwitch
IF prevPh(isPause) THEN
FMT(nn/_nn)
ELIF nextPh(isNotVowel) THEN
FMT(nn/nn2_)
ENDIF
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)
endphoneme
phoneme ph
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_asp)
endphoneme
phoneme f //not clear before some vowel
vls lbd frc
lengthmod 2
Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
WAV(ufric/f)
endphoneme
phoneme t
vls alv stop
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 rms=40
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ustop/t_unasp2, 40)
endphoneme
phoneme th
vls alv stop
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(ustop/t_)
endphoneme
phoneme k
vls uvl stop
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(ustop/k_unasp_, 75)
endphoneme
phoneme kh
vls uvl stop
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 f4
Vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
WAV(ustop/k_asp, 80)
endphoneme
phoneme tS;
vls pal afr sibilant palatal
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80
WAV(ustop/tsh_pzd_unasp)
endphoneme
phoneme tS;h
vls pal afr sibilant palatal
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80
WAV(ustop/tsh_pzd, 80)
endphoneme
phoneme S;
vls pla frc sibilant
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80
WAV(ufric/sh_pzd2, 20)
endphoneme
phoneme s.
vls pla frc sibilant
lengthmod 3
Vowelin f1=0 f2=1800 -100 300 f3=-300 80
Vowelout f1=0 f2=1800 -100 300 f3=-300 80
IF nextPh(isPause2) THEN
WAV(ufric/sh_rfx, 50)
ENDIF
WAV(ufric/sh_rfx, 50) // quieter
endphoneme
phoneme ts
vls alv afr sibilant
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(ustop/ts_unasp, 70)
endphoneme
phoneme tsh
vls alv afr sibilant
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(ustop/ts, 60)
endphoneme
phoneme ts.
vls pla frc sibilant
lengthmod 3
Vowelin f1=0 f2=1800 -100 300 f3=-300 80
Vowelout f1=0 f2=1800 -100 300 f3=-300 80
WAV(ustop/ts_rfx_unasp)
endphoneme
phoneme ts.h
vls pla frc sibilant
lengthmod 3
Vowelin f1=0 f2=1800 -100 300 f3=-300 80
Vowelout f1=0 f2=1800 -100 300 f3=-300 80
WAV(ustop/ts_rfx)
endphoneme
//====================================================
// Vowels and Diphtnongs
//====================================================
phoneme N- // syllabic N
vowel starttype N endtype N
length 250
FMT(nn/nn2_)
endphoneme
phoneme a
vowel starttype #a endtype #a
length 250
IF nextPh(N) THEN
FMT(vwl_zh/a_n)
ENDIF
FMT(vowel/a)
endphoneme
phoneme A
vowel starttype #a endtype #a
length 250
IF nextPh(N) THEN
FMT(vowel/aa_2)
ENDIF
FMT(vowel/a_3)
endphoneme
phoneme ai
vowel starttype #a endtype #i
length 250
FMT(vdiph/ai_6)
endphoneme
phoneme Au
vowel starttype #a endtype #u
length 250
FMT(vwl_zh/aau)
endphoneme
phoneme @
vowel starttype #@ endtype #@
length 200
IF nextPh(N) THEN
FMT(vowel/@_bck)
ENDIF
FMT(vowel/3_2)
endphoneme
phoneme @r //tmp use V3_r
vowel starttype #@ endtype #@
length 350
FMT(vowelr/V3_r)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 250
FMT(vowel/ee_2)
endphoneme
phoneme ei
vowel starttype #e endtype #i
length 250
FMT(vdiph2/ei_4)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 250
IF nextPh(N) THEN
FMT(vowel/ii_2)
ENDIF
IF nextPh(n) THEN
FMT(vowel/ii_5)
ENDIF
FMT(vowel/i)
endphoneme
phoneme i[ //after ts tsh s
vowel starttype #i endtype #i
length 250
FMT(vowel/i#_7)
endphoneme
phoneme i. //after ts. ts.h s. z.
vowel starttype #i endtype #i
length 250
FMT(vowel/i#_6)
endphoneme
phoneme iA //try more before N
vowel starttype #i endtype #a
length 250
FMT(vwl_zh/iaa)
endphoneme
phoneme iAu
vowel starttype #i endtype #u
length 250
FMT(vwl_zh/iaau)
endphoneme
phoneme iE
vowel starttype #i endtype #e
length 250
FMT(vwl_zh/ie)
endphoneme
phoneme io
vowel starttype #i endtype #o
length 250
FMT(vdiph2/iioo)
endphoneme
phoneme iou
vowel starttype #i endtype #u
length 250
FMT(vwl_zh/iou)
endphoneme
phoneme o
vowel starttype #o endtype #o
length 250
IF nextPh(N) THEN
FMT(vnasal/oo_n2)
ENDIF
FMT(vdiph2/o_oo)
endphoneme
phoneme o-
vowel starttype #o endtype #o
length 250
FMT(vowel/8)
endphoneme
phoneme ou
vowel starttype #o endtype #u
length 250
FMT(vdiph/8u)
endphoneme
phoneme ong
vowel starttype #o endtype #o
length 500
FMT(vwl_zh/ong)
endphoneme
phoneme u //try more before N
vowel starttype #u endtype #u
length 250
IF nextPh(N) THEN
FMT(vnasal/u_n)
ENDIF
FMT(vowel/u_bck)
endphoneme
phoneme uA
vowel starttype #u endtype #a
length 250
FMT(vwl_zh/uaa)
endphoneme
phoneme ua
vowel starttype #u endtype #a
length 250
FMT(vdiph2/oa)
endphoneme
phoneme uai
vowel starttype #u endtype #i
length 250
FMT(vwl_zh/uai)
endphoneme
phoneme u@
vowel starttype #u endtype #@
length 230
FMT(vdiph2/o@)
endphoneme
phoneme uei
vowel starttype #u endtype #i
length 250
FMT(vwl_zh/uei)
endphoneme
phoneme uo
vowel starttype #u endtype #o
length 280
FMT(vwl_zh/uo)
endphoneme
phoneme y
vowel starttype #i endtype #u
length 250
IF nextPh(N) THEN
FMT(vowel/uu_3)
ENDIF
FMT(vowel/y_2)
endphoneme
phoneme yu //try more before N
vowel starttype #i endtype #u
length 250
FMT(vdiph2/yu)
endphoneme
phoneme y&
vowel starttype #i endtype #e
length 250
FMT(vwl_zh/y&)
endphoneme
phoneme yE //try more so not similar to iE
vowel starttype #i endtype #e
length 250
FMT(vwl_zh/yee)
endphoneme
phoneme y@
vowel starttype #i endtype #@
length 250
FMT(vdiph2/y@)
endphoneme
phoneme yi
vowel starttype #i endtype #i
length 250
FMT(vdiph/yi)
endphoneme