Fix SSML <prosody rate> to allow the maximum rate of 390 wpm. Fixes to the generation of the dict_phonemes report. Lang=en-n adjust vowel sounds. Compile phonemes: automatically assume vowel-break marker in second keyframe of a vowel file if none is set. Set letter group 'A' to "vowel letters only" for Indic alphabets. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@195 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -175,6 +175,7 @@ colesberg ko@lsb&rx2 | |||
| constantia $2 | |||
| christiana kr@stij'A:na | |||
| damaskus d@maskWs | |||
| djakarta dZak'arta | |||
| doebaai $2 | |||
| duitswes dYytsv'Es | |||
| ermelo &rm@lo@ | |||
| @@ -233,6 +234,7 @@ soweto suw'E:tu | |||
| springs _^_EN $capital | |||
| sunnyside _^_EN | |||
| swellendam $3 | |||
| tokio to@kiu | |||
| tunisië $2 | |||
| turkye $2 | |||
| ulundi ul'undi | |||
| @@ -339,6 +341,7 @@ guy _^_EN | |||
| harry _^_EN | |||
| havenga hA:f@Nx2a | |||
| haydn hAId@n | |||
| helen _^_EN | |||
| helena hil'e@na | |||
| helloïse hEluw'i:z | |||
| henry _^_EN | |||
| @@ -386,6 +389,7 @@ marlise marl'i:s | |||
| martha marta | |||
| martin m'A:rt@n | |||
| mary _^_EN | |||
| matteus mat'i:Ws | |||
| matthéüs mat'i:Ws | |||
| mefistofeles mEfist'o@f@l@s | |||
| melanie m@lA:ni | |||
| @@ -689,6 +693,7 @@ deurstraalde $2 | |||
| dikwels dIkv@ls | |||
| diplomasie d@plo@mas'i | |||
| doktore $2 | |||
| doyen dO:j'En | |||
| dubbelken dWb@lkEn | |||
| dusver dWsf&r | |||
| @@ -726,6 +731,7 @@ geldelike x2&ld@l@k@ | |||
| genade $2 | |||
| genesis x2e@n@s@s | |||
| //gesamentlik x2@sA:m@ntl@k | |||
| globale x2lo@b'A:l@ | |||
| gooi x2OI | |||
| gomorra x2@mOra | |||
| graffiti graf'iti | |||
| @@ -766,6 +772,7 @@ inkluis $2 | |||
| insomnia @nsOmnija | |||
| intens @nt'Ens | |||
| intensiteit $4 | |||
| ironieë irun'i:@ | |||
| jawoord jA:vo@rt | |||
| jupiter jupit@r | |||
| @@ -54,9 +54,9 @@ s S; t tS; v w | |||
| Dictionary de_dict | |||
| 3 @ @- a A A: aI aU | |||
| E E2 E: e: EI I i2 I: | |||
| i: O o: OY U u: W y | |||
| y: Y: | |||
| E E2 E: e: EI I i2 i: | |||
| O o: OY U u: W y y: | |||
| Y: | |||
| * : ; b C C2 d D | |||
| dZ f g h j k l m | |||
| @@ -79,16 +79,16 @@ Dictionary en_dict | |||
| 0 3 3: @ @- @2 @5 @L | |||
| a a2 A: A@ aa aI aI@ aU | |||
| aU@ A~ E e: e@ eI I i | |||
| I2 i: i@ i@3 IR O O: o: | |||
| O@ o@ OI oU O~ U u: U@ | |||
| V VR | |||
| * : ; ? b C d D | |||
| dZ f g g- h j k l | |||
| L m n N n^ p Q r | |||
| r- s S t T t2 tS v | |||
| w x z Z | |||
| aU@ A~ E e@ eI I i I2 | |||
| i: i@ i@3 IR O O: o: O@ | |||
| o@ OI oU O~ U u: U@ V | |||
| VR | |||
| : ; ? b C d D dZ | |||
| f g g- h j k l L | |||
| m n N n^ p Q r r- | |||
| s S t T t2 tS v w | |||
| x z Z | |||
| Dictionary eo_dict | |||
| @@ -132,11 +132,11 @@ E E2 E~ i i: o O o2 | |||
| O2 O~ u u: W W2 w^i wA | |||
| W~ y Y | |||
| : ; b c d dZ f g | |||
| h j k l m n N n2 | |||
| n^ p p2 r R R2 r2 s | |||
| S t t2 t3 tS v w z | |||
| Z z2 z3 | |||
| : ; b d dZ f g h | |||
| j k l m n N n2 n^ | |||
| p p2 r R R2 r2 s S | |||
| t t2 t3 tS v w z Z | |||
| z2 z3 | |||
| Dictionary grc_dict | |||
| @@ -153,9 +153,8 @@ T v x z | |||
| Dictionary hbs_dict | |||
| & @ @2 a A a: aI aU | |||
| E e E# e: i I i: l- | |||
| O o o: oU r* r- u U | |||
| u: | |||
| E e e: i I i: l- O | |||
| o o: oU r* r- u U u: | |||
| * ; b d dZ dZ; f g | |||
| h j k l L l^ m n | |||
| @@ -173,8 +172,8 @@ U u: u~ V | |||
| - : b c ch d d. f | |||
| g h H j J k kh l | |||
| l. m n N n. n^ p ph | |||
| Q q r s S s. t T | |||
| t. t.h th v w x z | |||
| Q q r r. s S s. t | |||
| T t. t.h th v w x z | |||
| Dictionary hu_dict | |||
| @@ -269,8 +268,8 @@ p r R s t w z | |||
| Dictionary mk_dict | |||
| & @ @- @2 a A a: E | |||
| e E# e: i I i: l- o | |||
| o: oU r- u u: | |||
| e e: i I i: l- o o: | |||
| oU r- u u: | |||
| * b d dZ dZ; f g h | |||
| j k k^ l l^ m n N | |||
| @@ -325,7 +324,7 @@ o~ u U uI u~ y | |||
| g h j k l l^ m n | |||
| N n^ p Q r R r- s | |||
| S s# s; t T tS ts v | |||
| w w2 x z Z | |||
| w x z Z | |||
| Dictionary ro_dict | |||
| @@ -454,10 +453,10 @@ i i. i[ iA iE io iou N- | |||
| o o- ou u u@ ua uai uei | |||
| uo y y& y@ yE yi yu | |||
| : ; f j k kh l m | |||
| n N p ph r R s s. | |||
| S; t th ts ts. ts. tS; tS; | |||
| tsh v w x z z. | |||
| (u) ; C f h j k kh | |||
| l m n N p ph r s | |||
| s. S; t th ts ts. ts. tS; | |||
| tS; tsh v w x z. | |||
| Dictionary zhy_dict | |||
| @@ -486,11 +485,11 @@ tS v w z z. | |||
| Dictionary bn_dict | |||
| a a~ e e: e~ i I i~ | |||
| l- o O oI oU o~ O~ r- | |||
| u u~ V | |||
| a a~ e e~ i i~ l- o | |||
| O oI oU o~ O~ r- u u~ | |||
| V | |||
| ** b c ch d d. e[ g | |||
| h j J k kh l m n | |||
| N p ph r R s S t | |||
| t. t.h th z. | |||
| N p ph r R r. s S | |||
| t t. t.h th | |||
| @@ -15,6 +15,7 @@ | |||
| // ?5 split [3:] er [3:], ir [IR], ur [VR] | |||
| // ?6 'one' = [wVn], 'of' = [Vv] | |||
| // ?7 Scottish | |||
| // ?8 Use full vowel, not schwa in some word endings | |||
| // letter names, as they are spoken as a single character in text | |||
| // precede by _ to distinguish from pronunciation as a language word | |||
| @@ -1126,6 +1127,7 @@ hmpf h'@mpf | |||
| holme hoUm | |||
| holster hoUlst3 | |||
| holy hoUlI2 | |||
| homeowner hoUmoUn3 | |||
| homepage hoUmpeIdZ | |||
| hominem h0mInEm | |||
| hopi hoUpi: | |||
| @@ -1236,6 +1238,7 @@ la ,la $only | |||
| laboratory la2b'0r@trI2 | |||
| labor leIb3 | |||
| labored leIb@d | |||
| laborer leIb@r3 | |||
| lager lA:g3 | |||
| landowner l'and,oUn3 | |||
| las ,las | |||
| @@ -2365,6 +2368,7 @@ Canberra kanb@r@ | |||
| Cassandra k@sandr@ | |||
| Cassey keIsI2 | |||
| Catherine kaTrIn | |||
| Cecile sEsi:l | |||
| Chris krIs | |||
| Connor k0n3 | |||
| Daphne dafnI2 | |||
| @@ -2413,6 +2417,7 @@ Judy dZu:dI2 | |||
| Karen kar@n | |||
| Karene ka2ri:n | |||
| Katherine kaTrIn | |||
| Katie keItI2 | |||
| Kieran ki@r@n | |||
| Laurence l0r@ns | |||
| Lawrence l0r@ns | |||
| @@ -1482,6 +1482,7 @@ | |||
| de (creas di: | |||
| de (crem dE | |||
| de (du dI2 | |||
| _) de (emp d%i: | |||
| _) de (f@ dI2 | |||
| de (fect_ di: | |||
| de (finit dE | |||
| @@ -1645,7 +1646,6 @@ | |||
| sp) e (cia E | |||
| sp) e (cies i: | |||
| _) e (cl I2 | |||
| @) e (ctive 'E | |||
| _) eco (s i:koU | |||
| econo (m Ik'0n@ | |||
| econo (mic i:k@n'0 | |||
| @@ -3098,12 +3098,11 @@ | |||
| am) it (e aIt | |||
| un) it (e aIt | |||
| _sp) it (e aIt | |||
| wr) it (e aIt | |||
| wr) ite aIt | |||
| _s) it (e aIt | |||
| x) ite (_ aIt | |||
| it (erat It | |||
| l) it (er It | |||
| wr) it (er aIt | |||
| ithe_ aID | |||
| l) ithe aID | |||
| l) ith (er ID | |||
| @@ -4569,6 +4568,7 @@ | |||
| ?8 &s) tion tSVn | |||
| tion (al S=@-n | |||
| &) tious S=@s | |||
| AC) tive (_ =tIv | |||
| for) tuna (t tS@n@ | |||
| s) t (l | |||
| to (morr t@ | |||
| @@ -4687,7 +4687,6 @@ | |||
| n) uclear ju:kli@3 | |||
| ?3 n) ucle u:klI | |||
| ?3 n) uclear u:kli@3 | |||
| @) u (ctive 'V | |||
| @) u (da_ 'ju: | |||
| u (guC V | |||
| f) u (gal 'ju: | |||
| @@ -4995,6 +4994,7 @@ | |||
| earb) y (_ aI | |||
| h) y (Cr aI | |||
| c) y (lin I | |||
| c) y (r I | |||
| th) y (l_ aI | |||
| fl) y aI | |||
| gl) y (ph I | |||
| @@ -24,7 +24,7 @@ | |||
| // 2006-11-18 Gilles Casse <[email protected]> | |||
| // | |||
| // Updated 2008-09-21 Michel Such <[email protected]> | |||
| // Updated 2008-09-24 Michel Such <[email protected]> | |||
| // | |||
| // * Numbers, a few abbreviations and exceptions. | |||
| // | |||
| @@ -87,7 +87,7 @@ _ac2 dublaksA~tEg'y | |||
| _brv bR'Ev | |||
| _ced sed'ij | |||
| _cir aksA~sirkO~fl'Eks | |||
| _dia tR@m'a | |||
| _dia tRem'a | |||
| _dot pwE~syskr'i | |||
| _grv aksA~gr'av | |||
| _hac kar'O~ | |||
| @@ -577,8 +577,7 @@ campus kA~pys | |||
| (chef d'oeuvre) chédeuvre $text | |||
| (chef d'oeuvres) chédeuvres $text | |||
| choeur kWr | |||
| cocus coky | |||
| converter converteur $text | |||
| cocus koky | |||
| dernier dE2rnjer2 | |||
| éloquent ElokA~t2 | |||
| fier fier $verb | |||
| @@ -617,7 +616,7 @@ azimut azim'yt | |||
| brut br'yt | |||
| but by $verb | |||
| but byt | |||
| cut cWt | |||
| cut kWt | |||
| mazout mazut | |||
| michael mikaEl | |||
| out aut | |||
| @@ -23,7 +23,7 @@ | |||
| // 2006-11-18 Gilles Casse <[email protected]> | |||
| // | |||
| // Updated: 2008-09-19 Michel Such <[email protected]> | |||
| // Updated: 2008-09-24 Michel Such <[email protected]> | |||
| // | |||
| // Letter classes: | |||
| @@ -502,6 +502,7 @@ _) ç' (P2v s | |||
| Cr) eamer i:mWr | |||
| Cl) eaner i:nWr | |||
| Ack) et (_ Et | |||
| vert) e (rX W | |||
| eïn (_ 'Ein | |||
| @@ -138,8 +138,9 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ? | |||
| ट t.@ | |||
| ठ t.h@ | |||
| ड d.@ | |||
| ड़ r.@ | |||
| ढ d.h@ | |||
| ण n.@ // should be n.@ | |||
| ण n.@ // retroflex n.@ | |||
| त t@ | |||
| थ th@ | |||
| द d@ | |||
| @@ -157,7 +158,7 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ? | |||
| ळ l.@ | |||
| व v@ | |||
| श S@ | |||
| ष s.@ // should be retroflex [S] | |||
| ष s.@ // retroflex [S] | |||
| स s@ | |||
| ह H@ | |||
| क़ q@ | |||
| @@ -240,13 +240,17 @@ | |||
| ड (B d. | |||
| ?1 ड (_ d. | |||
| ड़ r.V | |||
| ड़ (B r. | |||
| ?1 ड़ (_ r. | |||
| .group ढ | |||
| ढ d.hV | |||
| ढ (B d.h | |||
| ?1 ढ (_ d.h | |||
| ढ़ r-V // nukta (should retroflex flap) | |||
| ढ़ (B r- // nukta | |||
| ?1 ढ़ (_ r- // nukta | |||
| ढ़ r.hV // nukta (should retroflex flap) | |||
| ढ़ (B r.h // nukta | |||
| ?1 ढ़ (_ r.h // nukta | |||
| .group ण | |||
| ण n.V // (temporary) same as dental [n] | |||
| @@ -447,14 +451,14 @@ | |||
| ?1 ज़ (_ z | |||
| .group ड़ // dddha (should retroflex flap) | |||
| ड़ r-V | |||
| ड़ (B r- | |||
| ?1 ड़ (_ r- | |||
| ड़ r.V | |||
| ड़ (B r. | |||
| ?1 ड़ (_ r. | |||
| .group ढ़ // rha (aspirated version of dddha) | |||
| ढ़ hrV | |||
| ढ़ (B hr | |||
| ?1 ढ़ (_ hr | |||
| ढ़ r.hV | |||
| ढ़ (B r.h | |||
| ?1 ढ़ (_ r.h | |||
| .group फ़ // fa | |||
| फ़ fV | |||
| @@ -1,58 +1,58 @@ | |||
| 53 phoneme tables | |||
| new total | |||
| base 98 98 | |||
| base2 24 117 | |||
| en 51 144 | |||
| en_n 30 144 | |||
| en_us 35 144 | |||
| en_sc 39 146 | |||
| en_rp 34 144 | |||
| en_wm 30 144 | |||
| en_wi 30 144 | |||
| af 39 130 | |||
| cy 29 124 | |||
| de 33 125 | |||
| eo 13 110 | |||
| jbo 4 111 | |||
| fi 40 129 | |||
| fr 55 135 | |||
| fr_ca 11 135 | |||
| hi 51 135 | |||
| ta 17 138 | |||
| hu 23 114 | |||
| nl 28 121 | |||
| pl 18 111 | |||
| sk 29 129 | |||
| cs 6 129 | |||
| hr 26 134 | |||
| mk 3 135 | |||
| sr 14 134 | |||
| ru 39 129 | |||
| it 17 120 | |||
| la 21 116 | |||
| es 9 118 | |||
| es_la 1 118 | |||
| pt 28 134 | |||
| pt_pt 20 134 | |||
| ro 36 141 | |||
| el 8 117 | |||
| grc 12 122 | |||
| sv 25 120 | |||
| no 28 124 | |||
| is 33 124 | |||
| vi 42 136 | |||
| zhy 40 131 | |||
| zh 65 148 | |||
| sw 14 107 | |||
| tr 18 122 | |||
| ku 18 122 | |||
| id 15 119 | |||
| rw 15 124 | |||
| ko 18 145 | |||
| da 15 128 | |||
| sq 12 122 | |||
| ml 13 137 | |||
| bn 20 143 | |||
| base 100 100 | |||
| base2 24 119 | |||
| en 51 146 | |||
| en_n 30 146 | |||
| en_us 35 146 | |||
| en_sc 39 148 | |||
| en_rp 34 146 | |||
| en_wm 30 146 | |||
| en_wi 30 146 | |||
| af 39 132 | |||
| cy 29 126 | |||
| de 33 127 | |||
| eo 13 112 | |||
| jbo 4 113 | |||
| fi 40 131 | |||
| fr 55 137 | |||
| fr_ca 11 137 | |||
| hi 51 137 | |||
| ta 17 140 | |||
| hu 23 116 | |||
| nl 28 123 | |||
| pl 18 113 | |||
| sk 29 131 | |||
| cs 6 131 | |||
| hr 26 136 | |||
| mk 3 137 | |||
| sr 14 136 | |||
| ru 39 131 | |||
| it 17 122 | |||
| la 21 118 | |||
| es 9 120 | |||
| es_la 1 120 | |||
| pt 28 136 | |||
| pt_pt 20 136 | |||
| ro 36 143 | |||
| el 8 119 | |||
| grc 12 124 | |||
| sv 25 122 | |||
| no 28 126 | |||
| is 33 126 | |||
| vi 42 138 | |||
| zhy 40 133 | |||
| zh 65 150 | |||
| sw 14 109 | |||
| tr 18 124 | |||
| ku 18 124 | |||
| id 15 121 | |||
| rw 15 126 | |||
| ko 18 147 | |||
| da 15 130 | |||
| sq 12 124 | |||
| ml 13 139 | |||
| bn 20 145 | |||
| Data file Used by | |||
| b/b [b] base | |||
| @@ -319,6 +319,7 @@ l/l [l] base | |||
| [l;] ro | |||
| l/_l [l] base | |||
| [l/] base | |||
| [l/3] base | |||
| [l] en | |||
| [l] en_wi | |||
| [l] af | |||
| @@ -333,8 +334,10 @@ l/_l [l] base | |||
| [l;] ro | |||
| [l] zh | |||
| l/l_ [l/] base | |||
| [l/3] base | |||
| [l/] fr | |||
| l/l_@ [@] fr | |||
| l/l_@ [(@)] base | |||
| [@] fr | |||
| [W] fr | |||
| [Y] fr | |||
| [@2] fr | |||
| @@ -358,14 +361,14 @@ l/L2_oL [(o)] base | |||
| [oU] en_sc | |||
| l/L2_uL [(u)] base | |||
| [u:] en | |||
| [u:] en_n | |||
| [u:] en_rp | |||
| l/l_3 [l/] de | |||
| l/l_4 [ll] sq | |||
| l/la [(a)] base | |||
| [a] fr | |||
| [a2] fr | |||
| l/l_a [a] fr | |||
| l/l_a [(a)] base | |||
| [a] fr | |||
| [a2] fr | |||
| [wA] fr | |||
| [A~] fr | |||
| @@ -373,7 +376,8 @@ l/le [(e)] base | |||
| [E] fr | |||
| [e] fr | |||
| [E2] fr | |||
| l/l_e [E] fr | |||
| l/l_e [(e)] base | |||
| [E] fr | |||
| [E2] fr | |||
| l/L_eL_af [&] af | |||
| [&:] af | |||
| @@ -381,7 +385,8 @@ l/li [(i)] base | |||
| [i] fr | |||
| [i:] fr | |||
| [l] zh | |||
| l/l_i [i] fr | |||
| l/l_i [(i)] base | |||
| [i] fr | |||
| [i:] fr | |||
| [w^i] fr | |||
| l/l_long [l] base | |||
| @@ -394,7 +399,8 @@ l/lo [(o)] base | |||
| [O2] fr | |||
| [o2] fr | |||
| [wA] fr | |||
| l/l_o [O] fr | |||
| l/l_o [(o)] base | |||
| [O] fr | |||
| [O2] fr | |||
| [o2] fr | |||
| l^/l_rfx [l.] hi | |||
| @@ -404,7 +410,8 @@ l/lu [(u)] base | |||
| [y] fr | |||
| [u:] fr | |||
| [w^i] fr | |||
| l/l_u [u] fr | |||
| l/l_u [(u)] base | |||
| [u] fr | |||
| [u:] fr | |||
| l/l_y [y] fr | |||
| l/tl [l] base | |||
| @@ -500,13 +507,12 @@ r2/r2o [(o)] base | |||
| r2/r2u [(u)] base | |||
| r3/r_ [r/] base | |||
| [r/] af | |||
| [r/2] fr | |||
| [r/] ru | |||
| r3/r_@ [(@)] base | |||
| r3/r#_ [r#] is | |||
| r3/r_2 [r/2] fr | |||
| r3/r_a [(a)] base | |||
| r3/r_e [(e)] base | |||
| [E] fr | |||
| r3/r_i [(i)] base | |||
| [i] fr | |||
| [w^i] fr | |||
| @@ -557,6 +563,7 @@ r3/@tap [**] base | |||
| [r] ko | |||
| r3/@tap2 [**] base | |||
| [r] ko | |||
| r3/@tap_rfx [r.] base | |||
| r/a_ [r] da | |||
| r/r [r] base | |||
| [r-] base | |||
| @@ -582,6 +589,7 @@ r/rr [r/] base | |||
| [r/] af | |||
| [r] de | |||
| [r] fi | |||
| [r] fr | |||
| [r/2] fr | |||
| [r2] nl | |||
| [r] ru | |||
| @@ -610,11 +618,16 @@ r/xr [(@)] base | |||
| [(i)] base | |||
| [(o)] base | |||
| [(u)] base | |||
| [@] fr | |||
| [Y] fr | |||
| [e] fr | |||
| [i] fr | |||
| [o] fr | |||
| [u] fr | |||
| [y] fr | |||
| [@2] fr | |||
| [a2] fr | |||
| [o2] fr | |||
| [i:] fr | |||
| [u:] fr | |||
| [A~] fr | |||
| @@ -921,6 +934,8 @@ vdiph2/e@ [3:] en_sc | |||
| [e@] en_sc | |||
| [e@] en_wi | |||
| vdiph2/ea [ea] ro | |||
| vdiph2/ee_@ [e@] en_n | |||
| vdiph2/ei_2 [eI] en_rp | |||
| vdiph2/ei_3 [i:] en_wm | |||
| vdiph2/ei_4 [eI] en_us | |||
| [ei] zh | |||
| @@ -963,7 +978,7 @@ vdiph2/uw_4 [u:] en_n | |||
| vdiph2/uw_6 [y] ko | |||
| vdiph2/y@ [y@] zh | |||
| vdiph2/y#@ [Y@] af | |||
| vdiph2/yE [yE] sq | |||
| vdiph2/ye [yE] sq | |||
| vdiph2/yu [yU] nl | |||
| [yu] zh | |||
| vdiph2/y-y# [yY] fi | |||
| @@ -1028,8 +1043,7 @@ vdiph/eei [EI] base2 | |||
| vdiph/eei_2 [eI] eo | |||
| [ei] fi | |||
| [eI] id | |||
| vdiph/eei_3 [eI] en_rp | |||
| [eI] sk | |||
| vdiph/eei_3 [eI] sk | |||
| [eI] ku | |||
| vdiph/eeu [EU] pt | |||
| [EU] grc | |||
| @@ -1443,16 +1457,17 @@ vowel/e_2 [eI] en_sc | |||
| [e] it | |||
| [e:] sv | |||
| [e:] no | |||
| vowel/e_3 [e:] hu | |||
| vowel/e_3 [i] en_n | |||
| [e:] hu | |||
| [e] ku | |||
| vowel/e_5 [i] en_sc | |||
| vowel/ee [E] sv | |||
| vowel/ee [E] en_n | |||
| [E] sv | |||
| vowel/e_e [E] en_sc | |||
| [e] is | |||
| vowel/ee# [E#] pl | |||
| vowel/ee_1 [E] base2 | |||
| [e@] en | |||
| [e@] en_n | |||
| [E] pl | |||
| [E] la | |||
| [E] grc | |||
| @@ -1471,14 +1486,12 @@ vowel/ee_3 [&] af | |||
| [&:] af | |||
| [E] pt | |||
| [E] vi | |||
| vowel/ee_6 [E] en_n | |||
| [&] sk | |||
| vowel/ee_6 [&] sk | |||
| [E3] sv | |||
| [E] ku | |||
| vowel/e_mid [E] en_rp | |||
| [e] jbo | |||
| [E] fr | |||
| [e] fr | |||
| [E2] fr | |||
| [E] fr_ca | |||
| [E] hi | |||
| @@ -1518,6 +1531,7 @@ vowel/@_hgh [@] fr | |||
| [@] hr | |||
| vowel/i [i] base2 | |||
| [i:] en_n | |||
| [i:] en_rp | |||
| [i] en_wm | |||
| [i] en_wi | |||
| [i:] cy | |||
| @@ -1537,10 +1551,8 @@ vowel/i [i] base2 | |||
| [i#] rw | |||
| [i] ko | |||
| [i:] ml | |||
| vowel/i# [i] en_rp | |||
| [y:] cy | |||
| vowel/i_2 [i:] en_rp | |||
| [i2] de | |||
| vowel/i# [y:] cy | |||
| vowel/i_2 [i2] de | |||
| [i:] de | |||
| [i] nl | |||
| [i:] la | |||
| @@ -1574,7 +1586,9 @@ vowel/i_en [i:] en | |||
| vowel/i_fnt [i:] en_wi | |||
| [i] hi | |||
| [i:] hi | |||
| vowel/ii [I] en_rp | |||
| vowel/ii [I] en_n | |||
| [I2] en_n | |||
| [I] en_rp | |||
| [I2] en_rp | |||
| [I] en_wm | |||
| [I2] en_wm | |||
| @@ -1601,9 +1615,6 @@ vowel/ii_3 [I] cy | |||
| [I] tr | |||
| vowel/ii_4 [I] en | |||
| [I2] en | |||
| [I] en_n | |||
| [i] en_n | |||
| [I2] en_n | |||
| [I] en_us | |||
| [I2] en_us | |||
| vowel/ii_5 [I] en_wi | |||
| @@ -1618,6 +1629,7 @@ vowel/ii_6 [I] en_wm | |||
| [i/] pt | |||
| vowel/ii_en [i] en | |||
| vowel/ii_final [i] en_us | |||
| [i] en_rp | |||
| vowel/@_low [3] en_rp | |||
| [@] en_rp | |||
| [@2] en_rp | |||
| @@ -1631,6 +1643,7 @@ vowel/@_low [3] en_rp | |||
| [@] id | |||
| vowel/o [o] base2 | |||
| [o:] en | |||
| [oU] en_n | |||
| [oU] en_wi | |||
| [o:] de | |||
| [o] hi | |||
| @@ -1661,7 +1674,6 @@ vowel/o-_2 [V] en_n | |||
| vowel/o_3 [oU] en_sc | |||
| [o] fr | |||
| vowel/o-_3 [U] en_rp | |||
| vowel/o_4 [oU] en_n | |||
| vowel/o-_4 [o] ro | |||
| vowel/o_5 [O] nl | |||
| [O] da | |||
| @@ -1796,6 +1808,7 @@ vowel/u_bck [u] base2 | |||
| vowel/u_bck2 [u:] la | |||
| vowel/u_fnt [u:] en_rp | |||
| vowel/uu [U] en | |||
| [U] en_n | |||
| [U] en_wm | |||
| vowel/uu# [U] ku | |||
| vowel/uu_2 [U] base2 | |||
| @@ -1805,8 +1818,7 @@ vowel/uu_3 [u] af | |||
| [y] zh | |||
| vowel/uu_4 [U] fi | |||
| [U] sv | |||
| vowel/uu_bck [U] en_n | |||
| [U] en_wi | |||
| vowel/uu_bck [U] en_wi | |||
| [U] fr_ca | |||
| [U] hi | |||
| [u] hu | |||
| @@ -1894,7 +1906,6 @@ vwl_en/@L_2 [aI] en_sc | |||
| vwl_en_n/aa_5 [A@] en_n | |||
| vwl_en_n/O@ [O@] en_n | |||
| [o@] en_n | |||
| vwl_en_n/u_ [u:] en_n | |||
| vwl_en/ooi@ [aI@] en_wm | |||
| vwl_en_rp/aa [A:] en_rp | |||
| [A@] en_rp | |||
| @@ -1904,7 +1915,6 @@ vwl_en_rp/e@ [e@] en_rp | |||
| vwl_en_rp/i@ [i@] en_rp | |||
| vwl_en_rp/oo [U@] en_rp | |||
| vwl_en/u_L [u:] en | |||
| [u:] en_n | |||
| [u:] en_rp | |||
| vwl_en_us/3_us [3] en_us | |||
| vwl_en_us/3_us2 [3:] en_us | |||
| @@ -1932,8 +1942,9 @@ vwl_fr/@R3 [R] fr | |||
| vwl_fr/@R4 [R] fr | |||
| [r] fr | |||
| [r2] fr | |||
| vwl_fr/ri [i] fr | |||
| vwl_fr/r_e [E] fr | |||
| vwl_fr/r_u [u] fr | |||
| vwl_fr/r_y [y] fr | |||
| vwl_fr/w_a [wA] fr | |||
| vwl_hi/A [a:] hi | |||
| vwl_hi/l-voc [l-] jbo | |||
| @@ -16,7 +16,7 @@ endphoneme | |||
| phoneme E | |||
| vowel starttype (e) endtype (e) | |||
| length 150 | |||
| formants vowel/ee_6 | |||
| formants vowel/ee | |||
| reduceto I 0 | |||
| // before l/ DFT-30+L/eL_af | |||
| endphoneme | |||
| @@ -25,21 +25,29 @@ endphoneme | |||
| phoneme I | |||
| vowel starttype (i) endtype (i) | |||
| length 130 | |||
| formants vowel/ii_4 | |||
| formants vowel/ii | |||
| linkout ; | |||
| endphoneme | |||
| phoneme I2 | |||
| vowel starttype (i) endtype (i) | |||
| unstressed | |||
| length 140 | |||
| formants vowel/ii | |||
| linkout ; | |||
| endphoneme | |||
| phoneme i // optional variant of [I] for end of words | |||
| vowel starttype (i) endtype (i) | |||
| length 220 | |||
| formants vowel/ii_4 | |||
| length 150 | |||
| formants vowel/e_3 | |||
| linkout ; | |||
| endphoneme | |||
| phoneme 0 | |||
| vowel starttype (o) endtype (o) | |||
| length 140 | |||
| length 150 | |||
| formants vowel/0_2 | |||
| reduceto @ 0 | |||
| endphoneme | |||
| @@ -55,19 +63,11 @@ endphoneme | |||
| phoneme U | |||
| vowel starttype (o) endtype (o) | |||
| length 150 | |||
| formants vowel/uu_bck | |||
| length 170 | |||
| formants vowel/uu | |||
| endphoneme | |||
| phoneme I2 | |||
| vowel starttype (i) endtype (i) | |||
| unstressed | |||
| length 140 | |||
| formants vowel/ii_4 | |||
| linkout ; | |||
| endphoneme | |||
| phoneme a2 | |||
| vowel starttype (@) endtype (@) | |||
| @@ -157,13 +157,11 @@ phoneme u: | |||
| vowel starttype (u) endtype (u) | |||
| length 200 | |||
| formants vdiph2/uw_4 | |||
| before _ vwl_en_n/u_ | |||
| before l/2 vwl_en/u_L-40+l/L2_uL | |||
| endphoneme | |||
| phoneme aU | |||
| vowel starttype (a) endtype (u) | |||
| vowel starttype (e) endtype (u) | |||
| length 230 | |||
| formants vdiph/eeu_3 | |||
| endphoneme | |||
| @@ -171,8 +169,8 @@ endphoneme | |||
| phoneme oU | |||
| vowel starttype (o) endtype (o) | |||
| length 210 | |||
| formants vowel/o_4 | |||
| length 220 | |||
| formants vowel/o | |||
| endphoneme | |||
| @@ -200,7 +198,7 @@ endphoneme | |||
| phoneme e@ | |||
| vowel starttype (e) endtype (@) | |||
| length 220 | |||
| formants vowel/ee_1 | |||
| formants vdiph2/ee_@ | |||
| linkout r- | |||
| endphoneme | |||
| @@ -85,7 +85,7 @@ endphoneme | |||
| phoneme i // optional variant of [I] for end of words | |||
| vowel starttype (i) endtype (i) | |||
| length 140 | |||
| formants vowel/i# | |||
| formants vowel/ii_final | |||
| linkout ; | |||
| endphoneme | |||
| @@ -142,7 +142,7 @@ endphoneme | |||
| phoneme aa // 'bath' etc. | |||
| vowel starttype (a) endtype (a) | |||
| length 190 | |||
| length 200 | |||
| formants vwl_en_rp/aa | |||
| linkout r- | |||
| endphoneme | |||
| @@ -160,7 +160,7 @@ endphoneme | |||
| phoneme i: | |||
| vowel starttype (i) endtype (i) | |||
| length 175 | |||
| formants vowel/i_2 | |||
| formants vowel/i | |||
| after w w/wi2 | |||
| linkout ; | |||
| endphoneme | |||
| @@ -223,7 +223,8 @@ endphoneme | |||
| phoneme eI | |||
| vowel starttype (i) endtype (i) | |||
| length 210 | |||
| formants vdiph/eei_3 | |||
| formants vdiph2/ei_2 | |||
| // formants vdiph/eei_3 | |||
| endphoneme | |||
| @@ -13,6 +13,7 @@ phoneme @ | |||
| length 170 | |||
| formants vowel/@_hgh | |||
| before l/ DFT+l/l_@ | |||
| before (r) DFT+r/xr | |||
| endphoneme | |||
| @@ -21,6 +22,8 @@ phoneme @2 | |||
| length 150 | |||
| formants vowel/@_fr | |||
| before l/ DFT+l/l_@ | |||
| before (r) DFT+r/xr | |||
| before R DFT+r/xr | |||
| endphoneme | |||
| @@ -51,7 +54,6 @@ phoneme e | |||
| after l l/le-15 | |||
| before l/ DFT-20+l/xl | |||
| before (r) DFT+r/xr | |||
| before r2 vowel/e_mid-40+r/xr | |||
| endphoneme | |||
| @@ -61,7 +63,7 @@ phoneme E | |||
| formants vowel/e_mid | |||
| after l l/le-15 | |||
| before l/ DFT+l/l_e | |||
| before r/2 DFT+r3/r_e | |||
| before r/2 DFT+vwl_fr/r_e | |||
| reduceto E2 1 | |||
| endphoneme | |||
| @@ -81,7 +83,6 @@ phoneme i | |||
| formants vowel/i_3 | |||
| linkout ; | |||
| after l l/li-15 | |||
| after (r) vwl_fr/ri | |||
| before l/ DFT+l/l_i | |||
| before (r) DFT+r/xr | |||
| before r/2 DFT+r3/r_i | |||
| @@ -104,6 +105,7 @@ phoneme o | |||
| length 170 | |||
| formants vowel/o_3 | |||
| after l l/lo-10 | |||
| before (r) DFT+r/xr | |||
| endphoneme | |||
| @@ -113,6 +115,7 @@ phoneme o2 | |||
| formants vowel/o_2 | |||
| after l l/lo-10 | |||
| before l/ DFT+l/l_o | |||
| before (r) DFT+r/xr | |||
| endphoneme | |||
| @@ -165,6 +168,8 @@ phoneme y | |||
| formants vowel/y_2 | |||
| after l l/lu-20 | |||
| before l/ DFT-30+l/l_y | |||
| before (r) DFT+r/xr | |||
| before r/2 DFT+vwl_fr/r_y | |||
| endphoneme | |||
| @@ -174,6 +179,7 @@ phoneme Y | |||
| formants vowel/y# | |||
| after l l/l@-20 | |||
| before l/ DFT-20+l/l_@ | |||
| before (r) DFT+r/xr | |||
| before r/2 DFT+r/xr-40 | |||
| endphoneme | |||
| @@ -414,11 +420,12 @@ phoneme r | |||
| vowelout f1=0 f2=1500 -400 400 f3=-600 80 | |||
| length 100 | |||
| lengthmod 7 | |||
| beforenotvowel r/2 | |||
| beforenotvowel r/2 | |||
| formants vwl_fr/@R3+r3/rx%30 | |||
| after (e) vwl_fr/@R4+r3/rx%15 | |||
| after (u) vwl_fr/@R4+r3/rx%15 | |||
| after wA vwl_fr/@R4+r3/rx%20 | |||
| before (i) r/rr | |||
| endphoneme | |||
| @@ -439,7 +446,8 @@ endphoneme | |||
| phoneme R // for beginning of words | |||
| vcd rfx flp | |||
| vowelin f1=0 f2=800 -50 50 f3=-100 80 | |||
| vowelin f1=0 f2=800 -50 50 f3=-100 80 len=40 | |||
| vowelout f1=0 f2=1500 -400 400 f3=-600 80 | |||
| length 100 | |||
| lengthmod 7 | |||
| beforenotvowel r/2 | |||
| @@ -453,7 +461,7 @@ endphoneme | |||
| phoneme R2 // After consonnants | |||
| vcd rfx frc | |||
| vowelin f1=0 f2=800 -50 50 f3=-100 80 | |||
| vowelin f1=0 f2=800 -50 50 f3=-100 80 len=40 | |||
| length 100 | |||
| lengthmod 7 | |||
| beforenotvowel r/2 | |||
| @@ -466,10 +474,10 @@ endphoneme | |||
| phoneme r/2 // variant of [r] when not preceding a vowel | |||
| vcd rfx frc | |||
| vowelout f1=0 f2=800 -50 50 f3=-600 80 len=40 | |||
| vowelout f1=0 f2=800 -50 50 f3=-600 80 | |||
| length 100 | |||
| lengthmod 2 | |||
| formants r3/r_+r3/rx%35 | |||
| formants r3/r_2+r3/rx%40 | |||
| after _ r/rr | |||
| after t r/trr | |||
| after p r/trr | |||
| @@ -225,6 +225,7 @@ phoneme (@) virtual | |||
| after n^ n^/n^@ | |||
| before l/ DFT-60+l/L1_@L | |||
| before l/2 DFT-60+l/L2_@L | |||
| before l/3 DFT+l/l_@ | |||
| before l DFT-50+l/xl | |||
| before w DFT-30+w/xw | |||
| before j DFT-30+j/xj | |||
| @@ -248,6 +249,7 @@ phoneme (a) virtual | |||
| after n^ n^/n^a | |||
| before l/ DFT-40+l/L1_aL | |||
| before l/2 DFT-50+l/L2_aL | |||
| before l/3 DFT+l/l_a | |||
| before l DFT-40+l/xl | |||
| before w DFT-30+w/xw | |||
| before j DFT-30+j/xj | |||
| @@ -271,6 +273,7 @@ phoneme (e) virtual | |||
| after n^ n^/n^e | |||
| before l/ DFT-30+l/L1_eL | |||
| before l/2 DFT-40+l/L2_eL | |||
| before l/3 DFT+l/l_e | |||
| before l DFT-40+l/xl | |||
| before w DFT-30+w/xw | |||
| before j DFT-30+j/xj | |||
| @@ -294,6 +297,7 @@ phoneme (i) virtual | |||
| after n^ n^/n^i | |||
| before l/ DFT-30+l/L1_iL | |||
| before l/2 DFT-30+l/L2_iL | |||
| before l/3 DFT+l/l_i | |||
| before N DFT-40+nn/inn | |||
| before ; DFT-40+j2/xj2 | |||
| before l DFT-40+l/xl | |||
| @@ -317,6 +321,7 @@ phoneme (o) virtual | |||
| after n^ n^/n^o | |||
| before l/ DFT-40+l/L1_oL | |||
| before l/2 DFT-50+l/L2_oL | |||
| before l/3 DFT+l/l_o | |||
| before l DFT-40+l/xl | |||
| before w DFT-30+w/xw | |||
| before j DFT-30+j/xj | |||
| @@ -340,6 +345,7 @@ phoneme (u) virtual | |||
| after n^ n^/n^u | |||
| before l/ DFT-40+l/L1_uL | |||
| before l/2 DFT-40+l/L2_uL | |||
| before l/3 DFT-20+l/l_u | |||
| before l DFT-40+l/xl | |||
| before w DFT-30+w/xw | |||
| before j DFT-30+j/xj | |||
| @@ -450,6 +456,15 @@ phoneme l/ // used for [l] when not before a vowel | |||
| beforevowel l | |||
| endphoneme | |||
| phoneme l/3 // used for [l] when not before a vowel | |||
| liquid | |||
| length 100 | |||
| lengthmod 7 | |||
| formants l/l_ | |||
| before (r) l/_l | |||
| beforevowel l | |||
| endphoneme | |||
| phoneme l/2 // 'dark' [l] after a vowel | |||
| liquid | |||
| @@ -602,6 +617,14 @@ phoneme ** // TEST flap | |||
| endphoneme | |||
| phoneme r. // retroflex | |||
| liquid rfx | |||
| vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15 | |||
| vowelin f1=2 f2=1400 -400 300 f3=-400 80 len=20 | |||
| formants r3/@tap_rfx | |||
| lengthmod 3 | |||
| endphoneme | |||
| //******************************************************************* | |||
| // VOICED STOPS | |||
| @@ -601,6 +601,8 @@ int Compile::LoadSpect(const char *path, int control) | |||
| int rms; | |||
| float total; | |||
| float pkheight; | |||
| int marker1_set=0; | |||
| int frame_vowelbreak; | |||
| SpectFrame *fr; | |||
| wxString path_sep = _T("/"); | |||
| @@ -651,6 +653,16 @@ for(ix=0; ix<8; ix++) | |||
| if(spectseq->frames[frame]->keyframe) | |||
| { | |||
| if(seq_out.n_frames == 1) | |||
| { | |||
| frame_vowelbreak = frame; | |||
| } | |||
| if(spectseq->frames[frame]->markers & 0x2) | |||
| { | |||
| // marker 1 is set | |||
| marker1_set = 1; | |||
| } | |||
| seq_out.n_frames++; | |||
| if(frame > 0) | |||
| total += spectseq->frames[frame-1]->length; | |||
| @@ -658,10 +670,11 @@ for(ix=0; ix<8; ix++) | |||
| } | |||
| seq_out.length = int(total); | |||
| if((control & 1) && (spectseq->numframes > 2)) | |||
| if((control & 1) && (marker1_set == 0)) | |||
| { | |||
| // This is a vowel, but no Vowel Break marker is set | |||
| // set a marker flag for the second frame of a vowel | |||
| spectseq->frames[1]->markers |= FRFLAG_VOWEL_CENTRE; | |||
| spectseq->frames[frame_vowelbreak]->markers |= FRFLAG_VOWEL_CENTRE; | |||
| } | |||
| ix = 0; | |||
| @@ -47,7 +47,7 @@ static const char *help_text = | |||
| "-p <integer>\n" | |||
| "\t Pitch adjustment, 0 to 99, default is 50\n" | |||
| "-s <integer>\n" | |||
| "\t Speed in words per minute, 80 to 370, default is 170\n" | |||
| "\t Speed in words per minute, 80 to 390, default is 170\n" | |||
| "-v <voice name>\n" | |||
| "\t Use voice file of this name from espeak-data/voices\n" | |||
| "-w <wave file name>\n" | |||
| @@ -81,7 +81,7 @@ static const char *help_text = | |||
| "-p <integer>\n" | |||
| "\t Pitch adjustment, 0 to 99, default is 50\n" | |||
| "-s <integer>\n" | |||
| "\t Speed in words per minute 80 to 370, default is 170\n" | |||
| "\t Speed in words per minute 80 to 390, default is 170\n" | |||
| "-v <voice name>\n" | |||
| "\t Use voice file of this name from espeak-data/voices\n" | |||
| "-w <wave file name>\n" | |||
| @@ -113,7 +113,7 @@ static const char *help_text = | |||
| "-p <integer>\n" | |||
| "\t Pitch adjustment, 0 to 99, default is 50\n" | |||
| "-s <integer>\n" | |||
| "\t Speed in words per minute 80 to 370, default is 170\n" | |||
| "\t Speed in words per minute 80 to 390, default is 170\n" | |||
| "-v <voice name>\n" | |||
| "\t Use voice file of this name from espeak-data/voices\n" | |||
| "-w <wave file name>\n" | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.39.05 22.Sep.08"; | |||
| const char *version_string = "1.39.07 27.Sep.08"; | |||
| const int version_phdata = 0x013900; | |||
| int option_device_number = -1; | |||
| @@ -95,8 +95,7 @@ void SetIndicLetters(Translator *tr) | |||
| static const char dev_consonants2[] = {0x02,0x03,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f}; | |||
| memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | |||
| SetLetterBitsRange(tr,LETTERGP_A,0x04,0x14); // vowel letters | |||
| SetLetterBitsRange(tr,LETTERGP_A,0x3e,0x4c); // vowel signs | |||
| SetLetterBitsRange(tr,LETTERGP_A,0x04,0x14); // vowel letters only | |||
| SetLetterBitsRange(tr,LETTERGP_B,0x3e,0x4d); // vowel signs, and virama | |||
| SetLetterBitsRange(tr,LETTERGP_C,0x15,0x39); // the main consonant range | |||
| SetLetterBits(tr,LETTERGP_C,dev_consonants2); // additional consonants | |||
| @@ -381,6 +381,8 @@ void FindPhonemesUsed(void) | |||
| char *next; | |||
| unsigned char c; | |||
| int count = 0; | |||
| int ignore; | |||
| char phonetic[N_WORD_PHONEMES]; | |||
| // look through all the phoneme strings in the **_rules data | |||
| // and mark these phoneme codes as used. | |||
| @@ -419,21 +421,37 @@ void FindPhonemesUsed(void) | |||
| p += (strlen(p)+1); | |||
| } | |||
| while((((c = *p) != RULE_PHONEMES)) && (c != 0)) p++; | |||
| while((c = *p) != 0) | |||
| { | |||
| if(c == RULE_CONDITION) | |||
| p++; // next byte is the condition number, which may be 3 (= RULE_PHONEMES) | |||
| if(c == RULE_PHONEMES) | |||
| break; | |||
| p++; | |||
| } | |||
| count++; | |||
| if(c == RULE_PHONEMES) | |||
| { | |||
| ignore = 0; | |||
| start = p; | |||
| p++; | |||
| while(*p != 0) | |||
| while((c = *p) != 0) | |||
| { | |||
| phoneme_tab_flags[*p & 0xff] |= 2; | |||
| if(c == phonSWITCH) | |||
| ignore = 1; | |||
| if(ignore == 0) | |||
| phoneme_tab_flags[c] |= 2; | |||
| p++; | |||
| } | |||
| } | |||
| p++; | |||
| } | |||
| // NOTE, we should recognise langopts.textmode and ignore the *_list file (lang=zh) | |||
| for(hash=0; hash<N_HASH_DICT; hash++) | |||
| { | |||
| p = translator->dict_hashtab[hash]; | |||
| @@ -446,11 +464,33 @@ void FindPhonemesUsed(void) | |||
| if((p[1] & 0x80) == 0) | |||
| { | |||
| p += ((p[1] & 0x3f) + 2); | |||
| while(*p != 0) | |||
| strcpy(phonetic,p); | |||
| p += strlen(phonetic) +1; | |||
| // examine flags | |||
| ignore = 0; | |||
| while(p < next) | |||
| { | |||
| phoneme_tab_flags[*p & 0xff] |= 2; | |||
| if(*p == BITNUM_FLAG_TEXTMODE) | |||
| { | |||
| ignore = 1; | |||
| break; | |||
| } | |||
| p++; | |||
| } | |||
| if(ignore == 0) | |||
| { | |||
| p = phonetic; | |||
| while((c = *p) != 0) | |||
| { | |||
| if(c == phonSWITCH) | |||
| break; | |||
| phoneme_tab_flags[c] |= 2; | |||
| p++; | |||
| } | |||
| } | |||
| } | |||
| p = next; | |||
| } | |||
| @@ -145,7 +145,7 @@ int wcmdq_tail=0; | |||
| // pitch,speed, | |||
| int embedded_default[N_EMBEDDED_VALUES] = {0,50,170,100,50, 0,0, 0,170,0,0,0,0,0}; | |||
| static int embedded_max[N_EMBEDDED_VALUES] = {0,0x7fff,400,300,99,99,99, 0,360,0,0,0,0,4}; | |||
| static int embedded_max[N_EMBEDDED_VALUES] = {0,0x7fff,600,300,99,99,99, 0,600,0,0,0,0,4}; | |||
| #define N_CALLBACK_IX N_WAV_BUF-2 // adjust this delay to match display with the currently spoken word | |||
| int current_source_index=0; | |||