mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
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
215 lines
3.3 KiB
Plaintext
215 lines
3.3 KiB
Plaintext
|
|
//====================================================
|
|
// Portuguese - based on Base2
|
|
//====================================================
|
|
|
|
phoneme I // epenthetic i
|
|
vowel starttype #i endtype #i
|
|
unstressed
|
|
length 90
|
|
FMT(vowel/ii_6)
|
|
endphoneme
|
|
|
|
phoneme e~
|
|
vowel starttype #e endtype #e
|
|
length 240
|
|
FMT(vnasal/e_n)
|
|
endphoneme
|
|
|
|
phoneme i~
|
|
vowel starttype #i endtype #i
|
|
length 240
|
|
IfNextVowelAppend(;)
|
|
FMT(vnasal/i_n)
|
|
endphoneme
|
|
|
|
phoneme o~
|
|
vowel starttype #o endtype #o
|
|
length 240
|
|
FMT(vnasal/o_n)
|
|
endphoneme
|
|
|
|
phoneme u~
|
|
vowel starttype #u endtype #u
|
|
length 180
|
|
FMT(vnasal/u_n)
|
|
endphoneme
|
|
|
|
phoneme &~
|
|
vowel starttype #@ endtype #@
|
|
length 180
|
|
// ChangeIfNotStressed(&)
|
|
FMT(vnasal/a#_n)
|
|
endphoneme
|
|
|
|
phoneme &U~
|
|
vowel starttype #@ endtype #u
|
|
length 240
|
|
FMT(vnasal/a#u_n)
|
|
endphoneme
|
|
|
|
phoneme oI~
|
|
vowel starttype #o endtype #i
|
|
length 260
|
|
FMT(vnasal/oi_n)
|
|
endphoneme
|
|
|
|
|
|
|
|
|
|
phoneme &
|
|
vowel starttype #@ endtype #@
|
|
length 180
|
|
FMT(vowel/a#_3)
|
|
endphoneme
|
|
|
|
phoneme &/ // Used for final "a" when next word starts with "a"
|
|
vowel starttype #@ endtype #@
|
|
length 180
|
|
IF nextPh(isVowel) THEN
|
|
ChangePhoneme(NULL)
|
|
ENDIF
|
|
FMT(vowel/a#_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme A // for "al" in European Portuguese, don't reduce to [&]
|
|
vowel starttype #a endtype #a
|
|
length 200
|
|
FMT(vowel/a_2)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme E
|
|
vowel starttype #e endtype #e
|
|
length 170
|
|
FMT(vowel/ee_3)
|
|
endphoneme
|
|
|
|
phoneme e
|
|
vowel starttype #e endtype #e
|
|
length 160
|
|
FMT(vowel/e)
|
|
endphoneme
|
|
|
|
|
|
phoneme y // this is the same as [i] for Brazil
|
|
vowel starttype #i endtype #i
|
|
length 110
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/ii_6)
|
|
endphoneme
|
|
|
|
|
|
phoneme i/ // changes to [j] before a vowel
|
|
vowel starttype #i endtype #i
|
|
length 150
|
|
IF nextPh(isVowel) THEN
|
|
ChangePhoneme(j)
|
|
ENDIF
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/ii_6)
|
|
endphoneme
|
|
|
|
|
|
phoneme O
|
|
vowel starttype #o endtype #o
|
|
length 170
|
|
FMT(vowel/0)
|
|
endphoneme
|
|
|
|
|
|
phoneme u
|
|
vowel starttype #u endtype #u
|
|
length 160
|
|
FMT(vowel/u_bck)
|
|
endphoneme
|
|
|
|
phoneme U
|
|
vowel starttype #u endtype #u
|
|
length 140
|
|
FMT(vowel/uu_bck)
|
|
endphoneme
|
|
|
|
|
|
|
|
|
|
phoneme aI
|
|
vowel starttype #a endtype #i
|
|
length 230
|
|
IfNextVowelAppend(;)
|
|
FMT(vdiph/ai)
|
|
endphoneme
|
|
|
|
|
|
phoneme eI
|
|
vowel starttype #e endtype #i
|
|
length 210
|
|
IfNextVowelAppend(;)
|
|
FMT(vdiph/ei)
|
|
endphoneme
|
|
|
|
|
|
phoneme OI
|
|
vowel starttype #o endtype #i
|
|
length 230
|
|
IfNextVowelAppend(;)
|
|
FMT(vdiph/0i)
|
|
endphoneme
|
|
|
|
|
|
phoneme eU
|
|
vowel starttype #e endtype #u
|
|
length 230
|
|
FMT(vdiph/eu)
|
|
endphoneme
|
|
|
|
|
|
phoneme EU
|
|
vowel starttype #e endtype #u
|
|
length 230
|
|
FMT(vdiph/eeu)
|
|
endphoneme
|
|
|
|
|
|
|
|
|
|
phoneme l
|
|
import_phoneme en/l // use 'dark' [l] after a vowel, should be [w]
|
|
endphoneme
|
|
|
|
|
|
phoneme x // this is [R] from Slovak/Czech
|
|
liquid
|
|
trill
|
|
lengthmod 6
|
|
Vowelin f1=0 f2=1700 -300 300 f3=-300 80
|
|
Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
|
|
FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
|
|
endphoneme
|
|
|
|
|
|
phoneme r-
|
|
import_phoneme en/r-
|
|
endphoneme
|
|
|
|
|
|
phoneme s# // This is [s] for Brazi;, [S] for Portugal
|
|
import_phoneme base/s
|
|
endphoneme
|
|
|
|
|
|
phoneme *
|
|
vcd alv stop
|
|
lengthmod 6
|
|
Vowelin f1=1 f2=1700 -300 300 f3=0 80
|
|
Vowelout f1=2 f2=1700 -300 300 f3=0 80
|
|
IF PreVoicing THEN
|
|
FMT(d/x_tap)
|
|
ENDIF
|
|
FMT(d/tap2) addWav(x/d, 40)
|
|
endphoneme
|
|
|
|
|