lang=id: Initial draft git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@125 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -9,10 +9,10 @@ eI e~ I i iu O O: o@ | |||
| OI oI o~ u uI W y Y@ | |||
| Yy | |||
| - : ; b c d dZ f | |||
| g h j k l m n N | |||
| p r r- s S t tS v | |||
| w x2 z Z | |||
| - : ; ? b c d dZ | |||
| f g h j k l m n | |||
| N p r r- s S t tS | |||
| v w x2 z Z | |||
| Dictionary cs_dict | |||
| @@ -311,13 +311,12 @@ t T tl# v x z | |||
| Dictionary la_dict | |||
| @- a a: aI aU E e: EU | |||
| I i: O o: OI U u: y | |||
| y: | |||
| @- a a: E e: I i: O | |||
| o: U u: | |||
| * : ; <h> b d f g | |||
| h j k l m n N p | |||
| r R s t w z | |||
| * : ; b d f g h | |||
| k l m n N p r R | |||
| s t w z | |||
| Dictionary grc_dict | |||
| @@ -377,3 +376,14 @@ y | |||
| j k l L l^ m n N | |||
| n^ p r R s S t tS | |||
| ts tS; v x z Z | |||
| Dictionary id_dict | |||
| @ a aI aU e E i o | |||
| O u | |||
| * ? b d dZ f g h | |||
| j k l m n N n^ p | |||
| q r R s S t tS v | |||
| w x z | |||
| @@ -265,9 +265,10 @@ ii II // word, not numeric | |||
| vi wI // word, not numeric | |||
| i 'u:nUs $capital | |||
| ii d'UO $capital | |||
| vi s,Eks $capital | |||
| ii d'UO $allcaps | |||
| vi s,Eks $allcaps | |||
| // eSpeak translates Roman numbers to Arabic numerals | |||
| _0 n'Ulla | |||
| _1 'u:nUs | |||
| _2 d'UO | |||
| @@ -14,6 +14,14 @@ | |||
| // since this character is incompatible with older unicode versions. | |||
| .replace | |||
| â ā | |||
| ê ē | |||
| î ī | |||
| ô ō | |||
| û ū | |||
| ŷ yy | |||
| .L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é æ | |||
| .L02 ng qu pr tr cr chr br dr gr pl cl bl gl ph th ch | |||
| @@ -45,8 +45,8 @@ _7 S'u-: | |||
| _8 'Ot:@2 | |||
| _9 n'i: | |||
| _10 t'i: | |||
| _11 'Elle:v@2 | |||
| _12 t'u:lv | |||
| _11 'Elv@2 | |||
| _12 t'Olv | |||
| _13 t@-*'Et:@n | |||
| _14 fj'Urt@n | |||
| _15 f'Emt@n | |||
| @@ -62,8 +62,8 @@ _6X s'Eksti: | |||
| _7X s'yt:i: | |||
| _8X 'Ot:i: | |||
| _9X n'It:i: | |||
| _0C h'u-:nd@-*e:d@2 | |||
| _1C 'Et||h'u-:nd@-*e:d@2 | |||
| _0C h'u-nd@-*@2 | |||
| _1C 'Et||h'u-nd@-*@2 | |||
| _0M1 t'u-:s@n | |||
| _1M1 'Et||t'u-:s@n | |||
| _0M2 m'Illi:;,u:n@r | |||
| @@ -257,4 +257,5 @@ i i: $atend | |||
| der dE:r | |||
| her hE:r | |||
| kom kOm | |||
| noe nu:@2 // ?? | |||
| system syst'e:m | |||
| @@ -1,4 +1,4 @@ | |||
| 44 phoneme tables | |||
| 45 phoneme tables | |||
| new total | |||
| base 97 97 | |||
| base2 24 116 | |||
| @@ -44,6 +44,7 @@ | |||
| zh 61 144 | |||
| sw 14 106 | |||
| th 50 140 | |||
| id 14 118 | |||
| Data file Used by | |||
| b/b [b] base | |||
| @@ -648,6 +649,7 @@ ustop/k_unasp [k] base | |||
| [k] zhy | |||
| ustop/k_unasp_ [k] zh | |||
| [k] th | |||
| ustop/null [?] base | |||
| ustop/p [p] base | |||
| [p] fr | |||
| [ph] hi | |||
| @@ -840,6 +842,7 @@ vdiph/aau_2 [aU] en_wi | |||
| vdiph/aau_3 [aU] hi | |||
| vdiph/aau_4 [aU] vi | |||
| vdiph/ae [E:] fr_ca | |||
| [aI] la | |||
| [ai] zh | |||
| vdiph/ae_2 [aI] en_n | |||
| vdiph/ai [aI] base2 | |||
| @@ -852,12 +855,12 @@ vdiph/ai [aI] base2 | |||
| [a:I] vi | |||
| [aI] th | |||
| [a:I] th | |||
| [aI] id | |||
| vdiph/ai_2 [aI] cy | |||
| [aY] cy | |||
| vdiph/ai_3 [aI] no | |||
| vdiph/ai_4 [aI] af | |||
| vdiph/ai_5 [aI] de | |||
| [aI] la | |||
| vdiph/ai_6 [aI] en_rp | |||
| vdiph/ai_7 [aI] en_sc | |||
| [aI2] en_sc | |||
| @@ -878,6 +881,7 @@ vdiph/au_4 [aU] base2 | |||
| [aU] sk | |||
| [aU] it | |||
| [aU] is | |||
| [aU] id | |||
| vdiph/ee-e [E:] hi | |||
| vdiph/eei [EI] base2 | |||
| [eI] en | |||
| @@ -886,6 +890,7 @@ vdiph/eei [EI] base2 | |||
| [EI] vi | |||
| vdiph/eei_2 [eI] eo | |||
| [ei] fi | |||
| [eI] id | |||
| vdiph/eei_3 [eI] en_rp | |||
| [eI] sk | |||
| vdiph/eeu [EU] pt | |||
| @@ -963,6 +968,7 @@ vdiph/@u [u:] en_wm | |||
| vdiph/@u_2 [oU] en_rp | |||
| vdiph/@u_3 [@U] ro | |||
| vdiph/@u_en [oU] en | |||
| [@U] id | |||
| vdiph/ui [uI] base2 | |||
| [uI] en | |||
| [uI] eo | |||
| @@ -1155,10 +1161,10 @@ vowel/a [a] en_n | |||
| [A] hr | |||
| [a] hr | |||
| [a] it | |||
| [a:] la | |||
| [a] zh | |||
| [a] th | |||
| [a:] th | |||
| [a] id | |||
| vowel/a# [a/] base2 | |||
| [a2] en_sc | |||
| [a2] en_wi | |||
| @@ -1171,7 +1177,6 @@ vowel/a_2 [a] base2 | |||
| [A@] en_wi | |||
| [aa] en_wi | |||
| [a] eo | |||
| [a] la | |||
| [A] pt | |||
| [a] pt_pt | |||
| [a] ro | |||
| @@ -1187,6 +1192,7 @@ vowel/a_3 [a] en_sc | |||
| [aa] en_sc | |||
| [a] fr | |||
| [a:] cs | |||
| [a:] la | |||
| [a] is | |||
| vowel/a#_3 [a2] en | |||
| [a2] en_n | |||
| @@ -1203,6 +1209,7 @@ vowel/a#_3 [a2] en | |||
| vowel/a_4 [a/] el | |||
| [a] vi | |||
| vowel/a_5 [a/] it | |||
| [a] la | |||
| [a] sv | |||
| [a] sw | |||
| vowel/aa [a] fi | |||
| @@ -1256,6 +1263,7 @@ vowel/e [e] base2 | |||
| [e] vi | |||
| [e] th | |||
| [e:] th | |||
| [e] id | |||
| vowel/e# [I] en_sc | |||
| [I2] en_sc | |||
| vowel/e_2 [eI] en_sc | |||
| @@ -1308,6 +1316,8 @@ vowel/e_mid [E] en_rp | |||
| [E] pt_pt | |||
| [E] no | |||
| [E] is | |||
| [E] id | |||
| [E2] id | |||
| vowel/e_mid2 [E] af | |||
| [E] de | |||
| [E2] de | |||
| @@ -1373,6 +1383,7 @@ vowel/i#_5 [y] pt_pt | |||
| vowel/i_6 [i:] en_us | |||
| [i] ta | |||
| [i] hr | |||
| [i] id | |||
| vowel/i_en [i:] en | |||
| [i] vi | |||
| vowel/i_fnt [i:] en_wi | |||
| @@ -1391,8 +1402,7 @@ vowel/ii [I] en_rp | |||
| vowel/ii# [Y] cy | |||
| [y] pl | |||
| [Y] ru | |||
| vowel/ii_2 [I] la | |||
| [i] zh | |||
| vowel/ii_2 [i] zh | |||
| vowel/ii_3 [I] cy | |||
| [I] fi | |||
| [I] hi | |||
| @@ -1407,6 +1417,7 @@ vowel/ii_4 [I] en | |||
| [I2] en_n | |||
| vowel/ii_5 [I] en_wi | |||
| [I2] en_wi | |||
| [I] la | |||
| vowel/ii_6 [I] en_wm | |||
| [I2] en_wm | |||
| [I] sr | |||
| @@ -1421,6 +1432,7 @@ vowel/@_low [3] en_rp | |||
| [@2] hi | |||
| [@] ro | |||
| [@2] no | |||
| [@] id | |||
| vowel/o [o] base2 | |||
| [o:] en | |||
| [oU] en_wi | |||
| @@ -1430,7 +1442,7 @@ vowel/o [o] base2 | |||
| [o:] ta | |||
| [o] it | |||
| [o/] it | |||
| [o:] la | |||
| [O] la | |||
| [o] pt_pt | |||
| [o] grc | |||
| [o:] sv | |||
| @@ -1438,10 +1450,12 @@ vowel/o [o] base2 | |||
| [u] zh | |||
| [o] th | |||
| [o:] th | |||
| [o] id | |||
| vowel/o- [o-] zh | |||
| vowel/o_2 [o:] cy | |||
| [o:] hi | |||
| [o:] hu | |||
| [o:] la | |||
| [o:] no | |||
| vowel/o-_2 [V] en_n | |||
| [V] en_wm | |||
| @@ -1465,7 +1479,6 @@ vowel/oo [O:] en_sc | |||
| [O@] en_wi | |||
| [O] de | |||
| [o] eo | |||
| [O] la | |||
| [o] es | |||
| [o] el | |||
| [O] sv | |||
| @@ -1473,6 +1486,7 @@ vowel/oo [O:] en_sc | |||
| [o] zhy | |||
| [O] th | |||
| [O:] th | |||
| [O] id | |||
| vowel/oo_1 [O:] en_n | |||
| [O:] en_rp | |||
| [O@] en_rp | |||
| @@ -1521,10 +1535,11 @@ vowel/u [u:] en_wi | |||
| [u] eo | |||
| [U] fr | |||
| [u:] cs | |||
| [u:] la | |||
| [U] la | |||
| [u] zh | |||
| [u] th | |||
| [u:] th | |||
| [u] id | |||
| vowel/u# [u-] en | |||
| [u:] en_sc | |||
| vowel/u_2 [u1] fi | |||
| @@ -1561,12 +1576,12 @@ vowel/u_bck [u] base2 | |||
| [u:] no | |||
| [u] is | |||
| [u] zhy | |||
| vowel/u_bck2 [u:] la | |||
| vowel/u_fnt [u:] en_rp | |||
| vowel/uu [U] en | |||
| [U] en_wm | |||
| vowel/uu_2 [U] base2 | |||
| [U] de | |||
| [U] la | |||
| vowel/uu_3 [u] af | |||
| vowel/uu_4 [U] fi | |||
| [U] sv | |||
| @@ -1594,6 +1609,7 @@ vowel/y [y:] en | |||
| [y] fi | |||
| [y:] hu | |||
| [y] nl | |||
| [y] la | |||
| [yu] zhy | |||
| [y] zh | |||
| vowel/y# [Y:] en | |||
| @@ -1609,6 +1625,7 @@ vowel/y# [Y:] en | |||
| vowel/y## [y#] is | |||
| vowel/y_2 [y] fr | |||
| [y"] fr | |||
| [y:] la | |||
| vowel/y#_2 [Y] hu | |||
| [Y:] sv | |||
| vowel/y_3 [y] af | |||
| @@ -1620,8 +1637,6 @@ vowel/yy [y"] fr_ca | |||
| vowel/yy_3 [y] sv | |||
| vowel/yy_4 [y] de | |||
| [y] hu | |||
| [y] la | |||
| [y:] la | |||
| [y] grc | |||
| [y] is | |||
| vwl_af/@ [@] af | |||
| @@ -7,8 +7,8 @@ | |||
| phoneme a | |||
| vowel starttype (a) endtype (a) | |||
| length 180 | |||
| formants vowel/a_2 | |||
| length 170 | |||
| formants vowel/a_5 | |||
| endphoneme | |||
| @@ -22,42 +22,42 @@ endphoneme | |||
| phoneme I | |||
| vowel starttype (i) endtype (i) | |||
| length 150 | |||
| formants vowel/ii_2 | |||
| formants vowel/ii_5 | |||
| linkout ; | |||
| endphoneme | |||
| phoneme O | |||
| vowel starttype (o) endtype (o) | |||
| length 170 | |||
| formants vowel/oo | |||
| length 160 | |||
| formants vowel/o | |||
| endphoneme | |||
| phoneme U | |||
| vowel starttype (u) endtype (u) | |||
| length 160 | |||
| formants vowel/uu_2 | |||
| formants vowel/u | |||
| endphoneme | |||
| phoneme a: | |||
| vowel starttype (a) endtype (a) | |||
| length 250 | |||
| formants vowel/a | |||
| length 270 | |||
| formants vowel/a_3 | |||
| endphoneme | |||
| phoneme e: | |||
| vowel starttype (e) endtype (e) | |||
| length 240 | |||
| length 260 | |||
| formants vowel/e | |||
| endphoneme | |||
| phoneme i: | |||
| vowel starttype (i) endtype (i) | |||
| length 220 | |||
| length 240 | |||
| formants vowel/i_2 | |||
| after w w/wi2 | |||
| endphoneme | |||
| @@ -65,28 +65,28 @@ endphoneme | |||
| phoneme o: | |||
| vowel starttype (o) endtype (o) | |||
| length 240 | |||
| formants vowel/o | |||
| length 250 | |||
| formants vowel/o_2 | |||
| endphoneme | |||
| phoneme u: | |||
| vowel starttype (u) endtype (u) | |||
| length 230 | |||
| formants vowel/u | |||
| length 250 | |||
| formants vowel/u_bck2 | |||
| endphoneme | |||
| phoneme y | |||
| vowel starttype (u) endtype (u) | |||
| vowel starttype (i) endtype (i) | |||
| length 150 | |||
| formants vowel/yy_4 | |||
| formants vowel/y | |||
| endphoneme | |||
| phoneme y: | |||
| vowel starttype (u) endtype (u) | |||
| length 240 | |||
| formants vowel/yy_4 | |||
| vowel starttype (i) endtype (i) | |||
| length 250 | |||
| formants vowel/y_2 | |||
| endphoneme | |||
| @@ -100,28 +100,28 @@ endphoneme | |||
| phoneme aI | |||
| vowel starttype (a) endtype (i) | |||
| length 250 | |||
| formants vdiph/ai_5 | |||
| length 270 | |||
| formants vdiph/ae | |||
| endphoneme | |||
| phoneme eI | |||
| vowel starttype (e) endtype (i) | |||
| length 250 | |||
| length 270 | |||
| formants vdiph/ei | |||
| endphoneme | |||
| phoneme EU | |||
| vowel starttype (e) endtype (u) | |||
| length 260 | |||
| length 270 | |||
| formants vdiph/eeu_2 | |||
| endphoneme | |||
| phoneme OI | |||
| vowel starttype (o) endtype (i) | |||
| length 230 | |||
| length 250 | |||
| formants vdiph/oi | |||
| endphoneme | |||
| @@ -142,14 +142,11 @@ phoneme _X1 // a language specific action | |||
| endphoneme | |||
| phoneme ? // glottal stop | |||
| pause | |||
| vls glt stop | |||
| vowelin glstop | |||
| vowelout glstop | |||
| formants NULL | |||
| starttype _ endtype _ | |||
| length 45 | |||
| lengthmod 5 // ?? | |||
| beforenotvowel _ // change to pause_short | |||
| wave ustop/null | |||
| lengthmod 2 // ?? | |||
| nolink | |||
| endphoneme | |||
| @@ -1268,3 +1265,6 @@ include ph_swahili | |||
| phonemetable th base | |||
| include ph_thai | |||
| phonemetable id base2 | |||
| include ph_indonesian | |||
| @@ -56,12 +56,13 @@ int ignore_text=0; // set during <sub> ... </sub> to ignore text which has be | |||
| int clear_skipping_text = 0; // next clause should clear the skipping_text flag | |||
| int count_characters = 0; | |||
| int sayas_mode; | |||
| int ssml_ignore_l_angle = 0; | |||
| static const char *punct_stop = ".:!?"; // pitch fall if followed by space | |||
| static const char *punct_close = ")]}>;'\""; // always pitch fall unless followed by alnum | |||
| // alter tone for announce punctuation or capitals | |||
| static const char *tone_punct_on = "\001+50R\001+15T"; // add reverberation, reduce low frequencies | |||
| static const char *tone_punct_on = "\001+50R\001+10T"; // add reverberation, reduce low frequencies | |||
| static const char *tone_punct_off = "\001R\001T"; | |||
| // punctuations symbols that can end a clause | |||
| @@ -719,6 +720,11 @@ int Translator::AnnouncePunctuation(int c1, int c2, char *buf, int bufix) | |||
| { | |||
| // end the clause now and pick up the punctuation next time | |||
| UngetC(c2); | |||
| if(option_ssml) | |||
| { | |||
| if(c1 == '<') | |||
| ssml_ignore_l_angle = c1; // this was < which was converted to <, don't pick it up again as < | |||
| } | |||
| ungot_char2 = c1; | |||
| buf[bufix] = ' '; | |||
| buf[bufix+1] = 0; | |||
| @@ -1811,7 +1817,7 @@ f_input = f_in; // for GetC etc | |||
| } | |||
| } | |||
| else | |||
| if(c1 == '<') | |||
| if((c1 == '<') && !ssml_ignore_l_angle) | |||
| { | |||
| // SSML Tag | |||
| n_xml_buf = 0; | |||
| @@ -1856,6 +1862,7 @@ f_input = f_in; // for GetC etc | |||
| continue; | |||
| } | |||
| } | |||
| ssml_ignore_l_angle=0; | |||
| if(ignore_text) | |||
| continue; | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.30.12 14.Jan.08"; | |||
| const char *version_string = "1.30.14 15.Jan.08"; | |||
| const int version_phdata = 0x013010; | |||
| int option_device_number = -1; | |||
| @@ -365,6 +365,18 @@ SetLengthMods(tr,3); // all equal | |||
| } | |||
| break; | |||
| case L('i','d'): // Indonesian | |||
| { | |||
| static const short stress_lengths_id[8] = {160, 200, 180, 180, 0, 0, 220, 240}; | |||
| static const unsigned char stress_amps_id[8] = {16,18, 18,18, 20,22, 22,21 }; | |||
| tr = new Translator(); | |||
| SetupTranslator(tr,stress_lengths_id,stress_amps_id); | |||
| tr->langopts.stress_rule = 2; | |||
| tr->langopts.numbers = 0x1809 + NUM_ROMAN; | |||
| tr->langopts.stress_flags = 0x6 | 0x10; | |||
| } | |||
| break; | |||
| case L('i','s'): // Icelandic | |||
| { | |||
| static const unsigned char stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 }; | |||
| @@ -475,7 +487,7 @@ SetLengthMods(tr,3); // all equal | |||
| case L('n','o'): // Norwegian | |||
| { | |||
| static const unsigned char stress_amps_no[] = {16,16, 20,20, 20,24, 24,22 }; | |||
| static const short stress_lengths_no[8] = {160,140, 200,190, 0,0, 220,240}; | |||
| static const short stress_lengths_no[8] = {160,140, 200,190, 0,0, 220,210}; | |||
| tr = new Translator(); | |||
| SetupTranslator(tr,stress_lengths_no,stress_amps_no); | |||