mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-05 06:45:39 +00:00
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
319 lines
4.9 KiB
Plaintext
319 lines
4.9 KiB
Plaintext
|
|
|
|
phoneme @ // Schwa
|
|
vowel starttype #@ endtype #@
|
|
length 150
|
|
FMT(vowel/@_2)
|
|
endphoneme
|
|
|
|
phoneme @/ // Schwa at end of word (silent)
|
|
vowel starttype #@ endtype #@
|
|
length 100
|
|
FMT(vowel/@_2)
|
|
endphoneme
|
|
|
|
phoneme V
|
|
vowel starttype #@ endtype #@
|
|
length 170
|
|
ChangeIfUnstressed(@)
|
|
IF nextPh(h) THEN
|
|
FMT(vowel/8_6)
|
|
ENDIF
|
|
FMT(vowel/@_2)
|
|
endphoneme
|
|
|
|
phoneme I# // use for [V] after [n^]
|
|
vowel starttype #@ endtype #@
|
|
length 170
|
|
ChangeIfUnstressed(@)
|
|
FMT(vowel/ii)
|
|
endphoneme
|
|
|
|
|
|
phoneme a
|
|
vowel starttype #a endtype #a
|
|
length 170
|
|
IF thisPh(isDiminished) THEN
|
|
FMT(vowel/a#_3)
|
|
ENDIF
|
|
FMT(vowel/a_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme a/ // no longer needed
|
|
vowel starttype #a endtype #a
|
|
length 170
|
|
FMT(vowel/a#_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme A
|
|
vowel starttype #a endtype #a
|
|
length 170
|
|
IF thisPh(isDiminished) THEN
|
|
FMT(vowel/a#_3) // but nor "ar_" ??
|
|
ENDIF
|
|
FMT(vowel/aa_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme E
|
|
vowel starttype #e endtype #e
|
|
length 170
|
|
FMT(vowel/ee_4)
|
|
endphoneme
|
|
|
|
phoneme E#
|
|
vowel starttype #@ endtype #@
|
|
length 170
|
|
FMT(vowel/ee#_2)
|
|
endphoneme
|
|
|
|
phoneme e
|
|
vowel starttype #e endtype #e
|
|
length 170
|
|
IF thisPh(isNotStressed) THEN
|
|
FMT(vowel/e_mid2) // e#
|
|
ENDIF
|
|
FMT(vowel/e)
|
|
endphoneme
|
|
|
|
|
|
phoneme i
|
|
vowel starttype #i endtype #i
|
|
length 140
|
|
IF nextPh(l/2) THEN
|
|
VowelEnding(l/L2_iL, -50)
|
|
FMT(vowel/ii#)
|
|
ENDIF
|
|
IF nextPh(l/3) THEN
|
|
VowelEnding(l/l_i, -30)
|
|
FMT(vowel/ii_en)
|
|
ENDIF
|
|
FMT(vowel/i_7)
|
|
endphoneme
|
|
|
|
phoneme I
|
|
vowel starttype #i endtype #i
|
|
length 140
|
|
FMT(vowel/ii_6)
|
|
endphoneme
|
|
|
|
phoneme y
|
|
vowel starttype #u endtype #u
|
|
length 160
|
|
FMT(vowel/y)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme O
|
|
vowel starttype #o endtype #o
|
|
length 170
|
|
IF thisPh(isNotStressed) THEN
|
|
FMT(vowel/oo_1)
|
|
ENDIF
|
|
FMT(vowel/oo_5)
|
|
endphoneme
|
|
|
|
phoneme u
|
|
vowel starttype #u endtype #u
|
|
length 160
|
|
FMT(vowel/u_bck)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme aI
|
|
vowel starttype #a endtype #i
|
|
length 220
|
|
FMT(vdiph/aai)
|
|
endphoneme
|
|
|
|
phoneme eI
|
|
vowel starttype #e endtype #i
|
|
length 220
|
|
FMT(vdiph2/ei_4)
|
|
endphoneme
|
|
|
|
phoneme OI
|
|
vowel starttype #o endtype #i
|
|
length 220
|
|
FMT(vdiph/ooi_4)
|
|
endphoneme
|
|
|
|
phoneme yE
|
|
vowel starttype #u endtype #e
|
|
length 240
|
|
FMT(vdiph2/ye)
|
|
endphoneme
|
|
|
|
|
|
phoneme l/4 // used for [l] when not before a vowel
|
|
liquid
|
|
lengthmod 7
|
|
IF nextPh(isVowel) THEN
|
|
ChangePhoneme(l)
|
|
ENDIF
|
|
FMT(l/l_front_)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme L
|
|
liquid // endtype l^ starttype l^
|
|
lengthmod 7
|
|
IF nextPh(isNotVowel) THEN
|
|
ChangePhoneme(l/4)
|
|
ENDIF
|
|
|
|
NextVowelStarts
|
|
VowelStart(l^/j2@)
|
|
VowelStart(l^/j2a)
|
|
VowelStart(l^/j2e)
|
|
VowelStart(l^/j2i)
|
|
VowelStart(l^/j2o)
|
|
VowelStart(l^/j2u)
|
|
EndSwitch
|
|
|
|
IF prevPh(isPause) THEN
|
|
FMT(l^/_l^)
|
|
ENDIF
|
|
FMT(l/l_front) // this is not being used??
|
|
endphoneme
|
|
|
|
|
|
phoneme ll
|
|
liquid
|
|
lengthmod 7
|
|
|
|
IF nextPh(isNotVowel) THEN
|
|
ChangePhoneme(l/2) // use 'dark' [l] after a vowel
|
|
ENDIF
|
|
|
|
CALL vowelstart_l
|
|
|
|
IF prevPh(#@) THEN
|
|
VowelEnding(l/xl, -50)
|
|
ELIF prevPh(isVowel) THEN
|
|
VowelEnding(l/xl, -40)
|
|
ENDIF
|
|
|
|
FMT(l/l_4)
|
|
endphoneme
|
|
|
|
|
|
phoneme w
|
|
liquid
|
|
lengthmod 7
|
|
CALL base/w
|
|
FMT(w/w2)
|
|
endphoneme
|
|
|
|
|
|
phoneme p
|
|
vls blb stop
|
|
voicingswitch b
|
|
lengthmod 2
|
|
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
|
|
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
|
|
|
|
IF nextPh(isPause2) THEN
|
|
WAV(ustop/p_unasp_, 80)
|
|
ELIF nextPh(l) THEN
|
|
WAV(ustop/pl)
|
|
ENDIF
|
|
WAV(ustop/p_unasp, 120)
|
|
endphoneme
|
|
|
|
|
|
phoneme d
|
|
vcd alv stop
|
|
voicingswitch t
|
|
lengthmod 5
|
|
Vowelin f1=2 f2=1700 -300 300 f3=-200 80 amp=16
|
|
Vowelout f1=2 f2=1700 -300 300 f3=-100 80
|
|
|
|
IF PreVoicing THEN
|
|
FMT(d/xd)
|
|
ENDIF
|
|
|
|
IF nextPh(isPause2) THEN
|
|
FMT(d/d_) addWav(x/d_)
|
|
ELIF nextPh(r) THEN
|
|
FMT(d/dr) addWav(x/d, 50)
|
|
ENDIF
|
|
|
|
FMT(d/d) addWav(x/d, 50)
|
|
endphoneme
|
|
|
|
|
|
phoneme t
|
|
import_phoneme base/t[
|
|
voicingswitch d
|
|
endphoneme
|
|
|
|
|
|
phoneme ts
|
|
import_phoneme consonants/ts
|
|
voicingswitch dz
|
|
endphoneme
|
|
|
|
|
|
phoneme dz
|
|
import_phoneme consonants/dz
|
|
voicingswitch ts
|
|
endphoneme
|
|
|
|
|
|
phoneme z
|
|
vcd alv frc sibilant
|
|
voicingswitch s
|
|
lengthmod 6
|
|
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
|
|
|
|
IF nextPh(isPause2) THEN
|
|
FMT(voc/z_) addWav(ufric/s_)
|
|
ENDIF
|
|
FMT(voc/z) addWav(ufric/s) // louder frictive
|
|
endphoneme
|
|
|
|
|
|
phoneme dZ;
|
|
vcd pla afr sibilant palatal
|
|
voicingswitch tS;
|
|
ipa dʑ
|
|
lengthmod 5
|
|
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
|
|
|
|
IF PreVoicing THEN
|
|
FMT(dzh/xdzh)
|
|
ENDIF
|
|
|
|
IF nextPh(isPause2) THEN
|
|
FMT(dzh/dzh_) addWav(ustop/ts_pzd)
|
|
ENDIF
|
|
FMT(dzh/dzh) addWav(ustop/ts_pzd, 150)
|
|
endphoneme
|
|
|
|
|
|
phoneme c // This is [tS;]
|
|
import_phoneme base/tS;
|
|
voicingswitch dZ;
|
|
endphoneme
|
|
|
|
|
|
phoneme k
|
|
vls vel stop
|
|
voicingswitch g
|
|
lengthmod 2
|
|
Vowelin f1=0 f2=2300 200 400 f3=-100 80
|
|
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
|
|
|
|
IF nextPh(isPause2) THEN
|
|
WAV(ustop/k_)
|
|
ENDIF
|
|
WAV(ustop/k_unasp)
|
|
endphoneme
|
|
|