Files
espeak-ng/phsource/ph_pt_brazil
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

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