SAPI5: Fix pitch changes for mbrola voices. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@182 d46cf337-b52f-0410-862d-fd96e6ae7743master
?2 sra $dot | ?2 sra $dot | ||||
// articles | // articles | ||||
o $u+ | |||||
a $u+ | |||||
o $u+ $nounf | |||||
a $u+ $nounf | |||||
os $u+ | os $u+ | ||||
as $u+ | as $u+ | ||||
?1 a & $u+ | ?1 a & $u+ | ||||
// pronouns | // pronouns | ||||
eu $u+ | |||||
eu $u+ $verbf | |||||
tu $u+ | tu $u+ | ||||
você $u+ | |||||
ele $u+ | |||||
você vos'e $u+ | |||||
ele 'ely $u+ | |||||
ela $u+ | ela $u+ | ||||
nós $u+ | nós $u+ | ||||
vós $u+ | vós $u+ | ||||
me $u // reflexive | me $u // reflexive | ||||
te $u | te $u | ||||
nos $u | nos $u | ||||
la $u | |||||
lo $u | |||||
las $u | |||||
los $u | |||||
//se $u | //se $u | ||||
?2 este $u+ 'estSi // this | ?2 este $u+ 'estSi // this | ||||
?2 estes $u+ 'estSis // these | ?2 estes $u+ 'estSis // these | ||||
?2 esta 'Est& $brk $u+ | ?2 esta 'Est& $brk $u+ | ||||
?2 neste $u+ n'estSi //in this | |||||
?2 nestes $u+ n'estSis //in these | |||||
?2 esse $u+ 'esi // that | ?2 esse $u+ 'esi // that | ||||
essa 'Es& $brk $u+ | essa 'Es& $brk $u+ | ||||
aquele $u+ // that | |||||
desse d'esy $u+ | |||||
nesse n'esy $u+ | |||||
aquele &k'ely $u+ // that | |||||
aquela $u+ | aquela $u+ | ||||
daquele d&k'ely $u+ | |||||
?1 que ky $u | ?1 que ky $u | ||||
?2 que ke $u $pause | ?2 que ke $u $pause | ||||
?2 nossa $u+ n'Os& | ?2 nossa $u+ n'Os& | ||||
?2 nossos $u+ n'OsUs | ?2 nossos $u+ n'OsUs | ||||
?2 nossas $u+ n'Os&s | ?2 nossas $u+ n'Os&s | ||||
dele $u+ | |||||
dele dely $u1+ | |||||
dela $u+ | dela $u+ | ||||
deles $u+ | deles $u+ | ||||
delas $u+ | delas $u+ | ||||
nele nely $u1+ | |||||
// prepositions | // prepositions | ||||
de $u // of,from | de $u // of,from | ||||
?2 desde $u $pause // from,since | ?2 desde $u $pause // from,since | ||||
?2 entre $pause // between,among | ?2 entre $pause // between,among | ||||
?2 por $u $pause // by,for,through | ?2 por $u $pause // by,for,through | ||||
?2 sobre $pause // on,above,about | |||||
?2 sobre s'obRy $pause // on,above,about | |||||
?2 sob $pause // under,below | ?2 sob $pause // under,below | ||||
?2 debaixo $pause // under,below | ?2 debaixo $pause // under,below | ||||
sois $u | sois $u | ||||
são $u | são $u | ||||
era $u // .. imperfect | |||||
era E*& $u1 // .. imperfect | |||||
éramos $u | éramos $u | ||||
éreis $u | éreis $u | ||||
eram $u | |||||
eram E*&U~ $u1 | |||||
fui $u // .. preterite | fui $u // .. preterite | ||||
foste $u | foste $u | ||||
foi $u | foi $u | ||||
fomos $u | fomos $u | ||||
fostes $u | fostes $u | ||||
foram $u | |||||
fora $u // .. pluperfect | fora $u // .. pluperfect | ||||
fômamos $u | fômamos $u | ||||
fôreis $u | fôreis $u | ||||
foram $u | |||||
foram fo*&U~ $u1 | |||||
serei $u // .. future | serei $u // .. future | ||||
será $u | |||||
?2 será se*a $u2 | |||||
seremos $u | seremos $u | ||||
sereis $u | sereis $u | ||||
serão $u | serão $u | ||||
astavam $u | astavam $u | ||||
estive $u | estive $u | ||||
esteve $u | |||||
?2 esteve estevy $u2 | |||||
estivemos $u | estivemos $u | ||||
estiveram $u | estiveram $u | ||||
estiver $u estSiv'Er | estiver $u estSiv'Er | ||||
tive $u | tive $u | ||||
tiveste $u | tiveste $u | ||||
teve $u | |||||
teve tevy $u1 | |||||
tivemos $u | tivemos $u | ||||
tivestes $u | tivestes $u | ||||
tiveram $u | tiveram $u | ||||
pudemos $u+ | pudemos $u+ | ||||
puderam $u+ | puderam $u+ | ||||
poderei $u+ | |||||
poderá $u+ | |||||
poderei $u3+ | |||||
poderá $u3+ | |||||
poderemos $u+ | poderemos $u+ | ||||
poderão $u+ | poderão $u+ | ||||
algumas $u // some | algumas $u // some | ||||
não n,&U~ $strend // not | não n,&U~ $strend // not | ||||
// Words with two possible pronounciations | |||||
jogo Z'OgU $verb | |||||
gosto g'OstU $verb | |||||
começo kom'EsU $verb | |||||
almoço aUm'OsU $verb | |||||
retorno xet'OrnU $verb | |||||
acordo &k'OrdU $verb | |||||
governo gov'ernU $noun | |||||
olho 'oljU $noun | |||||
colher kolj'Er $noun | |||||
// MAIN WORD DICTIONARY | // MAIN WORD DICTIONARY | ||||
//********************* | //********************* | ||||
fosse f'osy | |||||
fossem f'oseIN | |||||
hoje 'oZi | |||||
mulher mulj'Er | |||||
mui mu~j | mui mu~j | ||||
muito m'u~jtu // -s is included as a suffix | muito m'u~jtu // -s is included as a suffix | ||||
muita m'u~jt& | muita m'u~jt& | ||||
?2 rede x'edZy | |||||
teta t'et& | |||||
// $alt changes the first [o] phoneme to [O] | |||||
costa $alt | |||||
forte $alt | |||||
porta $alt | |||||
// $alt changes the first [o] phoneme to open [O] | |||||
novos $alt | novos $alt | ||||
novas $alt | |||||
morte $alt | |||||
mortos $alt | mortos $alt | ||||
porte $alt | |||||
norte $alt | |||||
corpos $alt | corpos $alt | ||||
modo $alt | modo $alt | ||||
modos $alt | modos $alt | ||||
fogos $alt | fogos $alt | ||||
sorte $alt | |||||
toque $alt | |||||
bloco $alt | |||||
blocos $alt | |||||
floco $alt | |||||
flocos $alt | |||||
lopes $alt | lopes $alt | ||||
jogos $alt | jogos $alt | ||||
?1 sobre s'obry | ?1 sobre s'obry | ||||
// Open [E] | |||||
nela n'El& | |||||
nessa n'Es& | |||||
era 'E*& | |||||
abacaxi abakaSi | |||||
abacaxi abakaSy | |||||
axé aSE | axé aSE | ||||
elixir eliSir | elixir eliSir | ||||
?1 fixe f'iSy | ?1 fixe f'iSy | ||||
?1 alt 'alt | ?1 alt 'alt | ||||
?2 agosto &g'ostU | ?2 agosto &g'ostU | ||||
?1 back b'Ek | ?1 back b'Ek | ||||
?2 backup bEk'&p | |||||
?2 backups bEk'&ps | |||||
?1 blind bl'aind | ?1 blind bl'aind | ||||
?1 braille b:r'aily | ?1 braille b:r'aily | ||||
?2 Braille bR'aili | ?2 Braille bR'aili |
?2 alh alj | ?2 alh alj | ||||
a (m &~ | a (m &~ | ||||
a (mAr_ & | |||||
a (mA@ & | a (mA@ & | ||||
a (n &~ | a (n &~ | ||||
a (nA@ & | a (nA@ & | ||||
a (nAr_ & | |||||
am (_ =&~N | am (_ =&~N | ||||
am (C &~m | am (C &~m | ||||
?4 am (C &~N | ?4 am (C &~N | ||||
an (K+ &~N | an (K+ &~N | ||||
a (nhA+ & | |||||
am (_ =&U~ | am (_ =&U~ | ||||
?1 a (z_ 'a //eg: paz, rapaz, capaz, etc... | ?1 a (z_ 'a //eg: paz, rapaz, capaz, etc... | ||||
?1 C) acç 'a's // eg: selecção, etc... | ?1 C) acç 'a's // eg: selecção, etc... | ||||
?3 c (_C k_ | ?3 c (_C k_ | ||||
ch S | ch S | ||||
ck k | ck k | ||||
c (c //drop “c” in European Portuguese (eg: seleccionar) | |||||
A) ct t //drop “c” in European Portuguese (eg: exacto) | |||||
A) cç s //drop “c” in European Portuguese (eg: selecção) | |||||
?1 c (c //drop “c” in European Portuguese (eg: seleccionar) | |||||
?1 A) ct t //drop “c” in European Portuguese (eg: exacto) | |||||
?1 A) cç s //drop “c” in European Portuguese (eg: selecção) | |||||
?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc... | ?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc... | ||||
?2 el (K EU | ?2 el (K EU | ||||
?2 elh elj | ?2 elh elj | ||||
v) e (lhA_ E | |||||
e (be_ E | e (be_ E | ||||
e (bem_ E | e (bem_ E | ||||
e (ce_ E | e (ce_ E | ||||
e (cem_ E | e (cem_ E | ||||
e (chA_ E | |||||
e (chAm_ E | |||||
r) e (cho_ e | |||||
e (clA_ E | e (clA_ E | ||||
e (clAm_ E | e (clAm_ E | ||||
e (co_ E | e (co_ E | ||||
e (ctA_ E | |||||
e (ctAm_ E | |||||
e (de_ E | e (de_ E | ||||
e (dem_ E | e (dem_ E | ||||
e (gue_ E | e (gue_ E | ||||
e (guem_ E | e (guem_ E | ||||
e (la_ E | |||||
e (rA_ E | |||||
e (rAm_ E | |||||
l) e (rA_ e | |||||
l) e (rAm_ e | |||||
e (lA_ E | |||||
e (lo_ e | |||||
e (lAm_ E | |||||
i) e (r_ E | |||||
@s) e (r_ E | |||||
u) e (r_ E | |||||
ib) e (rA_ E | |||||
d) e (rA_ E | |||||
ed) e (rAm_ e | |||||
iv) e (rAm_ E | |||||
pod) e (rA_ e | |||||
d) e (rAm_ E | |||||
ib) e (rAm_ E | |||||
@s) e (rA_ E | |||||
@s) e (rAm_ E | |||||
sp) e (rA_ E | |||||
sp) e (rAm_ E | |||||
e (rdA_ E | |||||
e (rdAm_ E | |||||
e (rgA_ E | |||||
e (rgAm_ E | |||||
e (rsA_ E | e (rsA_ E | ||||
e (rsAm_ E | e (rsAm_ E | ||||
e (rvAm_ E | e (rvAm_ E | ||||
e (tA_ E | e (tA_ E | ||||
An) e (tA_ e | |||||
gaz) e (ta_ e | |||||
e (tAm_ E | e (tAm_ E | ||||
e (vA_ E | e (vA_ E | ||||
t) e (ve_ e | |||||
e (vi_ e | |||||
e (vê_ e | |||||
e (vAm_ E | e (vAm_ E | ||||
e (rrAs_ E | e (rrAs_ E | ||||
inh in^ | inh in^ | ||||
i (A_ 'i | i (A_ 'i | ||||
i (am_ 'i | |||||
io (_ iU | io (_ iU | ||||
io (s_ iU | io (s_ iU | ||||
i (oCK i | i (oCK i | ||||
p) o (dAm_ O | p) o (dAm_ O | ||||
o (g_ O | o (g_ O | ||||
o (gs_ O | |||||
o (ge_ O | o (ge_ O | ||||
o (gem_ O | o (gem_ O | ||||
o (ldA_ O | o (ldA_ O | ||||
o (ldAm_ O | o (ldAm_ O | ||||
o (lA_ O | |||||
o (lAm_ O | |||||
o (ltA_ O | o (ltA_ O | ||||
o (ltAm_ O | o (ltAm_ O | ||||
o (sA_ O | o (sA_ O | ||||
o (so_ o | |||||
o (sAm_ O | o (sAm_ O | ||||
o (ssA_ O | o (ssA_ O | ||||
o (va_ O | o (va_ O | ||||
o (vAm_ O | o (vAm_ O | ||||
o (ve_ O | |||||
m) o (va_ o | |||||
m) o (vam_ o | |||||
o (veCs_ O | o (veCs_ O | ||||
?1 o (l_ 'O | ?1 o (l_ 'O | ||||
?2 ol (_ Ow | ?2 ol (_ Ow | ||||
?2 olh olj | ?2 olh olj | ||||
?2 _) o (lhA_ O | |||||
?2 _) o (lhAm_ O | |||||
om (_ oN | om (_ oN | ||||
o (ma_ o | o (ma_ o | ||||
o (brA_ O | o (brA_ O | ||||
o (brAm_ O | o (brAm_ O | ||||
o (dA_ O | |||||
o (dAm_ O | |||||
t) o (dA_ o | |||||
o (rCA_ O | o (rCA_ O | ||||
o (rCo_ o | |||||
o (rCAm_ O | o (rCAm_ O | ||||
o (stA_ O | o (stA_ O | ||||
o (sto_ o | |||||
o (stAm_ O | o (stAm_ O | ||||
o (strA_ O | |||||
os (trAm_ O | |||||
o (tA_ O | o (tA_ O | ||||
o (tAm_ O | o (tAm_ O | ||||
?1 oz (_ Os# | ?1 oz (_ Os# | ||||
?2 oz (_ Oz | ?2 oz (_ Oz | ||||
o (zes_ O | o (zes_ O | ||||
o (ra_ O | |||||
o (rA_ O | |||||
b) o (re_ o | |||||
c) o (re_ o | |||||
d) o (re_ o | |||||
l) o (re_ o | |||||
t) o (re_ o | |||||
v) o (re_ o | |||||
o (rAm_ O | |||||
b) o (rA_ O | |||||
@@) o (rA_ o | |||||
o (p_ O | |||||
?1 _) o (C O // eg: olá, orla, opção, etc... | ?1 _) o (C O // eg: olá, orla, opção, etc... | ||||
?1 _C) o (CACAC u // Documento, documentação, localizar, etc. | ?1 _C) o (CACAC u // Documento, documentação, localizar, etc. | ||||
?1 f) o (rmat u // formatar, formato. | ?1 f) o (rmat u // formatar, formato. | ||||
A) s (_S1 s | A) s (_S1 s | ||||
A) s (_AS1 z // next word starts with vowel | A) s (_AS1 z // next word starts with vowel | ||||
ese) s (_ s | |||||
?!4 A) s (_GS1 z // next word starts with voiced consonant | ?!4 A) s (_GS1 z // next word starts with voiced consonant | ||||
?1 A) s (C s# | ?1 A) s (C s# |
vowelout f1=0 f2=2100 100 300 f3=-100 80 | vowelout f1=0 f2=2100 100 300 f3=-100 80 | ||||
length 30 | length 30 | ||||
lengthmod 3 | lengthmod 3 | ||||
wave ufric/sh3%220 | |||||
before _ ufric/sh3%160 | |||||
wave ufric/sh3%110 | |||||
before _ ufric/sh3%90 | |||||
switchvoicing Z | switchvoicing Z | ||||
endphoneme | endphoneme | ||||
vowelin f1=0 f2=1900 100 200 f3=-100 80 | vowelin f1=0 f2=1900 100 200 f3=-100 80 | ||||
length 90 | length 90 | ||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/tsh2 | |||||
before _ ustop/tsh2%70 | |||||
wave ustop/tsh2%50 | |||||
before _ ustop/tsh2%40 | |||||
switchvoicing dZ | switchvoicing dZ | ||||
endphoneme | endphoneme | ||||
vls pal afr sibilant palatal | vls pal afr sibilant palatal | ||||
vowelin f1=0 f2=2500 300 500 f3=300 80 rate len=70 | vowelin f1=0 f2=2500 300 500 f3=300 80 rate len=70 | ||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/ts_pzd3 | |||||
before _ ustop/ts_pzd3%80 | |||||
wave ustop/ts_pzd3%50 | |||||
before _ ustop/ts_pzd3%50 | |||||
switchvoicing dZ; | switchvoicing dZ; | ||||
endphoneme | endphoneme | ||||
vcd pla frc sibilant | vcd pla frc sibilant | ||||
vowelin f1=0 f2=2000 0 300 f3=-200 80 | vowelin f1=0 f2=2000 0 300 f3=-200 80 | ||||
vowelout f1=2 f2=2000 0 300 f3=-200 80 brk | vowelout f1=2 f2=2000 0 300 f3=-200 80 brk | ||||
formants voc/zh+ufric/sh3%240 | |||||
before _ voc/zh_+ufric/sh3%170 | |||||
formants voc/zh+ufric/sh3%150 | |||||
before _ voc/zh_+ufric/sh3%80 | |||||
lengthmod 6 | lengthmod 6 | ||||
switchvoicing S | switchvoicing S | ||||
endphoneme | endphoneme | ||||
vcd pla afr sibilant | vcd pla afr sibilant | ||||
vowelin f1=2 f2=1900 100 300 f3=100 80 | vowelin f1=2 f2=1900 100 300 f3=100 80 | ||||
vowelout f1=2 f2=1900 100 300 f3=100 80 brk | vowelout f1=2 f2=1900 100 300 f3=100 80 brk | ||||
formants dzh/dzh2+ustop/tsh2%140 | |||||
before _ dzh/dzh_+ustop/tsh2%100 | |||||
formants dzh/dzh2+ustop/tsh2%80 | |||||
before _ dzh/dzh_+ustop/tsh2%50 | |||||
after _ NULL | after _ NULL | ||||
after @ dzh/xdzh | after @ dzh/xdzh | ||||
lengthmod 5 | lengthmod 5 | ||||
phoneme dZ; // letter đ | phoneme dZ; // letter đ | ||||
vcd pla afr sibilant palatal | vcd pla afr sibilant palatal | ||||
vowelin f1=2 f2=2500 300 500 f3=300 80 rate len=70 | vowelin f1=2 f2=2500 300 500 f3=300 80 rate len=70 | ||||
formants dzh/dzh2+ustop/ts_pzd3%140 | |||||
before _ dzh/dzh_+ustop/ts_pzd3%80 | |||||
formants dzh/dzh2+ustop/ts_pzd3%80 | |||||
before _ dzh/dzh_+ustop/ts_pzd3%50 | |||||
after _ NULL | after _ NULL | ||||
after @ dzh/xdzh | after @ dzh/xdzh | ||||
lengthmod 5 | lengthmod 5 |
phoneme V | phoneme V | ||||
vowel starttype (a) endtype (@) | vowel starttype (a) endtype (@) | ||||
length 155 | |||||
length 160 | |||||
formants vowel/V_6 | formants vowel/V_6 | ||||
reduceto @ 0 | reduceto @ 0 | ||||
endphoneme | endphoneme |
unsigned int word; // bit 7=last command for this word, bits 5,6 sign, bits 0-4 command | unsigned int word; // bit 7=last command for this word, bits 5,6 sign, bits 0-4 command | ||||
unsigned int value; | unsigned int value; | ||||
int command; | int command; | ||||
int sign=0; | |||||
do { | do { | ||||
word = embedded_list[embix++]; | word = embedded_list[embix++]; | ||||
value = word >> 8; | value = word >> 8; | ||||
command = word & 0x7f; | |||||
command = word & 0x1f; | |||||
if((word & 0x60) == 0x60) | |||||
sign = -1; | |||||
else | |||||
if((word & 0x60) == 0x40) | |||||
sign = 1; | |||||
if(command < N_EMBEDDED_VALUES) | |||||
{ | |||||
if(sign == 0) | |||||
embedded_value[command] = value; | |||||
else | |||||
embedded_value[command] += (value * sign); | |||||
} | |||||
switch(command & 0x1f) | switch(command & 0x1f) | ||||
{ | { |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.37.09 31.Jul.08"; | |||||
const char *version_string = "1.37.10 05.Aug.08"; | |||||
const int version_phdata = 0x013400; | const int version_phdata = 0x013400; | ||||
int option_device_number = -1; | int option_device_number = -1; |