Files
espeak-ng/phsource/ph_zh
T
jonsd ebf0535e6d [1.43.57]
Indicate language changes in IPA phoneme output.

Phoneme definitions FMT(), second parameter is amplitude percentage.

Phoneme definitions CALL(),  If phoneme type is not defined, copy the static attributes from the called phoneme.

Unpronouncable word check: stop when an apostrophe is reached.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@250 d46cf337-b52f-0410-862d-fd96e6ae7743
2010-07-18 22:43:04 +00:00

500 lines
8.4 KiB
Plaintext

//====================================================
// 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 l
liquid
lengthmod 2
CALL vowelstart_l
IF nextPhW(#i) THEN
VowelStart(l/li)
ENDIF
FMT(l/_l)
endphoneme
phoneme j
liquid palatal
lengthmod 1
IF nextPh(isVowel) THEN
NextVowelStarts
VowelStart(j/j@)
VowelStart(j/ja)
VowelStart(j/je)
VowelStart(j/ji)
VowelStart(j/jo)
VowelStart(j/ju)
EndSwitch
VowelEnding(j/xj, -30)
FMT(j/_j)
ELSE
// no vowel follows
Vowelout len=70
FMT(j/j_)
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
ipa tɕ
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
ipa tɕh
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
ipa ɕ
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