mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 13:38:47 +00:00
Lang=hi, Suppress some [@] vowels. Include batch of changes from Jerouris. Fix crash with large number of nbsp characters. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@266 d46cf337-b52f-0410-862d-fd96e6ae7743
385 lines
5.6 KiB
Plaintext
385 lines
5.6 KiB
Plaintext
|
||
|
||
//*******************************************************************
|
||
// VOWELS
|
||
//*******************************************************************
|
||
|
||
|
||
phoneme @ // Schwa
|
||
vowel starttype #@ endtype #@
|
||
unstressed
|
||
length 140
|
||
IfNextVowelAppend(r-)
|
||
FMT(vowel/@_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme 3 // Schwa, used for rhotic schwa in American
|
||
vowel starttype #@ endtype #@
|
||
unstressed
|
||
length 140
|
||
IF nextPh(isVowel) THEN
|
||
ChangePhoneme(@)
|
||
ENDIF
|
||
IfNextVowelAppend(r-)
|
||
IF nextPh(isPause) THEN
|
||
FMT(vowelr/V3_r)
|
||
ENDIF
|
||
FMT(vowel/V)
|
||
endphoneme
|
||
|
||
|
||
phoneme @2 // Schwa, changes to I before a vowel
|
||
vowel starttype #@ endtype #@
|
||
unstressed
|
||
length 120
|
||
IF nextPh(isVowel) THEN
|
||
ChangePhoneme(I2)
|
||
ENDIF
|
||
FMT(vowel/@_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme @5 // Schwa, changes to U before a vowel
|
||
vowel starttype #@ endtype #@
|
||
unstressed
|
||
length 140
|
||
IF nextPh(isVowel) OR nextPh(isPause) THEN
|
||
ChangePhoneme(U)
|
||
ENDIF
|
||
FMT(vowel/@_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme a
|
||
vowel starttype #a endtype #a
|
||
length 200
|
||
ChangeIfDiminished(a#)
|
||
ChangeIfNotStressed(a/)
|
||
FMT(vowel/a_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme a/
|
||
vowel starttype #a endtype #a
|
||
length 160
|
||
ChangeIfDiminished(a#)
|
||
FMT(vowel/a_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme a#
|
||
vowel starttype #@ endtype #@
|
||
ipa ɐ
|
||
unstressed
|
||
length 140
|
||
IfNextVowelAppend(r-)
|
||
FMT(vowel/a#)
|
||
endphoneme
|
||
|
||
|
||
phoneme aa // 'bath' etc.
|
||
vowel starttype #a endtype #a
|
||
ipa a:
|
||
length 220
|
||
IfNextVowelAppend(r-)
|
||
FMT(vowel/a_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme E
|
||
vowel starttype #e endtype #e
|
||
length 170
|
||
ChangeIfDiminished(I2)
|
||
FMT(vowel/e_e)
|
||
endphoneme
|
||
|
||
|
||
phoneme I
|
||
vowel starttype #@ endtype #@
|
||
length 110
|
||
IF nextPh(l/2) THEN
|
||
VowelEnding(l/L2_@L, -30)
|
||
FMT(vowel/@_3)
|
||
ENDIF
|
||
FMT(vowel/e#)
|
||
endphoneme
|
||
|
||
|
||
phoneme I2
|
||
vowel starttype #@ endtype #@
|
||
unstressed
|
||
length 110
|
||
CALL I
|
||
endphoneme
|
||
|
||
|
||
phoneme i // optional variant of [I] for end of words
|
||
vowel starttype #i endtype #e
|
||
ipa e
|
||
length 150
|
||
IfNextVowelAppend(;)
|
||
FMT(vowel/e_5)
|
||
endphoneme
|
||
|
||
|
||
phoneme 0
|
||
vowel starttype #o endtype #o
|
||
length 200
|
||
ChangeIfDiminished(@)
|
||
FMT(vowel/oo_2)
|
||
endphoneme
|
||
|
||
|
||
phoneme V
|
||
vowel starttype #a endtype #@
|
||
length 140
|
||
ChangeIfDiminished(@)
|
||
FMT(vowel/V_4)
|
||
endphoneme
|
||
|
||
|
||
phoneme U
|
||
vowel starttype #u endtype #u
|
||
ipa ʉ
|
||
length 140
|
||
FMT(vowel/u#_4)
|
||
endphoneme
|
||
|
||
|
||
phoneme A:
|
||
vowel starttype #a endtype #a
|
||
length 220
|
||
ipa a:
|
||
IfNextVowelAppend(r-)
|
||
IF nextPh(r) THEN
|
||
Length 250
|
||
FMT(vowelr/aa_r)
|
||
ENDIF
|
||
FMT(vowel/a_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
|
||
vowel starttype #a endtype #@
|
||
length 250
|
||
ipa aː
|
||
AppendPhoneme(r)
|
||
FMT(vowelr/aa_r)
|
||
endphoneme
|
||
|
||
|
||
phoneme 3:
|
||
vowel starttype #e endtype #@
|
||
length 210
|
||
ChangeIfNotStressed(VR) // also need "replace 02 3: VR" in voice file
|
||
ipa e
|
||
AppendPhoneme(r)
|
||
FMT(vdiph2/e@)
|
||
endphoneme
|
||
|
||
|
||
phoneme i:
|
||
vowel starttype #i endtype #i
|
||
length 130
|
||
IfNextVowelAppend(;)
|
||
IF prevPh(w) THEN
|
||
VowelStart(w/wi2)
|
||
ENDIF
|
||
IF nextPh(isVFricative) OR nextPh(isPause) THEN
|
||
Length 180
|
||
ENDIF
|
||
FMT(vowel/i_5)
|
||
endphoneme
|
||
|
||
|
||
phoneme O:
|
||
vowel starttype #o endtype #o
|
||
length 200
|
||
ChangeIfDiminished(@)
|
||
IF nextPh(r) THEN
|
||
FMT(vwl_en_us/or)
|
||
ENDIF
|
||
FMT(vowel/oo)
|
||
endphoneme
|
||
|
||
|
||
phoneme O@
|
||
vowel starttype #o endtype #@
|
||
length 230
|
||
ipa ɔ
|
||
AppendPhoneme(r)
|
||
FMT(vowelr/oo_r)
|
||
endphoneme
|
||
|
||
phoneme o@
|
||
vowel starttype #o endtype #@
|
||
length 230
|
||
ipa o
|
||
AppendPhoneme(r)
|
||
FMT(vowelr/o_r)
|
||
endphoneme
|
||
|
||
|
||
phoneme O
|
||
vowel starttype #o endtype #o
|
||
length 150
|
||
ChangeIfDiminished(@)
|
||
FMT(vowel/0_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme u:
|
||
vowel starttype #u endtype #u
|
||
ipa ʉː
|
||
length 160
|
||
IF nextPh(isVFricative) THEN
|
||
Length 200
|
||
ENDIF
|
||
IF nextPh(isPause) THEN
|
||
Length 200
|
||
FMT(vowel/u#_4)
|
||
ENDIF
|
||
FMT(vowel/u#)
|
||
endphoneme
|
||
|
||
|
||
phoneme aU
|
||
vowel starttype #a endtype #u
|
||
ipa ʌʉ
|
||
length 200
|
||
FMT(vdiph/au#)
|
||
endphoneme
|
||
|
||
|
||
phoneme oU
|
||
vowel starttype #o endtype #u
|
||
ipa oː
|
||
length 190
|
||
FMT(vowel/o_3)
|
||
endphoneme
|
||
|
||
|
||
phoneme aI
|
||
vowel starttype #a endtype #i
|
||
length 190
|
||
IF nextPh(isVowel) OR nextPh(isVFricative) THEN
|
||
ChangePhoneme(aI2)
|
||
ENDIF
|
||
IF nextPh(l/2) THEN
|
||
// before l/2 vwl_en/aI@_2+vwl_en/@L_2
|
||
FMT(vwl_en/aI@_2)
|
||
ENDIF
|
||
|
||
// FMT(vdiph/&i_2
|
||
FMT(vdiph/ai_7)
|
||
endphoneme
|
||
|
||
|
||
phoneme aI2
|
||
vowel starttype #a endtype #i
|
||
length 240
|
||
FMT(vdiph/ai_7)
|
||
endphoneme
|
||
|
||
|
||
phoneme eI
|
||
vowel starttype #e endtype #i
|
||
ipa eː
|
||
length 190
|
||
FMT(vowel/e_2)
|
||
endphoneme
|
||
|
||
|
||
phoneme OI
|
||
vowel starttype #o endtype #i
|
||
length 210
|
||
FMT(vdiph/0i_2)
|
||
endphoneme
|
||
|
||
|
||
phoneme e@
|
||
vowel starttype #e endtype #@
|
||
length 220
|
||
ipa e
|
||
AppendPhoneme(r)
|
||
FMT(vdiph2/e@)
|
||
endphoneme
|
||
|
||
|
||
phoneme i@3
|
||
vowel starttype #i endtype #@
|
||
ipa ɪ
|
||
length 220
|
||
AppendPhoneme(r)
|
||
FMT(vowelr/i_r)
|
||
endphoneme
|
||
|
||
|
||
phoneme U@
|
||
vowel starttype #u endtype #@
|
||
ipa ʉɹ
|
||
IF nextPh(r-) THEN
|
||
ipa ʉ
|
||
ENDIF
|
||
length 240
|
||
IfNextVowelAppend(r-)
|
||
FMT(vdiph2/u#@)
|
||
endphoneme
|
||
|
||
|
||
phoneme aU@
|
||
vowel starttype #a endtype #@
|
||
length 270
|
||
IfNextVowelAppend(r-)
|
||
FMT(vwl_en/aU@)
|
||
endphoneme
|
||
|
||
|
||
phoneme aI@
|
||
vowel starttype #a endtype #@
|
||
length 270
|
||
IfNextVowelAppend(r-)
|
||
FMT(vwl_en/aI@_2)
|
||
endphoneme
|
||
|
||
|
||
phoneme @L
|
||
vowel starttype #@ endtype l
|
||
ipa əl
|
||
unstressed
|
||
length 160
|
||
CALL vowelstart_l
|
||
FMT(vwl_en/@L_2)
|
||
endphoneme
|
||
|
||
|
||
|
||
|
||
//==============
|
||
// Consonants
|
||
//==============
|
||
|
||
phoneme r/ // used for [r] when not preceding a vowel
|
||
liquid
|
||
lengthmod 2 //
|
||
FMT(NULL)
|
||
endphoneme
|
||
|
||
phoneme r
|
||
liquid rhotic
|
||
lengthmod 7
|
||
trill
|
||
|
||
IF nextPh(isNotVowel) THEN
|
||
ChangePhoneme(r/)
|
||
ENDIF
|
||
CALL base/r
|
||
endphoneme
|
||
|
||
|
||
|
||
|
||
|
||
|