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; | |||