Fixed crash in Russian voice. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@328 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -102,7 +102,6 @@ _7C sjEteTj'Entos | |||
_8C gwitoTj'Entos | |||
_9C nowTj'Entos | |||
_0M1 m'il | |||
_1M1 m'il | |||
_0M2 mil^'ons | |||
_1M2 un||mil^'on | |||
_0M4 bil^'ons | |||
@@ -115,7 +114,7 @@ _dpt kon | |||
// ordinal numbers | |||
_#º o | |||
_#ª a | |||
//_ord eno | |||
_1ox prim'Er | |||
_2ox seQ'und | |||
@@ -166,7 +165,6 @@ _8Co gw,eItoTEnt'en | |||
_9Co nweUTEnt'en | |||
_0M1o mil'en | |||
_1M1 mil'en | |||
_0M2o mil^on'en | |||
_1M2o mil^on'en | |||
@@ -256,6 +256,7 @@ | |||
.group | |||
' | |||
á ''a | |||
é ''e | |||
í ''i |
@@ -15,7 +15,27 @@ n N n^ p r s S t | |||
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 | |||
o O oI u U | |||
@@ -26,6 +46,17 @@ Q r R R2 s S t T | |||
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 | |||
@ a e i o u | |||
@@ -51,6 +82,18 @@ n. n^ p p# r r. s S | |||
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 | |||
@ a a# aI e E E2 i | |||
@@ -118,6 +161,20 @@ S t tS ts v w x 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 | |||
a aI e i o oI u | |||
@@ -128,7 +185,7 @@ p Q r R s s; t T | |||
ts v x z | |||
Dictionary en_dict 2013-03-16 | |||
Dictionary en_dict 2013-03-19 | |||
0 0# 3 3: @ @- @2 @5 | |||
@L a a# A: A@ aa aI aI3 | |||
@@ -266,7 +323,17 @@ q r r. s S s. t T | |||
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: | |||
o o: u u: Y y y: Y: | |||
@@ -346,6 +413,28 @@ t# tS ts ts# v w x 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 | |||
a a: aI aU e E e: i | |||
@@ -359,6 +448,16 @@ S s. S; t t# t. t.# tS | |||
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 | |||
8 a e E E# eI eU i | |||
@@ -433,6 +532,27 @@ r R r. R2 s s. S; t | |||
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 | |||
@ @/ @2 @3 a a: aI aU | |||
@@ -474,6 +594,29 @@ k l m n N p r R | |||
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 | |||
@ a a~ e E e~ E~ i | |||
@@ -500,6 +643,15 @@ S s; S; t t; tS ts tS; | |||
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 | |||
& &/ &U~ &~ @ @- a A | |||
@@ -542,6 +694,27 @@ t; ts tS; v x z Z 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 | |||
& @- a a: e e: i i: | |||
@@ -555,6 +728,17 @@ S t t; tS ts v w x | |||
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 | |||
@ @/ a A a/ aI e E | |||
@@ -603,6 +787,31 @@ Q r R s S s. t T | |||
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 | |||
@ a e E i I o O | |||
@@ -614,6 +823,30 @@ p Q r R s S t tS | |||
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 | |||
@ @: @:I @:U @I @U a a: | |||
@@ -628,6 +861,18 @@ N n^ p Q s s. t t[ | |||
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 | |||
@ @r a A ai Au E ei |
@@ -510,6 +510,7 @@ agm $abbrev | |||
ai $abbrev | |||
amd $abbrev | |||
aol $abbrev | |||
aph $abbrev | |||
api $abbrev | |||
apr apr@ | |||
asap $abbrev | |||
@@ -1051,6 +1052,7 @@ caterer keIt3r3 | |||
cathedral $alt3 | |||
catholic kaTlIk | |||
carotid $alt3 | |||
cartel kA@t'El | |||
cavalier $3 | |||
caveat kavIat | |||
?3 caveat kavIA:t | |||
@@ -1156,6 +1158,7 @@ colonel k3:n@L | |||
colosseum k0l@s'i@m | |||
comanche k@mantSi | |||
combat k0mbat // combating | |||
?3 combative k@mbatIv | |||
combo k0mboU | |||
comely kVmlI // comeliness | |||
comer kVm3 | |||
@@ -1625,6 +1628,7 @@ goodday $2 | |||
goodnight $2 | |||
gorilla g3rIl@ | |||
gospel g0sp@L | |||
gossamer g0s@m3 | |||
goto goUtu: | |||
gourmand gU@mA:nd | |||
gourmet gU@meI | |||
@@ -1780,6 +1784,7 @@ interim $1 | |||
intermediate Int3m'i:di@t | |||
intern Int3:n $noun | |||
interrogatory $3 | |||
intestine I2ntEstI#n | |||
inventory Inv@ntri | |||
?3 inventory Inv@nto:ri | |||
interface $1 | |||
@@ -1843,6 +1848,7 @@ laboratory la#b'0r@trI | |||
labor leIb3 | |||
labored leIb@d | |||
laborer leIb@r3 | |||
laborious $alt3 | |||
labyrinth lab3rInT | |||
lager lA:g3 | |||
laity leI@ti | |||
@@ -1875,6 +1881,7 @@ lemonade $3 | |||
leo li:oU | |||
leona li:'oUn@ | |||
leopard lEp3d | |||
leprechaun lEpr@kO:n | |||
lesion li:Z@n | |||
lethal li:T@L | |||
liaison li:'eIz0n | |||
@@ -1970,6 +1977,7 @@ mausoleum mO:s@'li:@m | |||
mayhem meIhEm | |||
meant mEnt | |||
meadow mEdoU | |||
medallion $alt3 | |||
mediaeval mEdI'i:v@L | |||
medicine mEds@n | |||
?3 medicine mEd@s@n | |||
@@ -2380,6 +2388,7 @@ pythagoras paIT'ag@r@s | |||
python paIT@n | |||
pyramidal pI2r'amId@L | |||
qaeda kaId@ | |||
quadrilateral $3 | |||
quash kw0S | |||
quaternary kw@t3:n@rI | |||
@@ -2825,6 +2834,7 @@ trajectory tr@dZEkt@rI | |||
traverse $alt3 | |||
travesty trav@sti | |||
treatise tri:tIz | |||
tremendous $alt3 | |||
triage tri:A:Z | |||
tribunal traIb'ju:n@L | |||
triceratops traIs'Er@t0ps | |||
@@ -3007,6 +3017,7 @@ yessir jEss3: | |||
yoghurt j0g3t | |||
?3 yoghurt joUg3t | |||
?3 yogurt joUg3t | |||
?3 youtube ju:t2u:b | |||
yoyo joUjoU | |||
zavala $alt3 | |||
@@ -3203,6 +3214,7 @@ Korean kOr'i:@n | |||
Kosovo k0s@voU | |||
Kuala kwA:la# | |||
Lagos leIg0s | |||
Lebanon lEba#n@n | |||
Leipzig laIpsIg | |||
Leone li:'oUn | |||
Lesotho l@s'u:tu: |
@@ -1190,6 +1190,9 @@ | |||
au (_ aU | |||
_) auch %O:x | |||
aud (_ 'O:d | |||
audio O:dI2oU | |||
_) aud (iolo O:d | |||
_) aud (iom O:d | |||
augh O: | |||
l) augh aaf | |||
sl) augh O: | |||
@@ -5403,6 +5406,8 @@ | |||
s) uag weIdZ | |||
@g) ua (ge wI | |||
u (al_ ju: | |||
g) u (al_ w | |||
n) u (al_ ju: | |||
g) ua (rA a | |||
g) uar (d A@ | |||
uary (_ ju:@ri |
@@ -820,6 +820,12 @@ _megsz) í (vatta i | |||
szabad) ítsz its: | |||
sz) í (vemészt i: | |||
vesz) ítsz i:ts: | |||
progressz) í (ve i: | |||
sz) í (vemel i: | |||
sz) í (vere i: | |||
sz) í (veré i: | |||
sz) í (verő i: | |||
sz) í (vevő i: | |||
.group j | |||
j j | |||
@@ -1171,6 +1177,7 @@ _tetszé) s S | |||
kolbászo) s S | |||
feldolgozá) s S | |||
_ki) s (szín S | |||
kérdé) s S | |||
.group ss | |||
ssz ss2 | |||
@@ -1706,6 +1713,8 @@ szállodá) ssz Ss | |||
visszaélé) ssz Ss | |||
esé) ssz (erű Ss | |||
webe) ssz Ss | |||
beleve) ssz (en s: | |||
.group sz | |||
sz s |
@@ -260,7 +260,7 @@ | |||
ᇂ (A | |||
.group ᆯ // ㄹ | |||
ᆯ rr | |||
ᆯ L | |||
ᆯᄅ l | |||
ᆯ (A * | |||
@@ -1495,8 +1495,8 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, | |||
else | |||
{ | |||
// 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 | |||
stressed_syllable = vowel_count - 1; | |||
} |
@@ -124,6 +124,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
int alternative; | |||
int delete_count; | |||
int word_start; | |||
int inserted; | |||
PHONEME_DATA phdata; | |||
int n_ph_list3; | |||
@@ -341,9 +342,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
{ | |||
plist3 = &ph_list3[j]; | |||
if(plist3->sourceix != 0) | |||
word_start = j; | |||
inserted = 0; | |||
if(insert_ph != 0) | |||
{ | |||
// we have a (linking) phoneme which we need to insert here | |||
@@ -374,10 +373,14 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
ph = phoneme_tab[insert_ph]; | |||
plist3->ph = ph; | |||
insert_ph = 0; | |||
inserted = 1; // don't insert the same phoneme repeatedly | |||
} | |||
else | |||
{ | |||
// otherwise get the next phoneme from the list | |||
if(plist3->sourceix != 0) | |||
word_start = j; | |||
ph = phoneme_tab[plist3->phcode]; | |||
plist3[0].ph = ph; | |||
@@ -394,7 +397,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
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. | |||
PHONEME_TAB *ph2; |
@@ -35,7 +35,7 @@ | |||
#include "translate.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; | |||
int option_device_number = -1; |
@@ -1084,6 +1084,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('k','l'): // Greenlandic | |||
{ | |||
SetupTranslator(tr,stress_lengths_equal,stress_amps_equal); | |||
tr->langopts.stress_rule = 12; | |||
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; |