Files
espeak-ng/phsource/ph_pt_brazil
T
jonsd 14e212f3a1 espeak 1.44.05 release version
Fix error in big-endian data conversion program, producing bad data.

Make geminated voiced stops (eg. [bb] ) longer at fast speeds.

Provide conditional compilation of the mbrola interface, define macro INCLUDE_MBROLA in speech.h

Mbrola: also look for mbrola voices in /usr/share/mbrola/voices

Pad TUNES and frame_t structures to a multiple of 4 bytes.

lang=da, Don't weaken unvoiced stops before pause.
lang=el, Remove final unstressed [a] if the next word starts with [a].
lang=pt, Change final [U] to [w] if next word starts with a vowel.


espeak 1.44.03

Fixes:
Lang=el, mk.  Was speaking words as individual letters.
Lang=pl.  Fix prounciation of 'ć' and 'ci'.
Fix crash in big-endian data conversion program.
Fix problem where changing voices reduces the speaking rate, at fast rates.

speak_lib.h:  add macro definitions for minimum, maximum, and normal speaking rate values.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@253 d46cf337-b52f-0410-862d-fd96e6ae7743
2010-09-15 14:03:05 +00:00

224 lines
3.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//====================================================
// 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
IF thisPh(isWordEnd) AND nextPh(isVowel) THEN
ChangePhoneme(w)
ENDIF
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