Fixed crash in Russian voice. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@328 d46cf337-b52f-0410-862d-fd96e6ae7743master
_8C gwitoTj'Entos | _8C gwitoTj'Entos | ||||
_9C nowTj'Entos | _9C nowTj'Entos | ||||
_0M1 m'il | _0M1 m'il | ||||
_1M1 m'il | |||||
_0M2 mil^'ons | _0M2 mil^'ons | ||||
_1M2 un||mil^'on | _1M2 un||mil^'on | ||||
_0M4 bil^'ons | _0M4 bil^'ons | ||||
// ordinal numbers | // ordinal numbers | ||||
_#º o | _#º o | ||||
_#ª a | _#ª a | ||||
//_ord eno | |||||
_1ox prim'Er | _1ox prim'Er | ||||
_2ox seQ'und | _2ox seQ'und | ||||
_9Co nweUTEnt'en | _9Co nweUTEnt'en | ||||
_0M1o mil'en | _0M1o mil'en | ||||
_1M1 mil'en | |||||
_0M2o mil^on'en | _0M2o mil^on'en | ||||
_1M2o mil^on'en | _1M2o mil^on'en | ||||
.group | .group | ||||
' | |||||
á ''a | á ''a | ||||
é ''e | é ''e | ||||
í ''i | í ''i |
T tS v w x x2 z Z | T tS v w x x2 z Z | ||||
Dictionary an_dict 2013-03-17 | |||||
Dictionary ak_dict 2010-08-11 | |||||
a e E i o O u | |||||
: b C d dZ dZ; f g | |||||
h j k l m n N n^ | |||||
p R s t tS; v w z | |||||
z; | |||||
Dictionary am_dict 2011-11-22 | |||||
@ a e i o u y | |||||
: ? b B d dZ f g | |||||
h j k k` l m n N | |||||
n^ p p` r s S t t` | |||||
tS tS` v w x z Z | |||||
Dictionary an_dict 2013-03-19 | |||||
a aI aU e E eI eU i | a aI aU e E eI eU i | ||||
o O oI u U | o O oI u U | ||||
t# tS w x | t# tS w x | ||||
Dictionary az_dict 2010-07-27 | |||||
& @ a e E i o u | |||||
W y | |||||
* b c C d dZ f g | |||||
h j J k l m n p | |||||
Q R s S t tS v w | |||||
x z Z | |||||
Dictionary bg_dict 2013-03-16 | Dictionary bg_dict 2013-03-16 | ||||
@ a e i o u | @ a e i o u | ||||
s. t t# t. t.# v w z | s. t t# t. t.# v w z | ||||
Dictionary bo_dict 2013-03-09 | |||||
a a: e e: i i: l- o | |||||
o: r- u u: | |||||
: ? b b# c c# d d# | |||||
d. d.# dz dz# g g# H j | |||||
J k k# l m n N n. | |||||
n^ p p# r s S s. t | |||||
t# t. t.# ts ts# w z Z | |||||
Dictionary ca_dict 2010-07-27 | Dictionary ca_dict 2010-07-27 | ||||
@ a a# aI e E E2 i | @ a a# aI e E E2 i | ||||
Z | Z | ||||
Dictionary dv_dict 2013-03-09 | |||||
@ @2 a a: aI e e: E: | |||||
E~ i I i: o O o: O: | |||||
O~ u U u: V | |||||
: ? b c c# d D d. | |||||
dZ f g h j k k# l | |||||
l. m n N n. n^ p Q | |||||
q r R s S s. t T | |||||
t# t. t.# tS v w x z | |||||
Z | |||||
Dictionary el_dict 2011-05-19 | Dictionary el_dict 2011-05-19 | ||||
a aI e i o oI u | a aI e i o oI u | ||||
ts v x z | ts v x z | ||||
Dictionary en_dict 2013-03-16 | |||||
Dictionary en_dict 2013-03-19 | |||||
0 0# 3 3: @ @- @2 @5 | 0 0# 3 3: @ @- @2 @5 | ||||
@L a a# A: A@ aa aI aI3 | @L a a# A: A@ aa aI aI3 | ||||
t# t. t.# v w x z | t# t. t.# v w x z | ||||
Dictionary hu_dict 2013-03-13 | |||||
Dictionary ht_dict 2010-06-29 | |||||
a A~ e E E~ i o O | |||||
O~ u w y | |||||
; b d f g j k l | |||||
m n N p r s S t | |||||
tS v z Z | |||||
Dictionary hu_dict 2013-03-18 | |||||
a A a: e E e: i i: | a A a: e E e: i i: | ||||
o o: u u: Y y y: Y: | o o: u u: Y y y: Y: | ||||
Z | Z | ||||
Dictionary kk_dict 2011-12-07 | |||||
& 8 a A e E i I | |||||
o u U u# Y | |||||
; b d f g G h j | |||||
k l m n N p q r | |||||
s S t tS v w X z | |||||
Z | |||||
Dictionary kl_dict 2013-03-18 | |||||
& 3 @ @- a aI e E | |||||
i o O u V W y | |||||
* : b C d D f g | |||||
h j k l l# m n N | |||||
p Q q r R s t tl# | |||||
ts tS; v w x X z | |||||
Dictionary kn_dict 2013-03-16 | Dictionary kn_dict 2013-03-16 | ||||
a a: aI aU e E e: i | a a: aI aU e E e: i | ||||
v w z | v w z | ||||
Dictionary ko_dict 2013-03-19 | |||||
@ a e E i o u u- | |||||
* - ; b d dZ; g h | |||||
j k k- kh l L m n | |||||
N p p- ph q r R s | |||||
t t- tS tS; w | |||||
Dictionary ku_dict 2008-04-14 | Dictionary ku_dict 2008-04-14 | ||||
8 a e E E# eI eU i | 8 a e E E# eI eU i | ||||
t# t. t.# tS v w z | t# t. t.# tS v w z | ||||
Dictionary mt_dict 2011-07-29 | |||||
@ a ai au e ei eu i | |||||
I ie iu l- o u U ui | |||||
y yi yY | |||||
* : b c C d dZ f | |||||
g h j k l m n p | |||||
q r s S t tS v w | |||||
x z Z | |||||
Dictionary nci_dict 2010-01-20 | |||||
a e i o O | |||||
: ? b c d f g j | |||||
k l m n p R s S | |||||
t tS v w x | |||||
Dictionary ne_dict 2013-03-09 | Dictionary ne_dict 2013-03-09 | ||||
@ @/ @2 @3 a a: aI aU | @ @/ @2 @3 a a: aI aU | ||||
s S s; t v w x z | s S s; t v w x z | ||||
Dictionary nso_dict 2010-08-27 | |||||
@ a e E i m- n- N- | |||||
o u U | |||||
- : ; b B d D dZ | |||||
f h j J k K l l# | |||||
m n N n^ p Q R3 s | |||||
S t tS v w x X x2 | |||||
z | |||||
Dictionary pap_dict 2010-07-27 | |||||
a a/ aI e E eI i o | |||||
O u y Y | |||||
: ? b d dZ f g h | |||||
j k l m n N n^ p | |||||
R s S t tS v w x | |||||
z Z | |||||
Dictionary pa_dict 2013-03-17 | Dictionary pa_dict 2013-03-17 | ||||
@ a a~ e E e~ E~ i | @ a a~ e E e~ E~ i | ||||
ts; v w x z Z Z; | ts; v w x z Z Z; | ||||
Dictionary prs_dict 2009-12-01 | |||||
@ A E eI i o u | |||||
: b d dZ f g h j | |||||
k l m n p r R s | |||||
S t tS v w X z Z | |||||
Dictionary pt_dict 2013-03-17 | Dictionary pt_dict 2013-03-17 | ||||
& &/ &U~ &~ @ @- a A | & &/ &U~ &~ @ @- a A | ||||
Z; | Z; | ||||
Dictionary rw_dict 2008-03-27 | |||||
a e i o u | |||||
* : b B c d dZ f | |||||
g h j J k l m n | |||||
N n^ p q R s S S; | |||||
t tS v w x z | |||||
Dictionary si_dict 2013-01-18 | |||||
& &: @ a a: aI aU e | |||||
e: i i: o o: u u: | |||||
b d d. dZ f g h j | |||||
k l l. m m# n N n# | |||||
N# n. n.# n^ n^# p r s | |||||
S s. t t. tS v w | |||||
Dictionary sk_dict 2011-08-08 | Dictionary sk_dict 2011-08-08 | ||||
& @- a a: e e: i i: | & @- a a: e e: i i: | ||||
z Z | z Z | ||||
Dictionary sl_dict 2013-01-30 | |||||
@ @- a a: e E e: i | |||||
i: o O o: u u: y | |||||
: b d dZ dz f g h | |||||
j k l l^ m n N n^ | |||||
p R R^ s S t tS ts | |||||
v v# w x z Z | |||||
Dictionary sq_dict 2008-12-22 | Dictionary sq_dict 2008-12-22 | ||||
@ @/ a A a/ aI e E | @ @/ a A a/ aI e E | ||||
t# t. tS v w z z. | t# t. tS v w z z. | ||||
Dictionary te_dict 2013-03-16 | |||||
a a: aI aU e E e: i | |||||
i: l- o o: r- u u: V | |||||
#X1 #X2 : ; b b# c c# | |||||
d d# d. d.# dZ f g g# | |||||
h j J J# k k# l l. | |||||
m n N n. n^ p p# r | |||||
s s. S; t t# t. t.# tS | |||||
v w z | |||||
Dictionary tn_dict 2011-02-17 | |||||
@- a e i m- n- N- o | |||||
u | |||||
* - : b B d D dZ | |||||
f g h j J k K l | |||||
l# m n N n^ p Q r | |||||
R R3 s S t T tS ts | |||||
v w x X z | |||||
Dictionary tr_dict 2011-09-16 | Dictionary tr_dict 2011-09-16 | ||||
@ a e E i I o O | @ a e E i I o O | ||||
v w z Z | v w z Z | ||||
Dictionary tt_dict 2012-09-14 | |||||
& a A e e2 e: i I | |||||
o u u2 V W y | |||||
: ? b d f g h j | |||||
k l m n N p q r | |||||
R s S S; t w x z | |||||
Z Z; | |||||
Dictionary ur_dict 2013-03-13 | |||||
@ a a: aI aU e E e: | |||||
i I i: O o: U u: V | |||||
: ; b b# c c# d D | |||||
d# d. d.# f g g# h H | |||||
j J J# k k# l m n | |||||
N p p# Q q r R r. | |||||
s S s. t T t# t. t.# | |||||
v w x z Z z. | |||||
Dictionary vi_dict 2013-03-16 | Dictionary vi_dict 2013-03-16 | ||||
@ @: @:I @:U @I @U a a: | @ @: @:I @:U @I @U a a: | ||||
v w x z Z z. | v w x z Z z. | ||||
Dictionary wo_dict 2010-11-30 | |||||
@ @: a a: e E e: E: | |||||
i i: m- n- N- o O O: | |||||
o: u u: | |||||
: b c d f g h j | |||||
J k l m n N n^ p | |||||
q R R2 s s2 t v w | |||||
x z | |||||
Dictionary zh_dict 2013-01-25 | Dictionary zh_dict 2013-01-25 | ||||
@ @r a A ai Au E ei | @ @r a A ai Au E ei |
ai $abbrev | ai $abbrev | ||||
amd $abbrev | amd $abbrev | ||||
aol $abbrev | aol $abbrev | ||||
aph $abbrev | |||||
api $abbrev | api $abbrev | ||||
apr apr@ | apr apr@ | ||||
asap $abbrev | asap $abbrev | ||||
cathedral $alt3 | cathedral $alt3 | ||||
catholic kaTlIk | catholic kaTlIk | ||||
carotid $alt3 | carotid $alt3 | ||||
cartel kA@t'El | |||||
cavalier $3 | cavalier $3 | ||||
caveat kavIat | caveat kavIat | ||||
?3 caveat kavIA:t | ?3 caveat kavIA:t | ||||
colosseum k0l@s'i@m | colosseum k0l@s'i@m | ||||
comanche k@mantSi | comanche k@mantSi | ||||
combat k0mbat // combating | combat k0mbat // combating | ||||
?3 combative k@mbatIv | |||||
combo k0mboU | combo k0mboU | ||||
comely kVmlI // comeliness | comely kVmlI // comeliness | ||||
comer kVm3 | comer kVm3 | ||||
goodnight $2 | goodnight $2 | ||||
gorilla g3rIl@ | gorilla g3rIl@ | ||||
gospel g0sp@L | gospel g0sp@L | ||||
gossamer g0s@m3 | |||||
goto goUtu: | goto goUtu: | ||||
gourmand gU@mA:nd | gourmand gU@mA:nd | ||||
gourmet gU@meI | gourmet gU@meI | ||||
intermediate Int3m'i:di@t | intermediate Int3m'i:di@t | ||||
intern Int3:n $noun | intern Int3:n $noun | ||||
interrogatory $3 | interrogatory $3 | ||||
intestine I2ntEstI#n | |||||
inventory Inv@ntri | inventory Inv@ntri | ||||
?3 inventory Inv@nto:ri | ?3 inventory Inv@nto:ri | ||||
interface $1 | interface $1 | ||||
labor leIb3 | labor leIb3 | ||||
labored leIb@d | labored leIb@d | ||||
laborer leIb@r3 | laborer leIb@r3 | ||||
laborious $alt3 | |||||
labyrinth lab3rInT | labyrinth lab3rInT | ||||
lager lA:g3 | lager lA:g3 | ||||
laity leI@ti | laity leI@ti | ||||
leo li:oU | leo li:oU | ||||
leona li:'oUn@ | leona li:'oUn@ | ||||
leopard lEp3d | leopard lEp3d | ||||
leprechaun lEpr@kO:n | |||||
lesion li:Z@n | lesion li:Z@n | ||||
lethal li:T@L | lethal li:T@L | ||||
liaison li:'eIz0n | liaison li:'eIz0n | ||||
mayhem meIhEm | mayhem meIhEm | ||||
meant mEnt | meant mEnt | ||||
meadow mEdoU | meadow mEdoU | ||||
medallion $alt3 | |||||
mediaeval mEdI'i:v@L | mediaeval mEdI'i:v@L | ||||
medicine mEds@n | medicine mEds@n | ||||
?3 medicine mEd@s@n | ?3 medicine mEd@s@n | ||||
python paIT@n | python paIT@n | ||||
pyramidal pI2r'amId@L | pyramidal pI2r'amId@L | ||||
qaeda kaId@ | |||||
quadrilateral $3 | quadrilateral $3 | ||||
quash kw0S | quash kw0S | ||||
quaternary kw@t3:n@rI | quaternary kw@t3:n@rI | ||||
traverse $alt3 | traverse $alt3 | ||||
travesty trav@sti | travesty trav@sti | ||||
treatise tri:tIz | treatise tri:tIz | ||||
tremendous $alt3 | |||||
triage tri:A:Z | triage tri:A:Z | ||||
tribunal traIb'ju:n@L | tribunal traIb'ju:n@L | ||||
triceratops traIs'Er@t0ps | triceratops traIs'Er@t0ps | ||||
yoghurt j0g3t | yoghurt j0g3t | ||||
?3 yoghurt joUg3t | ?3 yoghurt joUg3t | ||||
?3 yogurt joUg3t | ?3 yogurt joUg3t | ||||
?3 youtube ju:t2u:b | |||||
yoyo joUjoU | yoyo joUjoU | ||||
zavala $alt3 | zavala $alt3 | ||||
Kosovo k0s@voU | Kosovo k0s@voU | ||||
Kuala kwA:la# | Kuala kwA:la# | ||||
Lagos leIg0s | Lagos leIg0s | ||||
Lebanon lEba#n@n | |||||
Leipzig laIpsIg | Leipzig laIpsIg | ||||
Leone li:'oUn | Leone li:'oUn | ||||
Lesotho l@s'u:tu: | Lesotho l@s'u:tu: |
au (_ aU | au (_ aU | ||||
_) auch %O:x | _) auch %O:x | ||||
aud (_ 'O:d | aud (_ 'O:d | ||||
audio O:dI2oU | |||||
_) aud (iolo O:d | |||||
_) aud (iom O:d | |||||
augh O: | augh O: | ||||
l) augh aaf | l) augh aaf | ||||
sl) augh O: | sl) augh O: | ||||
s) uag weIdZ | s) uag weIdZ | ||||
@g) ua (ge wI | @g) ua (ge wI | ||||
u (al_ ju: | u (al_ ju: | ||||
g) u (al_ w | |||||
n) u (al_ ju: | |||||
g) ua (rA a | g) ua (rA a | ||||
g) uar (d A@ | g) uar (d A@ | ||||
uary (_ ju:@ri | uary (_ ju:@ri |
szabad) ítsz its: | szabad) ítsz its: | ||||
sz) í (vemészt i: | sz) í (vemészt i: | ||||
vesz) ítsz i:ts: | vesz) ítsz i:ts: | ||||
progressz) í (ve i: | |||||
sz) í (vemel i: | |||||
sz) í (vere i: | |||||
sz) í (veré i: | |||||
sz) í (verő i: | |||||
sz) í (vevő i: | |||||
.group j | .group j | ||||
j j | j j | ||||
kolbászo) s S | kolbászo) s S | ||||
feldolgozá) s S | feldolgozá) s S | ||||
_ki) s (szín S | _ki) s (szín S | ||||
kérdé) s S | |||||
.group ss | .group ss | ||||
ssz ss2 | ssz ss2 | ||||
visszaélé) ssz Ss | visszaélé) ssz Ss | ||||
esé) ssz (erű Ss | esé) ssz (erű Ss | ||||
webe) ssz Ss | webe) ssz Ss | ||||
beleve) ssz (en s: | |||||
.group sz | .group sz | ||||
sz s | sz s |
ᇂ (A | ᇂ (A | ||||
.group ᆯ // ㄹ | .group ᆯ // ㄹ | ||||
ᆯ rr | |||||
ᆯ L | |||||
ᆯᄅ l | ᆯᄅ l | ||||
ᆯ (A * | ᆯ (A * | ||||
else | else | ||||
{ | { | ||||
// no long vowels or consonant clusters | // no long vowels or consonant clusters | ||||
if(vowel_count > 4) | |||||
stressed_syllable = vowel_count - 3; | |||||
if(vowel_count > 5) | |||||
stressed_syllable = vowel_count - 3; // more than 4 syllables | |||||
else | else | ||||
stressed_syllable = vowel_count - 1; | stressed_syllable = vowel_count - 1; | ||||
} | } |
int alternative; | int alternative; | ||||
int delete_count; | int delete_count; | ||||
int word_start; | int word_start; | ||||
int inserted; | |||||
PHONEME_DATA phdata; | PHONEME_DATA phdata; | ||||
int n_ph_list3; | int n_ph_list3; | ||||
{ | { | ||||
plist3 = &ph_list3[j]; | plist3 = &ph_list3[j]; | ||||
if(plist3->sourceix != 0) | |||||
word_start = j; | |||||
inserted = 0; | |||||
if(insert_ph != 0) | if(insert_ph != 0) | ||||
{ | { | ||||
// we have a (linking) phoneme which we need to insert here | // we have a (linking) phoneme which we need to insert here | ||||
ph = phoneme_tab[insert_ph]; | ph = phoneme_tab[insert_ph]; | ||||
plist3->ph = ph; | plist3->ph = ph; | ||||
insert_ph = 0; | insert_ph = 0; | ||||
inserted = 1; // don't insert the same phoneme repeatedly | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
// otherwise get the next phoneme from the list | // otherwise get the next phoneme from the list | ||||
if(plist3->sourceix != 0) | |||||
word_start = j; | |||||
ph = phoneme_tab[plist3->phcode]; | ph = phoneme_tab[plist3->phcode]; | ||||
plist3[0].ph = ph; | plist3[0].ph = ph; | ||||
InterpretPhoneme(tr, 0x100, plist3, &phdata, &worddata); | InterpretPhoneme(tr, 0x100, plist3, &phdata, &worddata); | ||||
if((alternative = phdata.pd_param[pd_INSERTPHONEME]) > 0) | |||||
if(((alternative = phdata.pd_param[pd_INSERTPHONEME]) > 0) && (inserted == 0)) | |||||
{ | { | ||||
// PROBLEM: if we insert a phoneme before a vowel then we loose the stress. | // PROBLEM: if we insert a phoneme before a vowel then we loose the stress. | ||||
PHONEME_TAB *ph2; | PHONEME_TAB *ph2; |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.47.01 18.Mar.13"; | |||||
const char *version_string = "1.47.02 19.Mar.13"; | |||||
const int version_phdata = 0x014701; | const int version_phdata = 0x014701; | ||||
int option_device_number = -1; | int option_device_number = -1; |
case L('k','l'): // Greenlandic | case L('k','l'): // Greenlandic | ||||
{ | { | ||||
SetupTranslator(tr,stress_lengths_equal,stress_amps_equal); | |||||
tr->langopts.stress_rule = 12; | tr->langopts.stress_rule = 12; | ||||
tr->langopts.stress_flags = S_NO_AUTO_2; | tr->langopts.stress_flags = S_NO_AUTO_2; | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_ORDINAL_DOT | NUM_1900 | NUM_ROMAN | NUM_ROMAN_CAPITALS | NUM_ROMAN_ORDINAL; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_ORDINAL_DOT | NUM_1900 | NUM_ROMAN | NUM_ROMAN_CAPITALS | NUM_ROMAN_ORDINAL; |