mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-11 16:39:15 +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
221 lines
3.3 KiB
Plaintext
221 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 #@
|
||
ipa ɐU+0303
|
||
length 180
|
||
// ChangeIfNotStressed(&)
|
||
FMT(vnasal/a#_n)
|
||
endphoneme
|
||
|
||
phoneme &U~
|
||
vowel starttype #@ endtype #u
|
||
ipa ɐU+0303ʊU+0303
|
||
length 240
|
||
FMT(vnasal/a#u_n)
|
||
endphoneme
|
||
|
||
phoneme oI~
|
||
vowel starttype #o endtype #i
|
||
ipa oU+0303ɪU+0303
|
||
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
|
||
ipa r
|
||
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
|
||
CALL base/s
|
||
ipa s
|
||
endphoneme
|
||
|
||
|
||
phoneme *
|
||
vcd alv stop
|
||
lengthmod 6
|
||
ipa ɾ
|
||
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
|
||
|
||
|