*_list files: add attribute $max3 to limit repetitions of a symbol to 3. -v command option, if the voice-name is not found, lookup using it as a language name. Windows: allow longer path names for espeak-data. -m option: Ignore text within <script> and <style> tags. Reduce default pitch to 80-117. WavegenCloseSound() check if there remain items to be spoken and re-open the sound channel. Reduce voicing before voiced plosives. Corrections to mbrola translation for lang=hi. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@205 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -19,13 +19,13 @@ Dictionary bn_dict | |||
| & a a: a~ e E e~ i | |||
| I i: i:~ i~ l- o O o: | |||
| o~ O~ r- U u u: u:~ u~ | |||
| O~ o~ r- U u u: u:~ u~ | |||
| * b B c C ch d d. | |||
| g h j J k kh l m | |||
| n N n. n^ p ph Q r | |||
| r. s S s. t t. t.h th | |||
| tS x z | |||
| * b B bh c C ch d | |||
| d. dh g gh h j J k | |||
| kh l m n N n. n^ p | |||
| ph Q r r. s S s. t | |||
| t. t.h th tS x z | |||
| Dictionary ca_dict | |||
| @@ -152,16 +152,15 @@ S s2 t v Z | |||
| Dictionary fr_dict | |||
| @ @- @2 a A a2 A~ e | |||
| E E2 E~ i i: o O o2 | |||
| O2 O~ u u: W W2 w^i wA | |||
| W~ y Y | |||
| @ @- @2 a a2 A~ e E | |||
| E2 E~ i i: o O o2 O2 | |||
| O~ u u: W W2 w^i wA W~ | |||
| y Y | |||
| : ; b d dZ f g h | |||
| j k l m n N n2 n^ | |||
| p p2 r R 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 s S t t2 | |||
| t3 tS v w z Z z2 z3 | |||
| Dictionary grc_dict | |||
| @@ -191,14 +190,15 @@ Dictionary hi_dict | |||
| @ @- @2 @3 a a: aI aU | |||
| e E e: E: E~ i I i: | |||
| l- o O o: O: o~ O~ r- | |||
| l- o O o: O: O~ o~ r- | |||
| 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 r. s S s. t | |||
| T t. t.h th v w x z | |||
| - : b bh c ch d d. | |||
| dh f g gh h H j J | |||
| k kh l l. m n N n. | |||
| n^ p ph Q q r r. s | |||
| S s. t T t. t.h th v | |||
| w x z | |||
| Dictionary hu_dict | |||
| @@ -274,11 +274,11 @@ a a: aI aU e E e: i | |||
| I i: o o: r- u u: V | |||
| y | |||
| : b c ch d d. dZ f | |||
| g h j J k kh l l. | |||
| m n N n. n^ p ph R | |||
| R2 s S s. S; t t. t.h | |||
| th tS v w z | |||
| : b bh c ch d d. dh | |||
| dZ f g gh h j J k | |||
| kh l l. m n N n. n^ | |||
| p ph R R2 s S s. S; | |||
| t t. t.h th tS v w z | |||
| Dictionary ko_dict | |||
| @@ -344,27 +344,27 @@ a a: aI aU e E e: i | |||
| I i: o o: r- u u: V | |||
| y | |||
| : b c ch d d. dZ f | |||
| g h j J k kh l l. | |||
| m n N n. n^ p ph R | |||
| R2 s s. S; t t. t.h th | |||
| tS v w z z. | |||
| : b bh c ch d d. dh | |||
| dZ f g gh h j J k | |||
| kh l l. m n N n. n^ | |||
| p ph R R2 s s. S; t | |||
| t. t.h th tS v w z z. | |||
| Dictionary ne_dict | |||
| @ @/ @2 @3 a aI aU a~ | |||
| e E eI eU E~ e~ i I | |||
| i~ l- o O o: oI oU o~ | |||
| O~ r- u uI u~ V VI VU | |||
| e E eI eU e~ E~ i I | |||
| i~ l- o O o: oI oU O~ | |||
| o~ r- u uI u~ V VI VU | |||
| 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 r. s S s. t | |||
| T t. t.h th v w x z | |||
| z. | |||
| - : b bh c ch d d. | |||
| dh f g gh h H j J | |||
| k kh l l. m n N n. | |||
| n^ p ph Q q r r. s | |||
| S s. t T t. t.h th v | |||
| w x z z. | |||
| Dictionary nl_dict | |||
| @@ -393,23 +393,23 @@ s S s; t v w x z | |||
| Dictionary om_dict | |||
| @# a a: E e I I# i: | |||
| O o: U u: | |||
| a A a# a: E e E# I | |||
| I# i: O O# o: U U# u: | |||
| ** : a# b B c` d d` | |||
| ** : b B c` d D d` | |||
| dZ f g h j k k` l | |||
| m n n^ p p` R s S | |||
| t t` tS v w z | |||
| s2 t t` tS v w z | |||
| Dictionary pl_dict | |||
| @- a E E# E~ i O O~ | |||
| u y | |||
| a E E# E~ i O O~ u | |||
| y | |||
| * : ; b c C d d; | |||
| dZ dz; f g h j k l | |||
| m n N n^ p r s S | |||
| : ; b c C d d; dZ | |||
| dz; f g h j k l m | |||
| n N n^ p r R s S | |||
| s; S; t t; tS ts ts; tS; | |||
| v w x z Z Z; | |||
| @@ -481,13 +481,14 @@ t t; tS ts v x z Z | |||
| Dictionary sq_dict | |||
| @ a A aI e E i O | |||
| u V y yE | |||
| @ @- @/ a A aI E e | |||
| eI i I I# O OI u V | |||
| y yE | |||
| * ** b c d D dZ f | |||
| g h j J k l ll m | |||
| n n^ p r R R2 s S | |||
| t T tS ts v w z Z | |||
| ** b c d D dZ f g | |||
| h j J k l ll m n | |||
| n^ p r R R2 s S t | |||
| T tS ts v w z Z | |||
| Dictionary sv_dict | |||
| @@ -508,7 +509,7 @@ o u | |||
| * : b d D f g h | |||
| j J k l m n N n^ | |||
| p Q r s S t T tS | |||
| p Q R s S t T tS | |||
| v w x z | |||
| @@ -542,9 +543,9 @@ i i@ iU O o OI oI u | |||
| u@ uI y y@ yI | |||
| b c d D f g h j | |||
| k kh l m n N n^ p | |||
| Q s t t[ ts; tS; v w | |||
| x z Z z; | |||
| J k kh l m n N n^ | |||
| p Q r s s. t t[ ts; | |||
| tS; v w x z Z z. | |||
| Dictionary zh_dict | |||
| @@ -555,9 +556,9 @@ o o- ou u u@ ua uai uei | |||
| uo y y& y@ yE yi yu | |||
| (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 X z. | |||
| l m n N p ph q r | |||
| s s. S; t th ts ts. ts. | |||
| tS; tS; tsh v w x X z. | |||
| Dictionary zhy_dict | |||
| @@ -569,3 +570,11 @@ oi ong ou u ui yu | |||
| b c d f g h j k | |||
| l m n N p r s t | |||
| tS v w z | |||
| Dictionary ga_dict | |||
| a A: E e: I O | |||
| b c C d k l r v | |||
| w x | |||
| @@ -19,7 +19,6 @@ | |||
| // letter names, as they are spoken as a single character in text | |||
| // precede by _ to distinguish from pronunciation as a language word | |||
| test h'EloU | |||
| _a eI | |||
| b bi: | |||
| @@ -138,7 +137,7 @@ _¡ Inv,3:tI2dEkskl@m'eIS@n | |||
| _¦ broUk@nb'A@ | |||
| _¨ daIa2r'i:sIs | |||
| _ª fEmI2nIn'O@dI2n@L | |||
| _« lEft'ang@LkwoUts | |||
| _« lEft'gIl@mEt | |||
| _ makr0n | |||
| _² su:p@skrIptt'u: | |||
| _³ su:p@skrIptT'ri: | |||
| @@ -147,7 +146,7 @@ _· mId@Ld0t | |||
| _¸ sEd'Il@ | |||
| _¹ su:p@skrIptw'0n | |||
| _º maskjUlIn'O@dI2n@L | |||
| _» raIt'ang@LkwoUts | |||
| _» raIt'gIl@mEt | |||
| _¿ Inv,3:tI2dkw'EstS@n | |||
| _‐ haIf@n | |||
| @@ -179,6 +178,14 @@ _‴ trIp@LpraIm | |||
| _‼ Ekskla2m'eIS@nz | |||
| _₠ jU@roU | |||
| \ bakstroUk $max3 | |||
| / stroUk $max3 | |||
| ?3 \ bakslaS $max3 | |||
| ?3 / slaS $max3 | |||
| * ast@rIsk $max3 | |||
| % p3sEnt $max3 | |||
| = _:i:kw@Lz_: $max3 | |||
| ?5 % pVRs'Ent $max3 | |||
| ¢ sEnts | |||
| £ paUnd | |||
| ¥ jEn | |||
| @@ -761,6 +768,8 @@ coauthor koU'O:T3 | |||
| cobol koUb0l | |||
| cocoa koUkoU | |||
| cochlea k0kli:@ | |||
| cockeye k0kaI | |||
| cocksure ,k0kS'U@ | |||
| coconut koUk@nVt | |||
| codify koUdI2faI | |||
| coeur k3: | |||
| @@ -1014,6 +1023,7 @@ exalt Egz'0lt | |||
| execute EksI2kju:t // not $2 | |||
| exile $1 | |||
| exodus Eks@d@s | |||
| expedite Eksp@daIt // expedited | |||
| expert Eksp3:t | |||
| expertise Eksp3t'i:z | |||
| exploit $1 $onlys | |||
| @@ -1024,6 +1034,7 @@ export $verb | |||
| extract $1 $onlys | |||
| extract $1 $only | |||
| extract $2 $verb | |||
| extradite Ekstr@daIt // extradited | |||
| extrem Ekstr'i:m // extremism | |||
| extremist Ekstr'i:mIst | |||
| eyrie i@rI | |||
| @@ -1257,10 +1268,12 @@ internet Int3nEt | |||
| interrupt $1 $onlys | |||
| interrupt $3 $verb | |||
| interval Int3v@L | |||
| interven Int3v'i:n // for intervening | |||
| interven Int3v'i:n // for intervening | |||
| intray IntreI | |||
| intro $1 | |||
| irate aIr'eIt | |||
| iris aIrIs | |||
| iron aI@n | |||
| irony aIr@nI | |||
| isosceles aIs'0s@li:z | |||
| itinerary aIt'In@r@rI | |||
| @@ -1551,6 +1564,7 @@ papa pa2p'A: | |||
| papal peIp@L | |||
| pagan peIg@n | |||
| pageant padZ@nt | |||
| paltry pO:ltrI | |||
| panacea pana2s'i:@ | |||
| panache $2 | |||
| parabola p@rab@l@ | |||
| @@ -2033,6 +2047,7 @@ truely tru:lI2 $verbf | |||
| truest tru:@st | |||
| tryst trIst | |||
| tudor tju:d3 | |||
| turntable t3:nteIb@L | |||
| tulip tju:lIp | |||
| turnkey t3:nki: | |||
| ?5 turnkey tVRnki: | |||
| @@ -2438,6 +2453,7 @@ Cassandra k@sandr@ | |||
| Cassey keIsI | |||
| Catherine kaTrI2n | |||
| Cecile sEsi:l | |||
| Chloe kloUI | |||
| Chris krIs | |||
| Connor k0n3 | |||
| Daphne dafnI | |||
| @@ -2564,7 +2580,7 @@ Buchanan bju:k'an@n | |||
| Campbell kamb@l | |||
| Chrysler kraIzl3 | |||
| Disney dIznI | |||
| Patel p@t'El | |||
| Patel pa2tEl | |||
| Primavera pri:m@v'e@r@ | |||
| Prentice prEntIs | |||
| Reuter rOIt3 | |||
| @@ -538,8 +538,8 @@ | |||
| @) ally (_S2 l%I | |||
| @@ic) ally (_S4 l%I | |||
| inst) al (_ O:l | |||
| &) al (d @L | |||
| b) al (d O:l | |||
| &) al (d_ @L | |||
| b) al (d+ O:l | |||
| b) al (k O:l | |||
| f) al (k 0l | |||
| b) all (K O:l | |||
| @@ -1061,7 +1061,6 @@ | |||
| au O: | |||
| g) au (s aU | |||
| ?!3 s) au (s 0 | |||
| l) au (t_ aU | |||
| ?!3 au (str 0 | |||
| au (_ aU | |||
| _) auch %O:x | |||
| @@ -1079,7 +1078,7 @@ | |||
| s) au (rus_ 'O: | |||
| @) au (ri 'O: | |||
| C) aus (_ aUs | |||
| au (t_ aU | |||
| @) au (t_ aU | |||
| n) au (t_ O: | |||
| authen %O:TEn | |||
| _) auto (@P4 ,O:toU // prefix | |||
| @@ -2384,6 +2383,7 @@ | |||
| ey (an eI | |||
| _) eye aI | |||
| eye eI | |||
| eyed (_S2 d | |||
| @m) eyer (_ aI3 | |||
| eyor (_ 'eI3 | |||
| @@ -2490,6 +2490,7 @@ | |||
| b) i (_ aI | |||
| c) i (_ aI | |||
| c) is (_ Is | |||
| d) i (_ =I | |||
| @@h) i (_ =I | |||
| h) i (_ =aI | |||
| &sk) i (_ =I | |||
| @@ -2555,12 +2556,13 @@ | |||
| @) i (cip 'I | |||
| i (cus_ =I | |||
| _) id (_ aIdi: | |||
| idea aId'i@ | |||
| _) idea aId'i@ | |||
| acc) i (d I | |||
| c) i (dal 'aI | |||
| fr) i (day aI | |||
| _) i (dle aI | |||
| br) i (dl aI | |||
| _s) i (dl aI | |||
| f) i (del I2 | |||
| br) i (dA aI | |||
| br) i (dg I | |||
| @@ -3145,7 +3147,7 @@ | |||
| l) iv (en aIv | |||
| r) ival aIv@L | |||
| ct) iv (al 'aIv | |||
| v) iv (al 'aIv | |||
| @v) iv (al 'aIv | |||
| ive (ness Iv | |||
| _al) iv (e aIv | |||
| n) iv (e_ aIv | |||
| @@ -3399,6 +3401,7 @@ | |||
| cla) ng (er Ng | |||
| ta) ngi ndZI | |||
| i) ng (er Ng | |||
| bi) ng (er ndZ | |||
| gi) ng (er ndZ | |||
| o) ng (er Ng | |||
| you) ng (er Ng | |||
| @@ -4506,7 +4509,6 @@ | |||
| &) sib s@b | |||
| ea) s (ie z | |||
| ea) s (il z | |||
| _) sid (e# saId | |||
| C) sion S@n | |||
| ?3 er) sion Z@n | |||
| A) sion Z@n | |||
| @@ -4669,6 +4671,7 @@ | |||
| g) th (en_ T | |||
| thai taI | |||
| th (ead th | |||
| th (eart th | |||
| theless D@l'Es | |||
| theque tEk | |||
| ther (_ D3 | |||
| @@ -5320,10 +5323,6 @@ | |||
| ñ n^ | |||
| \\ bakstroUk | |||
| / stroUk | |||
| ?3 \\ bakslaS | |||
| ?3 / slaS | |||
| ' | |||
| ! _:Ekskl@meIS@n_: | |||
| ! (\! | |||
| @@ -5332,8 +5331,6 @@ | |||
| : koUl@n | |||
| D_) : (_DD_ // omit colon in time, eg: 2:30 | |||
| $ d0l3 | |||
| % p3sEnt | |||
| ?5 % pVRs'Ent | |||
| @ at_: | |||
| & _!%and | |||
| != n0ti:kw@Lz | |||
| @@ -5359,16 +5356,3 @@ | |||
| . (. _: | |||
| \.) . | |||
| = __i:kw@Lz_ | |||
| = (== | |||
| =) = (= | |||
| ==) = (_ _:: | |||
| * ast@rIsk | |||
| *) * (* | |||
| ** | |||
| **) * (_ _:: | |||
| % (%% | |||
| %) % (% | |||
| %%) % (_ _:: | |||
| @@ -27,7 +27,7 @@ _0M1 m,il_ | |||
| _0M2 mili'ono | |||
| _0M3 mili'ardo | |||
| _0M4 duili'ono | |||
| _dpt komo_ | |||
| _dpt _komo_ | |||
| // accent names | |||
| _acu dekst@-*akoRno | |||
| @@ -45,17 +45,30 @@ _: dupunkto | |||
| _; punktokomo | |||
| _, komo | |||
| _? demandosigno | |||
| _! _k@-*isigno_ | |||
| _- dividost@-*eko | |||
| __ subst@-*eko | |||
| ~ tildo | |||
| ° gradoI | |||
| % p@-*otsento | |||
| @ _tSe_ | |||
| & kaI | |||
| = ,,egala, | |||
| \\ deklivo | |||
| / oblik'vo | |||
| = egala | |||
| \ deklivo | |||
| / oblikvo | |||
| | duktosigno | |||
| * asteRisko | |||
| © k'opiraIto | |||
| © kopiRaIto | |||
| _( Rondak@-*'ampo | |||
| _) feRm'itaRondak@-*'ampo | |||
| _[ Rektak@-*'ampo | |||
| _] f'eRmaRektak@-*'ampo | |||
| _{ k'u@-*bak@-*'ampo | |||
| _} f'eRmaku@-*bak@-*'ampo | |||
| _< angulk@-*'ampo | |||
| _> f'eRmaangulk@-*'ampo | |||
| _« du'oblaangulk@-*'ampo | |||
| _» f'eRmadu,oblaangulk@-*'ampo | |||
| v vo // not Roman numbers | |||
| @@ -76,7 +89,7 @@ k.c kaItset'eRe | |||
| Kg k'ilog@-*'amoI | |||
| Km k'ilom'et-*oI | |||
| kp k,omp'aru $dot | |||
| k.s kaI,s'im'ile | |||
| k.s kaI,si'mile | |||
| n.b n'otu||b'one | |||
| nro numeRo | |||
| pĝ padZo $dot | |||
| @@ -151,10 +164,6 @@ tra $u $pause | |||
| eĉ $brk | |||
| pli pl,i | |||
| plej pl,eI | |||
| //ĝojo dZoIo | |||
| //ĉashundo tSas,hundo | |||
| //ligno lig,no | |||
| //signo sig,no | |||
| // pronouns | |||
| mi $u | |||
| @@ -21,7 +21,7 @@ | |||
| D_-_) an (_ %an //'an' after a number | |||
| D_) a (_ %a //'a' after a number | |||
| D_) an (_ %an //'an' after a number | |||
| -) ano (_ an%o // 'ano' = member | |||
| .group b | |||
| _) b(_ bo | |||
| @@ -39,10 +39,8 @@ | |||
| _) d(_ do | |||
| d d | |||
| _) d (-ro_ dokt'o | |||
| _) d (-rino_ d,okto | |||
| -) do (_ d%o | |||
| _) d (-ro dokt'o | |||
| _) d (-rino d,okto | |||
| .group e | |||
| _) e(_ e | |||
| @@ -54,8 +52,8 @@ | |||
| _) f(_ fo | |||
| f f | |||
| _) f (-ino_ fR%aUl | |||
| _) f (-lo_ fRaU | |||
| _) f (-ino fR%aUl | |||
| _) f (-lo fRaU | |||
| .group g | |||
| _) g(_ go | |||
| @@ -82,9 +80,9 @@ | |||
| _) k(_ ko | |||
| k k | |||
| _) k (-do_ kamaR'a | |||
| _) k (-dino_ k'amaRa | |||
| _) k (-ino_ k'amaRad | |||
| _) k (-do kamaR'a | |||
| _) k (-dino k'amaRa | |||
| _) k (-ino k'amaRad | |||
| .group l | |||
| @@ -92,8 +90,6 @@ | |||
| l l | |||
| ll (_ l | |||
| -) lo (_ l%o | |||
| .group m | |||
| _) m(_ mo | |||
| @@ -104,15 +100,19 @@ | |||
| n n | |||
| n (_S1 n | |||
| _) n (-ro_ num'e | |||
| _) n (-ro num'e | |||
| .group o | |||
| _) o(_ o | |||
| o o | |||
| oj oI | |||
| -) o (_ %o | |||
| -) oj (_ %oI | |||
| -) on (_ %on | |||
| -X) o (_ %o // d-ro etc | |||
| -X) oj (_ %oI | |||
| -X) on (_ %on | |||
| .group p | |||
| _) p(_ po | |||
| @@ -132,8 +132,6 @@ | |||
| K) r (A @-* | |||
| rr RR | |||
| -) ro (_ R%o // d-ro, n-ro | |||
| .group s | |||
| _) s(_ so | |||
| _) sh(_ So | |||
| @@ -141,11 +139,11 @@ | |||
| sh (K S // foreign words | |||
| K) sh S // foreign words | |||
| _) s (-ino_ s,injoR | |||
| _) s (-ro_ sinj'o | |||
| _) s (-ino s,injoR | |||
| _) s (-ro sinj'o | |||
| _) s (-ano_ s'am,ide | |||
| _) s (-anino_ s'am,ide | |||
| _) s (-ano s'am,ide | |||
| _) s (-anino s'am,ide | |||
| _) s (-ta_ s'ank | |||
| @@ -220,7 +218,6 @@ | |||
| £ pundo | |||
| £ (_D _pundoI_: | |||
| _! _k@-*isig'no_ | |||
| __) - (_D minus_ | |||
| D_) - (_D st@-*ek'eto_ | |||
| A_) - (_D _ | |||
| @@ -24,7 +24,7 @@ | |||
| // 2006-11-18 Gilles Casse <[email protected]> | |||
| // | |||
| // Updated 2008-11-06 Michel Such <[email protected]> | |||
| // Updated 2008-12-03 Michel Such <[email protected]> | |||
| // | |||
| // * Numbers, a few abbreviations and exceptions. | |||
| // | |||
| @@ -97,7 +97,6 @@ _rng rO~t2A~S'Ef | |||
| _stk b'ar | |||
| _tld t'ild | |||
| // character names | |||
| _cap maZysk'yl | |||
| @@ -116,13 +115,14 @@ _* asterisk: | |||
| _, virgyl | |||
| _- tirE | |||
| _. _|pw%E~ | |||
| _/ slaS | |||
| _: d'Ypw'E~ | |||
| _; pwE~virg'yl | |||
| _/ bar||oblik | |||
| _: d'Y||pw'E~ | |||
| _; pwE~||virg'yl | |||
| _< E~ferjWr | |||
| _= egal | |||
| _> syperjWr | |||
| _? pwE~dE~terogasj'O~ | |||
| _? pwE~||dE~terogasj'O~ | |||
| _! pwE~||dEksklamasj'O~ | |||
| _[ uvr@-_kroSE | |||
| _\ b'aksl'aS | |||
| _] f'E2rm_kroS'E | |||
| @@ -130,27 +130,33 @@ _^ sirkOnflEks | |||
| __ sulin^e | |||
| _` aks'A~_gr'av | |||
| _{ uvr_akOlad | |||
| _| bar | |||
| _| bar_vErtik'al | |||
| _} f'E2rm_akOl'ad | |||
| ² pw^is'A~s||d'Y | |||
| _« uvre||gijm'E | |||
| _» fErme||gijm'E | |||
| _’ a2postr'Of | |||
| _‘ a2postr'Of | |||
| _µ mikR'o | |||
| _§ sEksj'O~ | |||
| // symbols that are normally spoken when reading text | |||
| ! Eksklamasj'O~ | |||
| @ arobaz | |||
| % pursA~ | |||
| & _e | |||
| & e $u $brk | |||
| _& _e_komErsj'al | |||
| + plys | |||
| ~ tilde | |||
| € @ro | |||
| ¢ sEnt | |||
| ¥ i;En | |||
| ¥ jEn | |||
| £ livr | |||
| ± pl'yz_'u_mw'E~ | |||
| × myltipli:'e_p'ar | |||
| ÷ diviz'e_p'ar | |||
| ¼ W~_k'ar | |||
| ½ W~_d@m'i | |||
| ¾ trwAk'ar | |||
| ¾ trwA_k'ar | |||
| © _^_EN | |||
| ® m'ark_depos'e | |||
| @@ -709,7 +715,7 @@ bit bit | |||
| bluetooth blut'us | |||
| computer _^_en | |||
| (cyber link) _^_en | |||
| debian dEbjAn | |||
| debian dEbjan | |||
| edit _^_en | |||
| emacs Emaks | |||
| emacspeak Emakspi:k | |||
| @@ -803,6 +809,7 @@ samoa samoa | |||
| leone leO2n | |||
| koweït kowEjt | |||
| taïwan tajwAn | |||
| texas tEks'as | |||
| venezuela venezyela | |||
| (viêt nam) viEtnam | |||
| wallis wAlis | |||
| @@ -810,3 +817,4 @@ futuna futuna | |||
| zimbabwe zimbabwe | |||
| @@ -23,7 +23,7 @@ | |||
| // 2006-11-18 Gilles Casse <[email protected]> | |||
| // | |||
| // Updated: 2008-11-19 Michel Such <[email protected]> | |||
| // Updated: 2008-11-28 Michel Such <[email protected]> | |||
| // | |||
| // Letter classes: | |||
| @@ -34,6 +34,7 @@ | |||
| .L01 d e l n r t u | |||
| .L02 b c d f g h k p t v | |||
| .L03 d l m n s t v | |||
| .group a | |||
| @@ -629,6 +630,7 @@ _) h (érit // hériter | |||
| _) h (ésit // hésiter | |||
| _) h (eure // heure | |||
| _) h (iber // hibernation | |||
| _) hi (A j // hier | |||
| _) h (ippo // hippodrome | |||
| _) h (iro // hirondelle | |||
| _) h (ist // histoire | |||
| @@ -651,6 +653,7 @@ _) h (uma // humain | |||
| _) h (umb // humble | |||
| _) h (umi // humide | |||
| _) h (umo // humour | |||
| _) hy (A j | |||
| _) h (y // hypermarché | |||
| _) hyper (@P5 ipEr | |||
| _) hyper (_ ipEr | |||
| @@ -1016,6 +1019,7 @@ mou) rr rr // mourrai | |||
| ai) s (em s // vraisemblable | |||
| aCè) s (_ s | |||
| kansa) s (_ s // Kansas, Arkansas | |||
| ub) s (is z // subsister | |||
| tran) s (A z // transition | |||
| tran) s (e s // transe | |||
| @@ -1286,10 +1290,9 @@ Vn) t (_ t2 | |||
| .group x | |||
| x ks | |||
| xs ks // lexique lexicaux vox | |||
| e) x (A gz // exagérer exemple | |||
| Ce) x (i ks | |||
| ine) x (i gz | |||
| L03e) x (A ks // annexe, vexer | |||
| _ine) x (A gz | |||
| _e) x (h gz // exhumer | |||
| ai) x (_ // voix paix prix | |||
| @@ -1314,7 +1317,7 @@ Vn) t (_ t2 | |||
| .group y | |||
| y i // cryogénique myope | |||
| _) y (A _!i // yak, yacht | |||
| _) y (A j // yak, yacht | |||
| _) y (eu i // yeux | |||
| _) yahoo (P5 ia'u | |||
| @@ -38,6 +38,8 @@ | |||
| .group इ | |||
| इ I | |||
| // इँ i~ | |||
| // इं i~ | |||
| .group ई | |||
| ई i: | |||
| @@ -99,6 +101,8 @@ | |||
| .group ि | |||
| ि I | |||
| // िँ i~ | |||
| // िं i~ | |||
| .group ी | |||
| ी i: | |||
| @@ -399,7 +403,7 @@ | |||
| ँ n // candrabindu | |||
| .group ं | |||
| ं N // anusvara | |||
| ं n // anusvara | |||
| ं (प m | |||
| ं (फ m | |||
| ं (ब m | |||
| @@ -411,6 +411,14 @@ i i: $atend | |||
| o O: $atend | |||
| // foreign words | |||
| chat tSat | |||
| cliché kli:Se | |||
| internet 'internet | |||
| jeans dZi:nz | |||
| web wEb | |||
| // exceptions | |||
| aereo $2 | |||
| difficile $2 | |||
| @@ -424,6 +432,6 @@ celsius tsElsj'us | |||
| conoscerla $2 | |||
| no nO | |||
| posta pOsta | |||
| principi $1 | |||
| tesser tess'ER | |||
| uomini $1 | |||
| internet 'internet | |||
| @@ -1,6 +1,10 @@ | |||
| // translation rules | |||
| // This file is UTF-8 encoded | |||
| // letter groups | |||
| // A any vowel | |||
| // Y front vowels: e i (& accents) | |||
| .L01 a à o ò ó u ù | |||
| .group a | |||
| a a: | |||
| @@ -31,30 +35,12 @@ | |||
| c k | |||
| cc k: | |||
| c (' tS | |||
| c (e tS | |||
| c (é tS | |||
| c (è tS | |||
| c (i tS | |||
| c (ì tS | |||
| cc (e tS: | |||
| cc (é tS: | |||
| cc (è tS: | |||
| cc (i tS: | |||
| cc (ì tS: | |||
| c (Y tS | |||
| cc (Y tS: | |||
| ch k | |||
| cch k: | |||
| ci (a tS | |||
| ci (à tS | |||
| ci (o tS | |||
| ci (ò tS | |||
| ci (u tS | |||
| ci (ù tS | |||
| cci (a tS: | |||
| cci (à tS: | |||
| cci (o tS: | |||
| cci (ò tS: | |||
| cci (u tS: | |||
| cci (ù tS: | |||
| ci (L01 tS | |||
| cci (L01 tS: | |||
| @) co (lA_ =ko | |||
| .group d | |||
| @@ -94,28 +80,10 @@ | |||
| g g | |||
| gg g: | |||
| gh g | |||
| g (e dZ | |||
| g (é dZ | |||
| g (è dZ | |||
| g (i dZ | |||
| g (ì dZ | |||
| gi (a dZj | |||
| gi (à dZj | |||
| gi (o dZj | |||
| gi (ò dZj | |||
| gi (u dZj | |||
| gi (ù dZj | |||
| gg (e dZ: | |||
| gg (é dZ: | |||
| gg (è dZ: | |||
| gg (i dZ: | |||
| gg (ì dZ: | |||
| ggi (a dZ: | |||
| ggi (à dZ: | |||
| ggi (o dZ: | |||
| ggi (ò dZ: | |||
| ggi (u dZ: | |||
| ggi (ù dZ: | |||
| g (Y dZ | |||
| gi (L01 dZj | |||
| gg (Y dZ: | |||
| ggi (L01 dZ: | |||
| @) gger (lo_ =dZ:eR | |||
| gl (i l^ | |||
| gl (ì l^ | |||
| @@ -155,6 +123,11 @@ | |||
| @) i (dere_ 'i | |||
| @) i (le_ =i | |||
| @) i (li_ =i | |||
| @) i (ma_ =i | |||
| r) i (ma_ i | |||
| laCr) i (ma_ =i | |||
| st) i (ma_ i | |||
| enz) i (ma_ i | |||
| @) iera (_ i'E:Ra | |||
| @) iere (_ i'E:Re | |||
| @) i (ente_ i | |||
| @@ -207,6 +180,8 @@ | |||
| @) o (metro_ 'O | |||
| @) o (logo_ 'O | |||
| o (str 'O | |||
| @) o (di_ =o | |||
| @) o (do_ =o | |||
| @) o (lo_ =o | |||
| @@ -244,21 +219,8 @@ | |||
| ss ss | |||
| s (t s | |||
| s (x s | |||
| sc (e S | |||
| sc (é S | |||
| sc (è S | |||
| sc (i S | |||
| sc (ì S | |||
| // A) sc (e SS | |||
| // A) sc (é SS | |||
| // A) sc (è SS | |||
| // A) sc (i SS | |||
| // A) sc (ì SS | |||
| sch (e sk | |||
| sch (é sk | |||
| sch (è sk | |||
| sch (i sk | |||
| sch (ì sk | |||
| sc (Y S | |||
| sch (Y sk | |||
| sh (K S // foreign words | |||
| K) sh S // foreign words | |||
| @) sia s'ia | |||
| @@ -7,11 +7,11 @@ | |||
| // prefixed by a _ character. | |||
| // Numbers | |||
| _0 z'E*O: | |||
| _0 z'ERO: | |||
| _1 j'EdEn | |||
| _2 dv'a | |||
| _3 t|S'y | |||
| _4 tSt'E*y | |||
| _4 tSt'ERy | |||
| _5 p;'En^ts; | |||
| _6 S'ES;ts; | |||
| _7 S;'EdEm | |||
| @@ -21,7 +21,7 @@ _10 dz;'ES;En^ts; | |||
| _11 jEdEn'aS;ts;E | |||
| _12 dvan'aS;ts;E | |||
| _13 t|Syn'aS;ts;E | |||
| _14 tStE*n'aS;ts;E | |||
| _14 tStERn'aS;ts;E | |||
| _15 pjEtn'aS;ts;E | |||
| _16 SEsn'aS;ts;E | |||
| _17 S;EdEmn'aS;ts;E | |||
| @@ -29,7 +29,7 @@ _18 OS;Emn'aS;ts;E | |||
| _19 dz;Ev;Etn'aS;ts;E | |||
| _2X dvadz;'ES;ts;a | |||
| _3X t|Sydz;'ES;c;i | |||
| _4X tStE*dz;'ES;c;i | |||
| _4X tStERdz;'ES;c;i | |||
| _5X p;En^dz;'ES;Ont | |||
| _6X SEZ;dz;'ES;Ont | |||
| _7X S;EdEmdz;'ES;Ont | |||
| @@ -39,7 +39,7 @@ _9X dz;Ev;En^dz;'ES;Ont | |||
| _1C st'O | |||
| _2C dv;'ES;c;E | |||
| _3C t|S'ysta | |||
| _4C tSt'E*ysta | |||
| _4C tSt'ERysta | |||
| _5C p;'En^ts;sEt | |||
| _6C S'ES;sEt | |||
| _7C S;'EdEmsEt | |||
| @@ -52,9 +52,9 @@ _0MA1 tyS;'OntsE // alternative form | |||
| _0MA2 m;ilj'Ony | |||
| _1M2 m;'iljOn | |||
| _0M2 m;ilj'Onuf | |||
| _0MA3 m;ilj'a@-*dy | |||
| _1M3 m;'ilja@-*d | |||
| _0M3 m;ilj'a@-*duf | |||
| _0MA3 m;ilj'aRdy | |||
| _1M3 m;'iljaRd | |||
| _0M3 m;ilj'aRduf | |||
| _0MA4 b;ilj'Ony | |||
| _1M4 b;'iljOn | |||
| _0M4 b;ilj'Onuf | |||
| @@ -62,67 +62,67 @@ _0M4 b;ilj'Onuf | |||
| _dpt _pSEts;'inEk_ | |||
| _cap d'uZE_ | |||
| _?A litE*a | |||
| _?A litERa | |||
| _?? symbOl | |||
| _#9 tab | |||
| _#32 spatsja | |||
| // accent names | |||
| _lig ligat'u*a | |||
| _acu _'Ost@-*E | |||
| _ac2 x,uNga*'umlawt // pOdv'ujnE_'Ost@-*E | |||
| _brv b@-*'Evis | |||
| _lig ligat'uRa | |||
| _acu _'OstRE | |||
| _ac2 x,uNgaR'umlawt // pOdv'ujnE_'OstRE | |||
| _brv bR'Evis | |||
| _ced z|tsEd;'ilO~ | |||
| _cir z|d'aSc;Em //pSEts;'ONgwE | |||
| _dia _'umlawt | |||
| _dot z|k@-*OpkO~ | |||
| _dot z|kROpkO~ | |||
| _grv ts;'E~Sc;E | |||
| _hac h'atSEk | |||
| _mcn nadk@-*ES;l'OnE //m'ak@-*On | |||
| _mcn nadkRES;l'OnE //m'akROn | |||
| _ogo z|Og'Onc;Em | |||
| _rng z|k'uwc;Em //k'OwO | |||
| _stk sk@-*ES;l'OnE // dz;ElOnE | |||
| _stk skRES;l'OnE // dz;ElOnE | |||
| _tld z|t'yldO~ | |||
| w vy $u $atend | |||
| z zy $u $atend | |||
| _a a | |||
| ą O~ | |||
| b bE | |||
| c tsE | |||
| ć ts;i | |||
| d dE | |||
| e E | |||
| ę E~ | |||
| f Ef | |||
| g gjE | |||
| h xa | |||
| _i i | |||
| j jOt | |||
| k ka | |||
| l El | |||
| ł Ew | |||
| m Em | |||
| n En | |||
| ń n^i | |||
| _o O | |||
| _ó ,u_k@-*EskOv'anE | |||
| p pE | |||
| q ku | |||
| r E* | |||
| s Es | |||
| ś S;i | |||
| t tE | |||
| _u u | |||
| v faw | |||
| _w vu | |||
| x iks | |||
| y 'ig*Ek | |||
| _z zEt | |||
| ż ZEt|z|k@-*'OpkO~ | |||
| ź Z;i | |||
| w vy $u $atend | |||
| z zy $u $atend | |||
| _a a | |||
| ą O~ | |||
| b bE | |||
| c tsE | |||
| ć ts;i | |||
| d dE | |||
| e E | |||
| ę E~ | |||
| f Ef | |||
| g gjE | |||
| h xa | |||
| _i i | |||
| j jOt | |||
| k ka | |||
| l El | |||
| ł wy | |||
| m Em | |||
| n En | |||
| ń n^i | |||
| _o O | |||
| _ó ,u_kREskOv'anE | |||
| p pE | |||
| q ku | |||
| r ER | |||
| s Es | |||
| ś S;i | |||
| t tE | |||
| _u u | |||
| v faw | |||
| _w vu | |||
| x iks | |||
| y 'igREk | |||
| _z zEt | |||
| ż ZEt|z|kR'OpkO~ | |||
| ź Z;i | |||
| ä $accent | |||
| ö $accent | |||
| @@ -138,41 +138,6 @@ _z zEt | |||
| í $accent | |||
| // other characters | |||
| ˘ b@-*'Evis | |||
| ¤ val'uta | |||
| § pa*'ag@-*af | |||
| ¨ 'umlawt | |||
| ° st'Op;En^ | |||
| ˛ Og'OnEk | |||
| ´ ,Ost@-*y_'aktsEnt | |||
| ˇ k'a*On | |||
| ¸ tsEd;'illa | |||
| ˝ x,uNga*'umlawt | |||
| × @-*'azy | |||
| ÷ dz;El'En^;E | |||
| ˙ g'u*na_k@-*'Opka | |||
| ¯ nadk@-*ES;l'En^E | |||
| ² kv'ad@-*at | |||
| ³ S'ES;tS;an | |||
| ¼ jEdnatSf'a*ta | |||
| ½ jEdnad@-*'uga | |||
| ¾ t||SytSf'a*tE | |||
| ¹ jEdEng'u*nE | |||
| ™ t@-*'Ejdma*k | |||
| ± plusm'inus | |||
| £ funt | |||
| ® zastSEZ'Ony | |||
| ¡ Odv@-*,Otny||vykS'ykn^ik | |||
| ¢ tsEnt | |||
| ¥ jEn | |||
| « f@-*ants,usci||tsudz'yswuf | |||
| ¬ nEg'atsja | |||
| » p@-*'avy||f@-*ants,usci||tsudz'yswuf | |||
| ¶ ak'apit | |||
| ¿ Odv@-*,Otny||pytajn^ik | |||
| // redefine foreign letters from pl_rules as CHAR | |||
| ß S,arfEs_'Es | |||
| @@ -191,44 +156,80 @@ _z zEt | |||
| // all my keyboard... | |||
| _! vykS'ykn^ik | |||
| _= *'uvna||S;E | |||
| _< mn^'EjSE | |||
| _> w;'ENkSE | |||
| _" tsudz'yswuf | |||
| _. k@-*'Opka | |||
| _, pSEts;'inEk | |||
| _- m'yS;lnik // or minus? | |||
| _? zn,ak||zapyt'an^a | |||
| _~ t'ylda | |||
| __ pOdk*ES;l'En^E | |||
| _: dvuk@-*'OpEk | |||
| _; S;@-*'Edn^ik | |||
| _( nav;as | |||
| _) pOnav;'aS;E | |||
| _[ n,av;as||kvad@-*at'Ovy | |||
| _] p@-*avy||n,av;as||kvad@-*at'Ovy | |||
| _{ n,av;as||klam@-*Ovy | |||
| _} p@-*avy||n,av;as||klam@-*'Ovy | |||
| _' ap'Ost@-*Of | |||
| _/ slES | |||
| _* gv;'astka | |||
| _\ b'EkslES | |||
| _| k@-*,Eska||p;On'Ova | |||
| _# haS | |||
| _$ d'Ola* | |||
| % p@-*'OtsEnt | |||
| _^ d'aSEk // what's be better? | |||
| _& and | |||
| _` 'aktsEnt | |||
| _@ m'awpa | |||
| + plus | |||
| _! vykS'ykn^ik | |||
| _< mn^'EjSE | |||
| _> w;'ENkSE | |||
| _" tsudz'yswuf | |||
| _, pSEts;'inEk | |||
| _- m'yS;lnik // or minus? | |||
| _? zn,ak||zapyt'an^a | |||
| __ pOdkRES;l'En^E | |||
| _: dvukR'OpEk | |||
| _; S;R'Edn^ik | |||
| _( nav;as | |||
| _) pOnav;'aS;E | |||
| _[ n,av;as||kvadRat'Ovy | |||
| _] pRavy||n,av;as||kvadRat'Ovy | |||
| _{ n,av;as||klamROvy | |||
| _} pRavy||n,av;as||klamR'Ovy | |||
| _' ap'OstROf | |||
| . kR'Opka | |||
| ~ t'ylda | |||
| = R'uvna||S;E | |||
| / slES | |||
| * gv;'astka | |||
| \ b'EkslES | |||
| | kR,Eska||p;On'Ova | |||
| # haS | |||
| _$ d'OlaR | |||
| % pR'OtsEnt | |||
| ^ d'aSEk // what's be better? | |||
| & and | |||
| ` 'aktsEnt | |||
| @ m'awpa | |||
| + plus | |||
| // other characters | |||
| ˘ bR'Evis | |||
| ¤ val'uta | |||
| § paR'agRaf | |||
| ¨ 'umlawt | |||
| ° st'Op;En^ | |||
| ˛ Og'OnEk | |||
| ´ ,OstRy_'aktsEnt | |||
| ˇ k'aROn | |||
| ¸ tsEd;'illa | |||
| ˝ x,uNgaR'umlawt | |||
| × R'azy | |||
| ÷ dz;El'En^;E | |||
| ˙ g'uRna_kR'Opka | |||
| ¯ nadkRES;l'En^E | |||
| ² kv'adRat | |||
| ³ S'ES;tS;an | |||
| ¼ jEdnatSf'aRta | |||
| ½ jEdnadR'uga | |||
| ¾ t||SytSf'aRtE | |||
| ¹ jEdEng'uRnE | |||
| ™ tR'EjdmaRk | |||
| ± plusm'inus | |||
| £ funt | |||
| ® zastSEZ'Ony | |||
| ¡ OdvR,Otny||vykS'ykn^ik | |||
| ¢ tsEnt | |||
| ¥ jEn | |||
| « fRants,usci||tsudz'yswuf | |||
| ¬ nEg'atsja | |||
| » pR'avy||fRants,usci||tsudz'yswuf | |||
| ¶ ak'apit | |||
| ¿ OdvR,Otny||pytajn^ik | |||
| // screenreadery | |||
| nvda EnfawdE'a $abbrev | |||
| orca O*ka | |||
| orca ORka | |||
| jaws dZ'Ews $abbrev | |||
| // komputery, komputery | |||
| @@ -247,8 +248,8 @@ load lOwd | |||
| office Ofis | |||
| play plEj | |||
| scane skan | |||
| (screen reader) sk@-*in*'idEr | |||
| (sound juicer) sawnd||dZ'usE* | |||
| (screen reader) skRinR'idEr | |||
| (sound juicer) sawnd||dZ'usER | |||
| thunderbird $1 | |||
| view v;u | |||
| (e mail) imEjl | |||
| @@ -262,12 +263,12 @@ view v;u | |||
| (e mailowe) imEjlOvE | |||
| delete dil'Ejt | |||
| eject iZ'Ekt | |||
| forward fO*wE*d | |||
| backward bEkwE*d | |||
| forward fORwERd | |||
| backward bEkwERd | |||
| device div'ajs | |||
| devices divajsis | |||
| usb uEsb'E $abbrev | |||
| url uE*'El $abbrev | |||
| url uER'El $abbrev | |||
| drive drajv | |||
| scsi sk'azi $abbrev | |||
| hda $abbrev | |||
| @@ -275,8 +276,8 @@ sda $abbrev | |||
| dvd divid'i $abbrev | |||
| sh Es'xa $abbrev | |||
| ascii 'askEj $abbrev | |||
| ctrl k'Ont@-*Ol $abbrev | |||
| right *ajt $abbrev | |||
| ctrl k'OntROl $abbrev | |||
| right Rajt $abbrev | |||
| // nazwy własne akcentowanie - wymowa w regułkach | |||
| // todo: more! | |||
| @@ -305,29 +306,29 @@ microsoft $1 | |||
| andrew Endrju // nieodmienne | |||
| chihuahua tSiwawa | |||
| francisco f@-*ansiskO | |||
| francisco fRansiskO | |||
| josé hOz'E | |||
| jose hOz'E | |||
| jake dZEjk | |||
| jersey dZE*zi | |||
| jersey dZERzi | |||
| miami maj'ami | |||
| janet dZanEt // żeńskie nie kończące się na a | |||
| jane dZEjn | |||
| alice Elis | |||
| circe ki*kE | |||
| maureen mO*'in | |||
| circe kiRkE | |||
| maureen mOR'in | |||
| jackie dZEki | |||
| jacqueline Zakl'in | |||
| janice dZEn^is | |||
| jeanette Zan'Et | |||
| george dZOrdZ // i męskie zakończone samogłoską odmieniane przez apostrof | |||
| maurice mO*is | |||
| maurice mORis | |||
| anthony EntOn | |||
| anthony EntOny $1 $only | |||
| jerry dZE* | |||
| jerry dZE*y $only | |||
| jerry dZER | |||
| jerry dZERy $only | |||
| // some exceptions - dawać więcej! | |||
| @@ -508,26 +509,26 @@ proc pr'OtsEnt $dot | |||
| //dr, mgr and so... | |||
| dr d'OktO* $dot | |||
| mgr mag'istE* $dot | |||
| dr d'OktOR $dot | |||
| mgr mag'istER $dot | |||
| doc d'OtsEnt $dot | |||
| prof p*Of'EsO* $dot | |||
| prof pROf'EsOR $dot | |||
| hab habilitOv'any $dot | |||
| inż inZ'yn^E* $dot | |||
| inż inZ'yn^ER $dot | |||
| mec mEtsEnas $dot | |||
| //ks kS;Onts $dot | |||
| //bp biskup $dot | |||
| //bpa biskupa | |||
| //hr h@-*ab;ja $dot | |||
| //hr hRab;ja $dot | |||
| //gen gEnE*aw $dot | |||
| //gen gEnERaw $dot | |||
| płk puwk'Ovnik $dot // declinated forms in pl_rules | |||
| ppłk pOtpuwk'Ovnik $dot | |||
| mjr m'ajO* $dot | |||
| mjr m'ajOR $dot | |||
| kpt kap'itan $dot | |||
| //por pO*'utSn^ik $dot | |||
| ppor pOdpO*'utSn^ik $dot | |||
| kpr kap*al $dot | |||
| //por pOR'utSn^ik $dot | |||
| ppor pOdpOR'utSn^ik $dot | |||
| kpr kapRal $dot | |||
| // abbr | |||
| @@ -537,7 +538,7 @@ usg u_Esg;'E $abbrev | |||
| tzn tO||znatSy $dot | |||
| itd i||tak||dalEj $dot | |||
| itp i||tEmu||pOdObnE $dot | |||
| etc Ets'EtE*a $dot | |||
| etc Ets'EtERa $dot | |||
| św S;v;Enty $dot | |||
| śp S;v;EntEj||pam;En^ts;i $dot | |||
| @@ -547,7 +548,7 @@ ok Ok'Ej $allcaps | |||
| np napS'ykwad $dot | |||
| tys tyS;E~tsy $dot | |||
| mln miljOnuf | |||
| mld milja*duf | |||
| mld miljaRduf | |||
| //popularne zagraniczniaki nieodmienne (no, prawie) | |||
| (ad hoc) adh'Ok | |||
| @@ -555,24 +556,24 @@ adieu adj'E | |||
| (ad oculos) ad'OkulOs | |||
| angelica angElika $2 | |||
| (carte blanche) ka*tbl'anS | |||
| (carte blanche) kaRtbl'anS | |||
| challenge tSElEndZ | |||
| chanson SansO~ $2 | |||
| (chargé d'affaires) Sa*ZEdafE* $4 | |||
| (charge d'affaires) Sa*ZEdafE* $4 | |||
| charmant Sa*man $2 | |||
| charme Sa*m | |||
| charmeur Sa*mE* $2 | |||
| charmeuse Sa*mEz $2 | |||
| (chargé d'affaires) SaRZEdafER $4 | |||
| (charge d'affaires) SaRZEdafER $4 | |||
| charmant SaRman $2 | |||
| charme SaRm | |||
| charmeur SaRmER $2 | |||
| charmeuse SaRmEz $2 | |||
| chippendale tSipEndEjl | |||
| chippendale tSipEndEjl $1 $only | |||
| (chow chow) tSawtSau $2 | |||
| ciao tSjaw | |||
| (cicer cum caule) ts,itsE*kumk'awlE | |||
| (cicer cum caule) ts,itsERkumk'awlE | |||
| (ci devant) sidEv'aN | |||
| cinquecento tSinkwEtSEntO | |||
| circa tsi*ka | |||
| (cis dur) tsisd'u* | |||
| circa tsiRka | |||
| (cis dur) tsisd'uR | |||
| (cis moll) tsism'Ol | |||
| cito tsitO | |||
| city tsity | |||
| @@ -585,58 +586,58 @@ collège kOlEZ $2 //fr | |||
| comte kO~t | |||
| comtesse kO~t'Es | |||
| con kOn | |||
| concierge kOnsj'E*Z | |||
| concierge kOnsj'ERZ | |||
| cool kul | |||
| copyright k'Opy*ajt | |||
| (cosa nostra) k,Ozan'Ost@-*a | |||
| copyright k'OpyRajt | |||
| (cosa nostra) k,Ozan'OstRa | |||
| cottage kOtydZ | |||
| coupé kup'E | |||
| coupe kup'E | |||
| country kant@-*y | |||
| country kantRy | |||
| cubiculum kub'ikulum | |||
| culpa kulpa | |||
| curriculum ku*'ikulum | |||
| curriculum kuR'ikulum | |||
| d'amour damu* $2 | |||
| d'amour damuR $2 | |||
| (de facto) dEfaktO | |||
| (de iure) dEju*E | |||
| (de iure) dEjuRE | |||
| (déjà vu) dEZav'i | |||
| (déjà vue) dEZav'i | |||
| (deja vu) dEZav'i | |||
| (deja vue) dEZav'i | |||
| dell'arte dEl'a* | |||
| del'arte dEl'a* | |||
| (dies irae) d;'ijEs'i*E | |||
| dell'arte dEl'aR | |||
| del'arte dEl'aR | |||
| (dies irae) d;'ijEs'iRE | |||
| dinghy d;iNgi | |||
| faciendi fasjEndi | |||
| foyer fuaj'E | |||
| gentleman $1 | |||
| graecas g@-*Ekas | |||
| graecas gREkas | |||
| monsieur mEsj'E | |||
| madame mad'am | |||
| mademoiselle madmuaz'El | |||
| (maitré d'hotel) mEt*EdOt'El | |||
| (maitre d'hotel) mEt*EdOt'El | |||
| (maitré d'hotel) mEtREdOt'El | |||
| (maitre d'hotel) mEtREdOt'El | |||
| mlle madmuaz'El | |||
| (mon ami) mOnami $3 | |||
| (mon cher) mO~SE* $2 | |||
| (mon cher) mO~SER $2 | |||
| new n^;u | |||
| out awt | |||
| poirot puwa*'O // odmieniony w regułkach | |||
| poirot puwaR'O // odmieniony w regułkach | |||
| (qui pro quo) kvip*OkvO $3 | |||
| (qui pro quo) kvipROkvO $3 | |||
| rock rOk | |||
| sir sE* | |||
| sire si* | |||
| street st@-*it | |||
| sir sER | |||
| sire siR | |||
| street stRit | |||
| (va banque) vab'aNk | |||
| variétés varjEtE $3 | |||
| @@ -652,12 +653,12 @@ von fOn | |||
| voodoo vudu | |||
| // kuchnia, kuchnia, jeść nam się chce! | |||
| //ragout *ag'u // przen. do rules | |||
| //ragout Rag'u // przen. do rules | |||
| fondue fO~d'i | |||
| beaujolais bOZOl'E | |||
| boeuf bEf | |||
| cabernet kabE*n'E | |||
| camembert kamEmb'E* | |||
| cabernet kabERn'E | |||
| camembert kamEmb'ER | |||
| café kafE $2 | |||
| cafe kafE $2 | |||
| chablis Sabli $2 | |||
| @@ -670,12 +671,12 @@ chilli tSili | |||
| coca kOka | |||
| cola kOla | |||
| coleslaw kOlEslOw | |||
| croissant k@-*uas'aN | |||
| cumberland k'ambE*lEnd | |||
| (cura çao) ki*asaO | |||
| curaçao ki*asaO | |||
| curacao ki*asaO | |||
| curry ka*y | |||
| croissant kRuas'aN | |||
| cumberland k'ambERlEnd | |||
| (cura çao) kiRasaO | |||
| curaçao kiRasaO | |||
| curacao kiRasaO | |||
| curry kaRy | |||
| (de la maison) dElamEz'O~ | |||
| (de volaille) dEvOl'aj | |||
| (a la) al'a | |||
| @@ -35,10 +35,10 @@ | |||
| C) ai (r E | |||
| _alt) ai (r ai | |||
| _k) ai (r ai | |||
| _) archie E*tSi | |||
| _) archie (C E*tS|;E | |||
| _) archie ERtSi | |||
| _) archie (C ERtS|;E | |||
| acku (p Eka | |||
| _) arcy (@P4t a*tsy | |||
| _) arcy (@P4t aRtsy | |||
| @ł) a (by_ =a | |||
| @ł) a (bym_ =a | |||
| @@ -74,7 +74,7 @@ | |||
| b b | |||
| ja) bł (kA p | |||
| b (_A p | |||
| b (_ p | |||
| b (i b; | |||
| bi (A b;j | |||
| @@ -179,7 +179,7 @@ | |||
| _) challeng (er tSElEndZ | |||
| cha (mpi tZE | |||
| chan (nel tSa | |||
| _) charle (s tSa*ls | |||
| _) charle (s tSaRls | |||
| _) chie (f tSi | |||
| _) ch (ip tS | |||
| _) chippendal (A tSipEndEjl | |||
| @@ -202,16 +202,16 @@ | |||
| _) c (ominu ts | |||
| _) conc (ert kOntS | |||
| _) c (onC k | |||
| _) copywri (t kOpy*aj | |||
| _) copywri (t kOpyRaj | |||
| _) c (orC k | |||
| _) c (owbo k | |||
| crack k@-*ak | |||
| _) croiss k@-*ruas | |||
| crack kRak | |||
| _) croiss kRruas | |||
| _) c (r k | |||
| _) c (umul k | |||
| _) curie ki*i | |||
| _) curie kiRi | |||
| _) cu (rli kE | |||
| cresc (end k@-*EStS | |||
| cresc (end kREStS | |||
| _) c (aps_ k | |||
| _) c (apslo k | |||
| @@ -219,7 +219,7 @@ | |||
| lo) ck (u_ k | |||
| lo) ck (iem_ k | |||
| lo) ck (a_ k | |||
| _s) creenrea (d k@-*in*i | |||
| _s) creenrea (d kRinRi | |||
| .group ć | |||
| ć ts; | |||
| @@ -228,21 +228,21 @@ | |||
| .group d | |||
| d d | |||
| d (_A t | |||
| d (_ t | |||
| d (i d; | |||
| di (A dj | |||
| dies (lA d;iz | |||
| dies (el d;iz | |||
| dz dz | |||
| dz (_A ts | |||
| dz (_ ts | |||
| dz (i dz; | |||
| dzi (A dz; | |||
| _na) dzi (em d|Z; | |||
| _po) dzi (em d|Z; | |||
| dź dz; | |||
| dź (_A ts; | |||
| dź (_ ts; | |||
| dż dZ | |||
| dż (_A tS | |||
| dż (_ tS | |||
| _o) dż d|Z | |||
| _po) dż d|Z | |||
| @@ -312,17 +312,16 @@ | |||
| g g | |||
| g (i g; | |||
| hi) gi (e gj | |||
| g (_A k | |||
| gł (_ g | |||
| gł (_A k | |||
| g (_ k | |||
| gł (_ gw | |||
| gh g | |||
| gate (s gEjt | |||
| _) gentleman dZEntElmEn | |||
| _) georgi (o_ dZO*dZj | |||
| _) georgi (ą_ dZO*dZj | |||
| _) georgi (ę_ dZO*dZj | |||
| _) georgi (i_ dZO*dZj | |||
| _) georgi (a_ dZO*dZj | |||
| _) georgi (o_ dZORdZj | |||
| _) georgi (ą_ dZORdZj | |||
| _) georgi (ę_ dZORdZj | |||
| _) georgi (i_ dZORdZj | |||
| _) georgi (a_ dZORdZj | |||
| .group h | |||
| h x | |||
| @@ -338,8 +337,8 @@ | |||
| _kl) i (e ;ij | |||
| żm) ii (_ iji | |||
| rak) ii (_ iji | |||
| _f) ire (fox_ 'ajE* | |||
| _f) ire (fo ajE* | |||
| _f) ire (fox_ 'ajER | |||
| _f) ire (fo ajER | |||
| _m) ic (ro ajk | |||
| C) ie (_ ;E# | |||
| @@ -460,6 +459,7 @@ | |||
| .group j | |||
| jazz dZEz | |||
| jazz (_ dZEs | |||
| j j | |||
| _) james dZEjms | |||
| @@ -480,7 +480,7 @@ | |||
| .group k | |||
| k k | |||
| // k (i c | |||
| kł (_ k | |||
| kł (_ kw | |||
| // ki (A kj | |||
| _) klow (n klaw | |||
| @@ -570,32 +570,33 @@ | |||
| qu (A kv | |||
| .group r | |||
| r * | |||
| A_) r (A * | |||
| K) r (A @-* | |||
| ri (A *j | |||
| A) rr (A * | |||
| r R | |||
| A_) r (A R | |||
| K) r (A R | |||
| ri (A Rj | |||
| A) rr (A R | |||
| rz Z | |||
| rz (and *ts | |||
| _mu) rz (asichl *z | |||
| _mu) rz (o_+++ *z | |||
| _mu) rz (owie_+++ *z | |||
| _mu) rz (ą_+++ *z | |||
| _mu) rz (y_+++ *z | |||
| _mu) rz (ę_+++ *z | |||
| _mu) rz (a_+++ *z | |||
| _mu) rz (ów_+++ *z | |||
| _mu) rz (ami_+++ *z | |||
| _mu) rz (ach_+++ *z | |||
| _mi) rz (o_+++ *z | |||
| _mi) rz (owie_+++ *z | |||
| _mi) rz (ą_+++ *z | |||
| _mi) rz (y_+++ *z | |||
| _mi) rz (ę_+++ *z | |||
| _mi) rz (a_+++ *z | |||
| _mi) rz (ów_+++ *z | |||
| _mi) rz (ami_+++ *z | |||
| _mi) rz (ach_+++ *z | |||
| rz (_ S | |||
| rz (and Rts | |||
| _mu) rz (asichl Rz | |||
| _mu) rz (o_+++ Rz | |||
| _mu) rz (owie_+++ Rz | |||
| _mu) rz (ą_+++ Rz | |||
| _mu) rz (y_+++ Rz | |||
| _mu) rz (ę_+++ Rz | |||
| _mu) rz (a_+++ Rz | |||
| _mu) rz (ów_+++ Rz | |||
| _mu) rz (ami_+++ Rz | |||
| _mu) rz (ach_+++ Rz | |||
| _mi) rz (o_+++ Rz | |||
| _mi) rz (owie_+++ Rz | |||
| _mi) rz (ą_+++ Rz | |||
| _mi) rz (y_+++ Rz | |||
| _mi) rz (ę_+++ Rz | |||
| _mi) rz (a_+++ Rz | |||
| _mi) rz (ów_+++ Rz | |||
| _mi) rz (ami_+++ Rz | |||
| _mi) rz (ach_+++ Rz | |||
| c) rz (A S | |||
| ć) rz (A S | |||
| cz) rz (A S | |||
| @@ -607,28 +608,28 @@ | |||
| ś) rz (A S | |||
| sz) rz (A S | |||
| t) rz S | |||
| rz (ini_ *ts | |||
| rz (inim_ *ts | |||
| rz (inimi_ *ts | |||
| rz (inich_ *ts | |||
| rz (iniemu_ *ts | |||
| rz (iniego_ *ts | |||
| rz (oni_ *ts | |||
| rz (onim_ *ts | |||
| rz (onimi_ *ts | |||
| rz (onich_ *ts | |||
| rz (oniemu_ *ts | |||
| rz (oniego_ *ts | |||
| r (zi * | |||
| A) r (zł * | |||
| ma) r (zn * | |||
| ma) r (zlin * | |||
| _zama) r (za * | |||
| _zma) r (za * | |||
| odma) r (za * | |||
| _bo) r (zoj * | |||
| ry' (e * | |||
| rz (ini_ Rts | |||
| rz (inim_ Rts | |||
| rz (inimi_ Rts | |||
| rz (inich_ Rts | |||
| rz (iniemu_ Rts | |||
| rz (iniego_ Rts | |||
| rz (oni_ Rts | |||
| rz (onim_ Rts | |||
| rz (onimi_ Rts | |||
| rz (onich_ Rts | |||
| rz (oniemu_ Rts | |||
| rz (oniego_ Rts | |||
| r (zi R | |||
| A) r (zł R | |||
| ma) r (zn R | |||
| ma) r (zlin R | |||
| _zama) r (za R | |||
| _zma) r (za R | |||
| odma) r (za R | |||
| _bo) r (zoj R | |||
| ry' (e R | |||
| .group s | |||
| @) son (_S3t sOn | |||
| @@ -694,7 +695,7 @@ | |||
| skj (A S | |||
| scherz skE*ts | |||
| scherz skERts | |||
| sch (ą sx | |||
| sch (ę sx | |||
| pa) sch (a sx | |||
| @@ -776,7 +777,7 @@ | |||
| _) sch (lebi sx | |||
| _) sch (etyn sx | |||
| schwarz Sva*ts | |||
| schwarz SvaRts | |||
| schoe SE | |||
| sch S | |||
| @@ -833,11 +834,21 @@ | |||
| w v | |||
| w (sk _v | |||
| ier) wsz (A S | |||
| w (_A f | |||
| w (_ f | |||
| c) w (A f | |||
| ć) w (A f | |||
| cz) w (A f | |||
| _) w (_c f | |||
| _) w (_f wE | |||
| _) w (_h f | |||
| _) w (_k f | |||
| _) w (_p f | |||
| _) w (_s f | |||
| _) w (_t f | |||
| _) w (_mn wE // 'w' should be written 'we' before 'mn', but not always | |||
| _) w (_ w | |||
| f) w (A f | |||
| h) w (A f | |||
| k) w (A f | |||
| @@ -850,8 +861,8 @@ | |||
| _) window wyndOw | |||
| wee (k wi | |||
| _) washi wOSi | |||
| wrigh *aj | |||
| C) wrigh @-*aj | |||
| wrigh Raj | |||
| C) wrigh Raj | |||
| .group x | |||
| x ks | |||
| @@ -951,7 +962,7 @@ | |||
| .group z | |||
| z z | |||
| z (_A s | |||
| z (_ s | |||
| z (i Z; | |||
| zi (A Z; | |||
| _) zi (p Z;i | |||
| @@ -960,9 +971,20 @@ | |||
| _nie) zi (C z_i | |||
| zi (C zi | |||
| _) z (_c s | |||
| _) z (_f s | |||
| _) z (_h s | |||
| _) z (_k s | |||
| _) z (_p s | |||
| _) z (_s s | |||
| _) z (_t s | |||
| _) z (_mn zE // 'z' should be written 'ze' before 'mn', but not always | |||
| _) z (_ z | |||
| mo) zi (ll zi | |||
| _ro) z (iC z | |||
| _) zuri (ch tsu*y | |||
| _) zuri (ch tsuRy | |||
| _) zz (a_ z_z | |||
| zz (ini_ ts | |||
| zz (inim_ ts | |||
| zz (inimi_ ts | |||
| @@ -999,22 +1021,22 @@ | |||
| .group ź | |||
| ź Z; | |||
| ź (_A S; | |||
| ź (_ S; | |||
| .group ż | |||
| ż Z | |||
| ż (_A S | |||
| ż (_ S | |||
| .group th | |||
| _e) th (anak t | |||
| _) the (_A zi | |||
| _) the (_ zE | |||
| _) the (_ dE | |||
| th s | |||
| th (ie_ s; | |||
| _) th t | |||
| thew sju | |||
| _) thank fENk | |||
| thew fju | |||
| _) thunderbi (rd fEndE*bE | |||
| _) thunderbi (rd fEndERbE | |||
| .group dg | |||
| _na) dg dg | |||
| @@ -1037,7 +1059,7 @@ | |||
| _dy) sh sx | |||
| _fi) sh (armon sx | |||
| sh S | |||
| shire SajE* | |||
| shire SajER | |||
| .group ph | |||
| ph f | |||
| @@ -1098,19 +1120,5 @@ | |||
| 'ego (_S4 EgO | |||
| 'emu (_S4 Emu | |||
| $ dOla* | |||
| @ mawpa | |||
| % p@-*OtsEnt | |||
| + plus | |||
| # haS | |||
| = *'uvna||S;E | |||
| / slES | |||
| \ bEkslES | |||
| * gv;astka | |||
| | k@-*Eska||p;OnOva | |||
| ^ d'aSEk | |||
| & and | |||
| ` aktsEnt | |||
| . k@-*Opka | |||
| , pSEts;inEk | |||
| $ dOlaR | |||
| @@ -15,7 +15,7 @@ _m em | |||
| n en | |||
| p pi | |||
| q kju | |||
| r ar | |||
| r aR | |||
| s es | |||
| t ti | |||
| v vi | |||
| @@ -28,7 +28,7 @@ z zedi | |||
| // numbers | |||
| _0 sif'u*i | |||
| _0 sif'uRi | |||
| _1 m'oJa | |||
| _2 _|mb'ili | |||
| _3 t'atu | |||
| @@ -39,9 +39,9 @@ _7 s'aba | |||
| _8 n'ane | |||
| _9 t'isa | |||
| _1X k'umi | |||
| _2X iSi*'ini | |||
| _2X iSiR'ini | |||
| _3X TeleT'ini | |||
| _4X a*oba'ini | |||
| _4X aRoba'ini | |||
| _5X hams'ini | |||
| _6X sit'ini | |||
| _7X sab'ini | |||
| @@ -84,10 +84,10 @@ | |||
| q k | |||
| .group r | |||
| r r | |||
| A) r (A * | |||
| r R | |||
| A) r (A R | |||
| C) r (A @-* | |||
| rr *r | |||
| rr RR | |||
| .group s | |||
| s s | |||
| @@ -22,18 +22,50 @@ x i3ts; | |||
| z zE3t | |||
| // numbers | |||
| _0 z'ez,o | |||
| _1 m'o6t[ | |||
| _2 h'a:I | |||
| _3 _b'a: | |||
| _4 _b'o3n | |||
| _5 n'am | |||
| _6 s'aU3 | |||
| _7 _b'aI4 | |||
| _8 t['a:3m | |||
| _9 ts;'i3n | |||
| _0 J'e1z.'o // dê-rô | |||
| _1 m'o6t[ // một | |||
| _2 h'a:I // hai | |||
| _3 _b'a: // ba | |||
| _4 _b'o3n // bốn | |||
| _5 n'am // năm | |||
| _6 s.'aU3 // sáu | |||
| _7 _b'aI4 // bảy | |||
| _8 t['a:3m // tám | |||
| _9 c'i3n // chín | |||
| _1X m'y@2j // mười | |||
| _2X h'a:I||m'y@2j // hai mười | |||
| _3X _b'a:||m'y@2j // ba mười | |||
| _4X _b'o3n||m'y@2j // bốn mười | |||
| _5X n'am||m'y@2j // năm mười | |||
| _6X s.'aU3||m'y@2j // sáu mười | |||
| _7X _b'aI4||m'y@2j // bảy mười | |||
| _8X t['a:3m||m'y@2j // tám mười | |||
| _9X c'i3n||m'y@2j // chín mười | |||
| _21 h'a:I||m'y@2j||m'o3t[ | |||
| _31 _b'a:||m'y@2j||m'o3t[ | |||
| _41 _b'o3n||m'y@2j||m'o3t[ | |||
| _51 n'am||m'y@2j||m'o3t[ | |||
| _61 s.'aU3||m'y@2j||m'o3t[ | |||
| _71 _b'aI4||m'y@2j||m'o3t[ | |||
| _81 t['a:3m||m'y@2j||m'o3t[ | |||
| _91 c'i3n||m'y@2j||m'o3t[ | |||
| _25 h'a:I||m'y@2j||l'a7m | |||
| _35 _b'a:||m'y@2j||l'a7m | |||
| _45 _b'o3n||m'y@2j||l'a7m | |||
| _55 n'am||m'y@2j||l'a7m | |||
| _65 s.'aU3||m'y@2j||l'a7m | |||
| _75 _b'aI4||m'y@2j||l'a7m | |||
| _85 t['a:3m||m'y@2j||l'a7m | |||
| _95 c'i3n||m'y@2j||l'a7m | |||
| _0C cr'am // trăm | |||
| _0M1 N'a:2n // ngàn | |||
| _0M2 cr'i@6w // triệu | |||
| _0M3 t['i4 // tỷ | |||
| _0and l,in^ // linh | |||
| // symbols | |||
| @@ -75,6 +75,101 @@ ỹ ỹ | |||
| ỵ ỵ | |||
| //================================ | |||
| // Consonants | |||
| //================================ | |||
| .group b | |||
| b b | |||
| _) b _b | |||
| .group c | |||
| c k | |||
| c (_ kh | |||
| ch c // try [tS;] [tS] [c] | |||
| .group d | |||
| d J // try [z] [J] [dZ] [dZ;] [J^] | |||
| .group đ | |||
| đ d | |||
| _) đ _d | |||
| .group f | |||
| f f | |||
| .group g | |||
| g Q // try [g] [Q] | |||
| gh Q // or [g] [Q] | |||
| gi D // try [D] [z] [j] [J^] [z;] [J] [dZ] | |||
| .group h | |||
| h h | |||
| .group j | |||
| j Z | |||
| .group k | |||
| k k | |||
| k (_ kh | |||
| kh x | |||
| .group l | |||
| l l | |||
| .group m | |||
| m m | |||
| .group n | |||
| n n | |||
| ng N | |||
| ngh N | |||
| nh n^ | |||
| .group ñ | |||
| ñ n^ | |||
| .group p | |||
| p p | |||
| ph f | |||
| .group q | |||
| q k | |||
| q (_ kh | |||
| qu kw | |||
| .group r | |||
| r z. // try [z] [z.] [r] [z;] | |||
| .group s | |||
| s s. // try [s.] [s] [S] | |||
| .group t | |||
| t t[ | |||
| th t | |||
| tr cr // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;] | |||
| .group v | |||
| v v | |||
| .group w | |||
| w w | |||
| .group x | |||
| x s | |||
| .group z | |||
| z z | |||
| //================================ | |||
| // Vowels | |||
| //================================ | |||
| .group a | |||
| a a: | |||
| ai a:I | |||
| @@ -187,24 +282,6 @@ ỵ ỵ | |||
| ậy @I6 | |||
| ậu @U6 | |||
| //================================ | |||
| .group b | |||
| b b | |||
| _) b _b | |||
| .group c | |||
| c k | |||
| c (_ kh | |||
| ch c // try [ts;] [tS] [c] [dZ] [dz;] | |||
| .group d | |||
| d z | |||
| .group đ | |||
| đ d | |||
| _) đ _d | |||
| //=========================== | |||
| .group e | |||
| e E | |||
| @@ -261,20 +338,6 @@ ỵ ỵ | |||
| ệ e6 | |||
| ệu eU6 | |||
| //============================ | |||
| .group f | |||
| f f | |||
| .group g | |||
| g Q // try [g] [Q] | |||
| gh Q // or [g] [Q] | |||
| gi D // ??? [dZ] | |||
| .group h | |||
| h h | |||
| //============================ | |||
| .group i | |||
| @@ -331,30 +394,6 @@ ỵ ỵ | |||
| ịu iU6 | |||
| //============================= | |||
| .group j | |||
| j Z | |||
| .group k | |||
| k k | |||
| k (_ kh | |||
| kh x | |||
| .group l | |||
| l l | |||
| .group m | |||
| m m | |||
| .group n | |||
| n n | |||
| ng N | |||
| ngh N | |||
| nh n^ | |||
| .group ñ | |||
| ñ n^ | |||
| //========================= | |||
| .group o | |||
| @@ -452,31 +491,12 @@ ỵ ỵ | |||
| ợu @:U6 | |||
| //============================ | |||
| .group p | |||
| p p | |||
| ph f | |||
| .group q | |||
| q k | |||
| q (_ kh | |||
| qu kw | |||
| .group r | |||
| r z; | |||
| .group s | |||
| s s | |||
| .group t | |||
| t t[ | |||
| th t | |||
| tr c // try [ts;] [tS] [c] [dZ] [dz;] | |||
| //============================= | |||
| .group u | |||
| u u | |||
| u (A w | |||
| A) u w | |||
| ui uI | |||
| uì uI2 | |||
| uí uI3 | |||
| @@ -588,15 +608,6 @@ ỵ ỵ | |||
| ựu yw6 | |||
| //============================= | |||
| .group v | |||
| v v | |||
| .group w | |||
| w w | |||
| .group x | |||
| x s | |||
| .group y | |||
| y i | |||
| @@ -641,9 +652,6 @@ ỵ ỵ | |||
| ỵa i@6 | |||
| .group z | |||
| z z | |||
| .group | |||
| $ d'o||l'a | |||
| % f'@2n||tS;'am | |||
| @@ -1,65 +1,66 @@ | |||
| 60 phoneme tables | |||
| 61 phoneme tables | |||
| new total | |||
| base 101 101 | |||
| base2 24 120 | |||
| en 51 147 | |||
| en_n 31 147 | |||
| en_us 36 148 | |||
| en_sc 39 149 | |||
| en_rp 34 147 | |||
| en_wm 30 147 | |||
| en_wi 30 147 | |||
| af 39 133 | |||
| cy 29 127 | |||
| de 33 128 | |||
| eo 13 113 | |||
| jbo 4 114 | |||
| fi 40 132 | |||
| fr 54 138 | |||
| fr_ca 11 138 | |||
| hi 52 139 | |||
| ta 17 142 | |||
| hu 23 117 | |||
| lv 28 123 | |||
| nl 28 124 | |||
| pl 18 114 | |||
| sk 29 132 | |||
| cs 6 132 | |||
| hr 26 137 | |||
| mk 3 138 | |||
| sr 14 137 | |||
| ru 39 132 | |||
| it 17 123 | |||
| la 21 119 | |||
| es 9 121 | |||
| es_la 1 121 | |||
| ca 9 122 | |||
| pt 28 137 | |||
| pt_pt 20 137 | |||
| ro 36 144 | |||
| el 8 120 | |||
| grc 12 125 | |||
| sv 25 123 | |||
| no 28 127 | |||
| is 33 127 | |||
| vi 42 139 | |||
| zhy 40 134 | |||
| zh 65 151 | |||
| sw 14 110 | |||
| tr 18 125 | |||
| ku 18 125 | |||
| id 15 122 | |||
| rw 15 127 | |||
| ko 18 149 | |||
| da 15 131 | |||
| sq 24 129 | |||
| ml 13 141 | |||
| kn 15 141 | |||
| bn 59 147 | |||
| ne 23 151 | |||
| hy 17 115 | |||
| om 21 121 | |||
| en_klatt 77 147 | |||
| base 103 103 | |||
| base2 24 122 | |||
| en 51 149 | |||
| en_n 31 149 | |||
| en_us 36 150 | |||
| en_sc 39 151 | |||
| en_rp 34 149 | |||
| en_wm 30 149 | |||
| en_wi 30 149 | |||
| af 39 135 | |||
| cy 29 129 | |||
| de 33 130 | |||
| eo 13 115 | |||
| jbo 4 116 | |||
| fi 40 134 | |||
| fr 54 140 | |||
| fr_ca 11 140 | |||
| hi 59 148 | |||
| ta 17 151 | |||
| hu 23 119 | |||
| lv 28 125 | |||
| nl 28 126 | |||
| pl 19 116 | |||
| sk 28 134 | |||
| cs 6 134 | |||
| hr 26 139 | |||
| mk 3 140 | |||
| sr 14 139 | |||
| ru 39 134 | |||
| it 17 125 | |||
| la 21 121 | |||
| es 9 123 | |||
| es_la 1 123 | |||
| ca 9 124 | |||
| pt 28 139 | |||
| pt_pt 20 139 | |||
| ro 36 146 | |||
| el 8 122 | |||
| grc 12 127 | |||
| sv 25 125 | |||
| no 28 129 | |||
| is 33 129 | |||
| vi 42 140 | |||
| zhy 40 136 | |||
| zh 65 153 | |||
| sw 14 112 | |||
| tr 18 127 | |||
| ku 18 127 | |||
| id 15 124 | |||
| rw 15 129 | |||
| ko 18 158 | |||
| da 15 133 | |||
| sq 31 127 | |||
| ml 13 150 | |||
| kn 15 150 | |||
| bn 59 153 | |||
| ne 18 156 | |||
| hy 16 116 | |||
| om 25 125 | |||
| en_klatt 77 149 | |||
| ga 18 117 | |||
| Data file Used by | |||
| b/b [b] base | |||
| @@ -96,6 +97,7 @@ b/bu [b] base | |||
| b/xb [b] base | |||
| [b] fr | |||
| [b] hi | |||
| [bh] hi | |||
| [b] bn | |||
| d/d [d] base | |||
| [d[] base | |||
| @@ -116,6 +118,8 @@ d/d [d] base | |||
| [d] id | |||
| [d] bn | |||
| [d.] bn | |||
| [d`] om | |||
| [d[] ga | |||
| d/d_ [d] base | |||
| [d[] base | |||
| [d] base2 | |||
| @@ -135,6 +139,8 @@ d/d_ [d] base | |||
| [d] id | |||
| [d] bn | |||
| [d.] bn | |||
| [d`] om | |||
| [d[] ga | |||
| d/d_dnt [d] sr | |||
| d/dr [*] base | |||
| [d] base | |||
| @@ -156,6 +162,7 @@ d/dr [*] base | |||
| [d] id | |||
| [d] bn | |||
| [d.] bn | |||
| [d[] ga | |||
| d/tap [*;] ro | |||
| d/tap1 [*] base | |||
| d/tap2 [t#] en_us | |||
| @@ -169,6 +176,7 @@ d/xd [d] base | |||
| [d] fr | |||
| [d] hi | |||
| [d.] hi | |||
| [dh] hi | |||
| [d] hu | |||
| [d] pl | |||
| [d] hr | |||
| @@ -179,6 +187,9 @@ d/xd [d] base | |||
| [d] id | |||
| [d] bn | |||
| [d.] bn | |||
| [d[] ga | |||
| d/xd2 [d`] om | |||
| d/xd3 [dh] hi | |||
| d/xd_pzd [d;] pl | |||
| [d;] ru | |||
| d/x_tap [t#] en_us | |||
| @@ -224,8 +235,9 @@ dzh/xdz_pzd [J] base | |||
| [J2] bn | |||
| envelope/i_risefall [11] zh | |||
| envelope/i_risefall2 [+2] rw | |||
| envelope/p_214 [214] zh | |||
| envelope/p_512 [8] vi | |||
| envelope/p_214 [5] vi | |||
| [214] zh | |||
| envelope/p_512 [6] vi | |||
| envelope/p_fall [2] vi | |||
| [7] vi | |||
| [1] zhy | |||
| @@ -246,14 +258,13 @@ envelope/p_rise [3] vi | |||
| [5] zhy | |||
| [44] zh | |||
| [35] zh | |||
| envelope/vi_5 [5] vi | |||
| envelope/vi_5amp [5] vi | |||
| envelope/vi_6 [6] vi | |||
| envelope/vi_6amp [6] vi | |||
| g2/g [g-] base | |||
| g2/g_ [g-] base | |||
| g2/xg [g-] base | |||
| [g] hi | |||
| [gh] hi | |||
| [g] bn | |||
| g/g [g] base | |||
| [g] cy | |||
| @@ -294,7 +305,6 @@ h/ha [h] base | |||
| [<h>] la | |||
| [H] bn | |||
| [h] bn | |||
| [a#] om | |||
| h/he [h] base | |||
| [h] fi | |||
| [H] hi | |||
| @@ -662,6 +672,7 @@ l/l_u [(u)] base | |||
| [u] fr | |||
| [u:] fr | |||
| [(u)] en_klatt | |||
| l/l_vi [l] vi | |||
| l/l_y [y] fr | |||
| l/tl [l] base | |||
| [l] en | |||
| @@ -796,7 +807,7 @@ r3/r_trill [R2] base | |||
| [r] af | |||
| [R2] lv | |||
| [r] nl | |||
| [R] sk | |||
| [R] pl | |||
| [r*] sr | |||
| [x] pt | |||
| r3/r_trill2 [R] base | |||
| @@ -810,13 +821,13 @@ r3/r_trill3.wav [R3] base | |||
| [r] nl | |||
| r3/r_trill.wav [R2] base | |||
| [R2] lv | |||
| [R] sk | |||
| [R] pl | |||
| [r*] sr | |||
| [x] pt | |||
| r3/r_u [(u)] base | |||
| [(u)] en_klatt | |||
| r3/r_ulv [r"] hy | |||
| r3/r_uvl [r"] hy | |||
| r3/r_ulv [r"] base | |||
| r3/r_uvl [r"] base | |||
| r3/rx [*] base | |||
| [r/] base | |||
| [r/] af | |||
| @@ -941,6 +952,7 @@ ufric/s_ [s] base | |||
| [s#] pt | |||
| [z;] ro | |||
| [s2] is | |||
| [s2] om | |||
| [s] en_klatt | |||
| [z] en_klatt | |||
| ufric/s! [s] base | |||
| @@ -951,11 +963,13 @@ ufric/s! [s] base | |||
| [s] es | |||
| [s#] pt | |||
| [s2] is | |||
| [s2] om | |||
| [s] en_klatt | |||
| ufric/s_continue [s2] fi | |||
| [s2] hu | |||
| [s2] lv | |||
| [s2] is | |||
| [s2] om | |||
| ufric/sh [S] base | |||
| [S] fr | |||
| [s#] pt_pt | |||
| @@ -999,13 +1013,13 @@ ufric/x_hr [x] base | |||
| ufric/x_sr [h] sr | |||
| [x] sr | |||
| ufric/xx3 [X] base | |||
| [Q"] base | |||
| [Q] hy | |||
| ustop/c [c] base | |||
| ustop/c_ejc [c`] om | |||
| ustop/k [k] base | |||
| [k] en | |||
| [k] fr | |||
| [kh] hi | |||
| [k] zhy | |||
| [k] sw | |||
| [kh] bn | |||
| @@ -1014,7 +1028,6 @@ ustop/k_ [k] base | |||
| [k] en | |||
| [k] fi | |||
| [k] fr | |||
| [kh] hi | |||
| [k] hu | |||
| [k] lv | |||
| [k] sk | |||
| @@ -1023,6 +1036,8 @@ ustop/k_ [k] base | |||
| [k] sw | |||
| [k] sq | |||
| [kh] bn | |||
| ustop/k_asp [gh] hi | |||
| [kh] hi | |||
| ustop/k_ejc [k`] om | |||
| ustop/ki [c] base | |||
| [k] base | |||
| @@ -1083,7 +1098,6 @@ ustop/k_unasp [k] base | |||
| [k] bn | |||
| ustop/k_unasp_ [k] zh | |||
| ustop/null [?] base | |||
| [dh] om | |||
| ustop/p [p] base | |||
| [p] fr | |||
| [p2] fr | |||
| @@ -1096,7 +1110,8 @@ ustop/p_ [p] base | |||
| [ph] zh | |||
| [ph] bn | |||
| [ph] hy | |||
| ustop/p_asp [ph] hi | |||
| ustop/p_asp [bh] hi | |||
| [ph] hi | |||
| [ph] hy | |||
| ustop/p_ejc [p`] om | |||
| ustop/percus10 [(X1] base | |||
| @@ -1169,7 +1184,7 @@ ustop/t_ [t] base | |||
| [t] sk | |||
| [t] el | |||
| [th] zh | |||
| [t] sq | |||
| [t2] sq | |||
| [t.] bn | |||
| [t.h] bn | |||
| ustop/t_dnt [t] base | |||
| @@ -1178,6 +1193,7 @@ ustop/t_dnt [t] base | |||
| [t2] en | |||
| [t] fi | |||
| [t] hi | |||
| [dh] hi | |||
| [th] hi | |||
| [t] hu | |||
| [t] pl | |||
| @@ -1188,6 +1204,7 @@ ustop/t_dnt [t] base | |||
| [t] sw | |||
| [t`] ko | |||
| [t] bn | |||
| [t[] ga | |||
| ustop/t_dnt2 [t[] vi | |||
| ustop/t_ejc [t`] om | |||
| ustop/t_hi [t] hi | |||
| @@ -1210,6 +1227,7 @@ ustop/ts [ts] base2 | |||
| [ts;] ro | |||
| [z] zhy | |||
| [tsh] zh | |||
| [ts] sq | |||
| [ts] hy | |||
| ustop/ts_ [ts] base2 | |||
| [ts] de | |||
| @@ -1219,6 +1237,7 @@ ustop/ts_ [ts] base2 | |||
| [ts] pl | |||
| [ts] ru | |||
| [ts;] ro | |||
| [ts] sq | |||
| [ts] hy | |||
| ustop/ts2 [ts] lv | |||
| ustop/tsh [tS] base | |||
| @@ -1234,7 +1253,7 @@ ustop/t_short [t] fr | |||
| [t] lv | |||
| [t] sk | |||
| [t] el | |||
| [t] sq | |||
| [t2] sq | |||
| [t.] bn | |||
| ustop/tsh_pzd [tS;] zh | |||
| ustop/tsh_pzd_unasp [tS;] zh | |||
| @@ -1282,6 +1301,7 @@ vdiph2/eo [eo] ro | |||
| vdiph2/e[u [e[u] ro | |||
| vdiph2/i@ [i@] en_n | |||
| [i@] hy | |||
| [i@] ga | |||
| vdiph2/i@_2 [i@] en_wm | |||
| vdiph2/ie [i@] en_wi | |||
| [ie] fi | |||
| @@ -1306,7 +1326,7 @@ vdiph2/oa [Oa] ro | |||
| vdiph2/o_oo [o@] en_wi | |||
| [o] is | |||
| [o] zh | |||
| vdiph2/u-@ [y@] vi | |||
| vdiph2/u@ [u@] ga | |||
| vdiph2/u#@ [U@] en_sc | |||
| vdiph2/uaa [uo] lv | |||
| vdiph2/uo [uo] fi | |||
| @@ -1325,6 +1345,7 @@ vdiph2/ye [yE] sq | |||
| vdiph2/yu [yU] nl | |||
| [yu] zh | |||
| vdiph2/y-y# [yY] fi | |||
| [y@] vi | |||
| vdiph/8u [oU] en_us | |||
| [ou] zh | |||
| vdiph/aae [aI] en_us | |||
| @@ -1418,6 +1439,7 @@ vdiph/ei [eI] base2 | |||
| [eI] is | |||
| [eI] vi | |||
| [ei] zhy | |||
| [eI] sq | |||
| vdiph/eu [eU] base2 | |||
| [eU] en | |||
| [eU] cy | |||
| @@ -1428,6 +1450,9 @@ vdiph/eu [eU] base2 | |||
| [eU] vi | |||
| [eU] ne | |||
| vdiph/eu_2 [eu] fi | |||
| vdiph/@i [@I] vi | |||
| [@:I] vi | |||
| [@I] ga | |||
| vdiph/&i [&i] fi | |||
| [aI] hi | |||
| [aI] bn | |||
| @@ -1439,7 +1464,6 @@ vdiph/@i_3 [eI] en_wm | |||
| [@I] ro | |||
| [ai] zhy | |||
| vdiph/&i_3 [aI] vi | |||
| vdiph/@i_4 [@I] vi | |||
| vdiph/ii [iI] ro | |||
| vdiph/i#i [yI] ro | |||
| vdiph/oi [oI] base2 | |||
| @@ -1463,6 +1487,7 @@ vdiph/ooi_2 [OI] af | |||
| vdiph/ooi_3 [OI] en_rp | |||
| [aI] en_wm | |||
| vdiph/ooi_4 [OI] en_us | |||
| [OI] sq | |||
| vdiph/oou [oU] cs | |||
| [OU] grc | |||
| vdiph/ou [ou] fi | |||
| @@ -1473,8 +1498,11 @@ vdiph/ou_2 [oU] sk | |||
| vdiph/ou_3 [oU] is | |||
| [oU2] is | |||
| vdiph/@u [u:] en_wm | |||
| [@U] vi | |||
| [@:U] vi | |||
| vdiph/@u_2 [oU] en_rp | |||
| vdiph/@u_3 [@U] ro | |||
| [@U] ga | |||
| vdiph/@u_en [oU] en | |||
| [@U] id | |||
| vdiph/ui [uI] base2 | |||
| @@ -1488,14 +1516,11 @@ vdiph/u-i [yI] vi | |||
| vdiph/ui_2 [uI] af | |||
| vdiph/ui_3 [uI] cy | |||
| [uY] cy | |||
| vdiph/Vi [@:I] vi | |||
| [VI] ne | |||
| vdiph/Vi [VI] ne | |||
| vdiph/Vu [@U] af | |||
| [VU] ne | |||
| vdiph/Vu_2 [oU] en_wm | |||
| vdiph/Vu_3 [o:] nl | |||
| vdiph/Vu_4 [@U] vi | |||
| [@:U] vi | |||
| vdiph/&y [&y] fi | |||
| [Wy] nl | |||
| vdiph/yi [yi] fi | |||
| @@ -1510,8 +1535,8 @@ vdiph/y#y [Yy] fi | |||
| vdiph/y#y_2 [Yy] af | |||
| [eoi] zhy | |||
| vdiph/y#y_3 [Y:] nl | |||
| vnasal/aa_n [a~] bn | |||
| [a~] ne | |||
| vnasal/aa_n [a~] hi | |||
| [a~] bn | |||
| vnasal/aa_n2 [A~] en | |||
| [A~] fr | |||
| vnasal/aa_n3 [A~] af | |||
| @@ -1526,13 +1551,13 @@ vnasal/ee_n2 [a] en_us | |||
| [E~] bn | |||
| vnasal/ee_u_n [E~] pl | |||
| vnasal/e_n [e~] af | |||
| [e~] hi | |||
| [e~] pt | |||
| [e~] bn | |||
| [e~] ne | |||
| vnasal/i_n [i~] pt | |||
| [i~] bn | |||
| [i:~] bn | |||
| [i~] ne | |||
| vnasal/i_n2 [i~] hi | |||
| vnasal/m- [m-] sw | |||
| vnasal/n- [n-] sw | |||
| vnasal/nn- [N-] sw | |||
| @@ -1552,8 +1577,7 @@ vnasal/u_n [u~] hi | |||
| [u] zh | |||
| [u~] bn | |||
| [u:~] bn | |||
| [u~] ne | |||
| vnasal/V_n [V~] ne | |||
| vnasal/V_n [V~] hi | |||
| vnasal/W_n [E~] fr | |||
| [W~] fr | |||
| voc/bh [B] base | |||
| @@ -1561,7 +1585,8 @@ voc/dh [D] base | |||
| [D] es | |||
| voc/dh_ [D] base | |||
| [D] es | |||
| voc/dh_om [d`] om | |||
| [D] om | |||
| voc/dh_om [D] om | |||
| voc/j [J^] base | |||
| voc/Q [Q] base | |||
| [Q^] base | |||
| @@ -1571,7 +1596,8 @@ voc/Q_ [Q] base | |||
| [x2] pt | |||
| voc/Q_less [Q] nl | |||
| [x2] pt | |||
| voc/Q_ulv [Q] hy | |||
| voc/Q_ulv [Q"] base | |||
| [Q] hy | |||
| voc/v [v] base | |||
| [v] fi | |||
| [v] fr | |||
| @@ -1597,6 +1623,8 @@ voc/vj [v] base | |||
| [v] fr | |||
| vocw/dh [D] base | |||
| [D] es | |||
| [D] om | |||
| [d`] om | |||
| [D] en_klatt | |||
| vocw/Q [Q] base | |||
| [Q^] base | |||
| @@ -1653,6 +1681,7 @@ vowel/@ [@] base | |||
| [@] kn | |||
| [@4] bn | |||
| [@] hy | |||
| [@] ga | |||
| vowel/@- [@-] base | |||
| [r*] hr | |||
| vowel/& [a] en_rp | |||
| @@ -1673,6 +1702,11 @@ vowel/0_2 [0] en_n | |||
| vowel/0_3 [O] en_sc | |||
| [0] en_rp | |||
| [A] hu | |||
| vowel/@_2 [@] vi | |||
| [@:] vi | |||
| [@] sq | |||
| [V] sq | |||
| [@/] sq | |||
| vowel/@_3 [@] en_sc | |||
| [I] en_sc | |||
| [@2] en_sc | |||
| @@ -1721,6 +1755,7 @@ vowel/a [a] en | |||
| [a] zh | |||
| [a] id | |||
| [a] ko | |||
| [a] ga | |||
| vowel/a# [a/] base2 | |||
| [a2] en_sc | |||
| [a2] en_wi | |||
| @@ -1729,6 +1764,8 @@ vowel/a# [a/] base2 | |||
| [&/] pt | |||
| [a#] rw | |||
| [a/] rw | |||
| [a] om | |||
| [a:] om | |||
| vowel/a_2 [a] base2 | |||
| [a] en_wi | |||
| [A:] en_wi | |||
| @@ -1739,7 +1776,6 @@ vowel/a_2 [a] base2 | |||
| [A] pt | |||
| [a] pt_pt | |||
| [a] ro | |||
| [a:] vi | |||
| [a] rw | |||
| [a] da | |||
| vowel/a#_2 [a#] pl | |||
| @@ -1747,9 +1783,7 @@ vowel/a#_2 [a#] pl | |||
| [a2] sv | |||
| [&] is | |||
| [a/] sw | |||
| [a/] sq | |||
| [a] kn | |||
| [a] om | |||
| vowel/a_3 [a] en_sc | |||
| [a/] en_sc | |||
| [A:] en_sc | |||
| @@ -1759,6 +1793,7 @@ vowel/a_3 [a] en_sc | |||
| [a] is | |||
| [A] zh | |||
| [A] da | |||
| [a] sq | |||
| vowel/a#_3 [a2] en | |||
| [a2] en_n | |||
| [a2] en_us | |||
| @@ -1770,10 +1805,11 @@ vowel/a#_3 [a2] en | |||
| [a#] ca | |||
| [&] pt_pt | |||
| [&/] pt_pt | |||
| [@] vi | |||
| [a] zhy | |||
| [a/] sq | |||
| [a] ml | |||
| [a] bn | |||
| [a#] om | |||
| vowel/a_4 [a/] el | |||
| [a] vi | |||
| [a:] om | |||
| @@ -1783,12 +1819,12 @@ vowel/a_5 [a:] ta | |||
| [a] sv | |||
| [a] sw | |||
| [a] tr | |||
| [a] sq | |||
| [a:] ml | |||
| [a:] kn | |||
| [A:] om | |||
| [A] om | |||
| vowel/a_6 [a] fr | |||
| [a2] fr | |||
| [a:] vi | |||
| vowel/aa [a] fi | |||
| [A] fr_ca | |||
| [a] lv | |||
| @@ -1797,6 +1833,7 @@ vowel/aa [a] fi | |||
| [A:] no | |||
| [aa] zhy | |||
| [a] hy | |||
| [A:] ga | |||
| vowel/aa# [O] en_us | |||
| [0] en_wi | |||
| [a2] fi | |||
| @@ -1854,10 +1891,12 @@ vowel/e [e] base2 | |||
| [e#] rw | |||
| [e] ko | |||
| [e] da | |||
| [e] sq | |||
| [e] ml | |||
| [e:] ml | |||
| [e:] kn | |||
| [e] ne | |||
| [e:] ga | |||
| vowel/e# [I] en_sc | |||
| [I2] en_sc | |||
| vowel/e_2 [eI] en_sc | |||
| @@ -1874,7 +1913,6 @@ vowel/e_3 [i] en_n | |||
| [e] ku | |||
| vowel/e_5 [i] en_sc | |||
| vowel/e_6 [e] om | |||
| vowel/e_7 [e] sq | |||
| vowel/ee [E] en_n | |||
| [E] sv | |||
| vowel/e_e [E] en_sc | |||
| @@ -1895,11 +1933,11 @@ vowel/ee_2 [E] en | |||
| [E#] ku | |||
| [&] da | |||
| vowel/ee#_2 [E-] sv | |||
| [E] sq | |||
| vowel/ee_3 [&] af | |||
| [&:] af | |||
| [E] pt | |||
| [E] vi | |||
| vowel/ee_4 [E] sq | |||
| vowel/ee_6 [&] sk | |||
| [E3] sv | |||
| [E] ku | |||
| @@ -1941,8 +1979,11 @@ vowel/e_mid2 [E] af | |||
| [e] sw | |||
| [e] tr | |||
| [E] ko | |||
| [e#] sq | |||
| [e] kn | |||
| [E] om | |||
| [E#] om | |||
| [E] ga | |||
| vowel/@_fnt [@] en_wi | |||
| [@2] en_wi | |||
| [@2] hr | |||
| @@ -1976,6 +2017,7 @@ vowel/i [i] base2 | |||
| [i] ne | |||
| [i] hy | |||
| [i:] om | |||
| [i:] ga | |||
| vowel/i# [y:] cy | |||
| vowel/i_2 [i2] de | |||
| [i:] de | |||
| @@ -1990,12 +2032,14 @@ vowel/i_4 [i] fi | |||
| [i] hu | |||
| [I] it | |||
| [i] is | |||
| [i] vi | |||
| [i] da | |||
| vowel/i_5 [i:] en_sc | |||
| vowel/i#_5 [y] pt_pt | |||
| [i/] pt_pt | |||
| [y] ro | |||
| vowel/i_6 [i] ta | |||
| vowel/i_6 [i] hi | |||
| [i] ta | |||
| [i] lv | |||
| [i:] lv | |||
| [i] hr | |||
| @@ -2006,12 +2050,11 @@ vowel/i_6 [i] ta | |||
| [i] kn | |||
| vowel/i#_6 [i.] zh | |||
| vowel/i_7 [i] pl | |||
| [i] sq | |||
| vowel/i#_7 [i[] zh | |||
| vowel/i_en [i:] en | |||
| [i:] en_us | |||
| [i] vi | |||
| vowel/i_fnt [i:] en_wi | |||
| [i] hi | |||
| [i:] hi | |||
| [i] bn | |||
| [i:] bn | |||
| @@ -2028,12 +2071,14 @@ vowel/ii [I] en_n | |||
| [I] is | |||
| [i] zhy | |||
| [I] ku | |||
| [I#] sq | |||
| [I] om | |||
| [I#] om | |||
| [I] ga | |||
| vowel/ii# [Y] cy | |||
| [Y] ru | |||
| [I] ku | |||
| [i] sq | |||
| [e#] sq | |||
| [y] ml | |||
| [y] kn | |||
| vowel/ii_2 [i] zh | |||
| @@ -2061,7 +2106,7 @@ vowel/ii_6 [I] en_wm | |||
| [I] pt | |||
| [y] pt | |||
| [i/] pt | |||
| [i] sq | |||
| [I] sq | |||
| vowel/ii_en [i] en | |||
| [i] sq | |||
| vowel/ii_final [i] en_us | |||
| @@ -2106,12 +2151,14 @@ vowel/o [o] base2 | |||
| [o:] kn | |||
| [o] bn | |||
| [o] hy | |||
| [o:] ga | |||
| vowel/o_2 [o:] cy | |||
| [o2] fr | |||
| [o:] hi | |||
| [o:] hu | |||
| [o:] la | |||
| [o:] no | |||
| [o] vi | |||
| [o] ko | |||
| [o] da | |||
| [o:] bn | |||
| @@ -2154,6 +2201,7 @@ vowel/oo [O:] en_sc | |||
| [o] zhy | |||
| [O] tr | |||
| [O] id | |||
| [O] ga | |||
| vowel/oo_1 [O:] en_n | |||
| [O:] en_rp | |||
| [O@] en_rp | |||
| @@ -2167,7 +2215,6 @@ vowel/oo_1 [O:] en_n | |||
| [o] sk | |||
| [o:] sk | |||
| [o] hr | |||
| [o] vi | |||
| [O/] sq | |||
| vowel/oo_2 [0] en_sc | |||
| [O] cy | |||
| @@ -2182,6 +2229,7 @@ vowel/oo_4 [O] base2 | |||
| [O] it | |||
| [O] bn | |||
| [O] om | |||
| [O#] om | |||
| vowel/oo_5 [O] pl | |||
| [O] is | |||
| [O] sq | |||
| @@ -2240,6 +2288,7 @@ vowel/u#_4 [U] en_sc | |||
| vowel/u_5 [u] lv | |||
| [u:] lv | |||
| [u] sw | |||
| vowel/u#_5 [y] vi | |||
| vowel/u_6 [U] pt_pt | |||
| [u] pt_pt | |||
| [u] ku | |||
| @@ -2266,11 +2315,12 @@ vowel/u_bck [u] base2 | |||
| [u] rw | |||
| [u#] rw | |||
| [u] ko | |||
| [u] sq | |||
| [u:] bn | |||
| [u] ne | |||
| [u] hy | |||
| [u:] ga | |||
| vowel/u_bck2 [u:] la | |||
| [u] sq | |||
| vowel/u_fnt [u:] en_rp | |||
| vowel/uu [U] en | |||
| [U] en_n | |||
| @@ -2293,6 +2343,8 @@ vowel/uu_bck [U] en_wi | |||
| [u] zhy | |||
| [U] bn | |||
| [U] om | |||
| [U#] om | |||
| [U] ga | |||
| vowel/u_unr [u-] ko | |||
| vowel/V [3] en_sc | |||
| vowel/V_2 [V] en | |||
| @@ -2305,11 +2357,8 @@ vowel/V_3 [V] en_rp | |||
| [V] ta | |||
| [V] bn | |||
| vowel/V_4 [V] en_sc | |||
| [@:] vi | |||
| [V] da | |||
| vowel/V_6 [V] en_us | |||
| [@] sq | |||
| [V] sq | |||
| vowel/y [y:] en | |||
| [y:] de | |||
| [y] fi | |||
| @@ -2326,7 +2375,6 @@ vowel/y# [Y:] en | |||
| [Y:] hu | |||
| [8] nl | |||
| [Y] ro | |||
| [y] vi | |||
| [oe] zhy | |||
| [Y] ko | |||
| vowel/y## [y#] is | |||
| @@ -2351,7 +2399,6 @@ vowel/yy_4 [y] de | |||
| [y] grc | |||
| [y] is | |||
| [y] hy | |||
| vweak/@ [@#] om | |||
| vwl_af/@ [@] af | |||
| vwl_af/I [I] af | |||
| vwl_af/r@ [@] af | |||
| @@ -2435,7 +2482,6 @@ vwl_no/u#2 [u-:] no | |||
| vwl_no/y# [Y:] no | |||
| vwl_no/y#y [Yy] no | |||
| vwl_ro/ii- [I^] ro | |||
| [I#] om | |||
| vwl_ro/li [I^] ro | |||
| vwl_ro/mi [I^] ru | |||
| [I^] ro | |||
| @@ -2493,6 +2539,7 @@ w/w2 [w2] base2 | |||
| [w] pl | |||
| [w] sk | |||
| [w] pt_pt | |||
| [w] sq | |||
| w/wa [(a)] base | |||
| w/we [(e)] base | |||
| w/wi [(i)] base | |||
| @@ -2555,7 +2602,9 @@ x/d_ [d] base | |||
| [d] id | |||
| [d] bn | |||
| [d.] bn | |||
| [d`] om | |||
| [d] en_klatt | |||
| [d[] ga | |||
| x/d_dnt [d[] base | |||
| [d] base2 | |||
| [d] fi | |||
| @@ -2566,6 +2615,7 @@ x/d_dnt [d[] base | |||
| [d;] ro | |||
| [d] sw | |||
| [d] bn | |||
| [d[] ga | |||
| x/d_pzd [d;] pl | |||
| [d;] ru | |||
| x/dzh [J] base | |||
| @@ -1,6 +1,6 @@ | |||
| ENVELOPE | |||
| 0 100 | |||
| 34 100 | |||
| 50 63 | |||
| 66 100 | |||
| 100 100 | |||
| 0 95 | |||
| 33 95 | |||
| 49 55 | |||
| 65 95 | |||
| 100 95 | |||
| @@ -1,8 +1,15 @@ | |||
| ENVELOPE | |||
| 0 100 | |||
| 34 100 | |||
| 50 100 | |||
| 63 100 | |||
| 100 20 | |||
| 47 66 | |||
| 64 100 | |||
| 73 100 | |||
| 74 0 | |||
| 85 95 | |||
| 86 95 | |||
| 92 95 | |||
| 94 0 | |||
| 100 0 | |||
| @@ -16,8 +16,9 @@ | |||
| 0 @2 NULL 0 a | |||
| 0 @3 NULL 0 a | |||
| 0 @4 NULL 0 a | |||
| 0 i NULL 0 ii | |||
| 0 i: NULL 0 ii | |||
| 0 I NULL 0 i | |||
| 0 I NULL 0 ii | |||
| 0 e: NULL 0 e | |||
| 0 e NULL 0 e | |||
| 0 E: NULL 0 ai | |||
| @@ -27,14 +28,17 @@ | |||
| 0 a: NULL 0 aa | |||
| 0 o: NULL 0 o | |||
| 0 o NULL 0 o | |||
| 0 O NULL 0 o | |||
| 0 O: NULL 0 au | |||
| 0 o~ NULL 0 o | |||
| 0 O~ NULL 0 au | |||
| 0 U NULL 0 uu | |||
| 0 u: NULL 0 uu | |||
| 0 aI NULL 0 ai | |||
| 0 aU NULL 0 au | |||
| 0 o~ NULL 60 o n | |||
| 0 O~ NULL 60 au n | |||
| 0 u~ NULL 60 uu n | |||
| 0 H NULL 0 h | |||
| 0 t. NULL 0 T | |||
| 0 t.h NULL 0 Th | |||
| @@ -47,5 +51,5 @@ | |||
| 0 j NULL 0 y | |||
| 0 S NULL 0 sh | |||
| 0 s. NULL 0 sh | |||
| 0 l. NULL 0 l | |||
| @@ -263,7 +263,7 @@ endphoneme | |||
| phoneme aI@ | |||
| vowel starttype (a) endtype (@) | |||
| length 260 | |||
| length 300 | |||
| formants vwl_en_us/ai@ | |||
| linkout r- | |||
| endphoneme | |||
| @@ -271,7 +271,7 @@ endphoneme | |||
| phoneme aU@ | |||
| vowel starttype (a) endtype (@) | |||
| length 260 | |||
| length 270 | |||
| formants vwl_en/aU@ | |||
| linkout r- | |||
| endphoneme | |||
| @@ -62,7 +62,7 @@ endphoneme | |||
| phoneme i // as [i:] but not marked as 'long' | |||
| vowel starttype (i) endtype (i) | |||
| length 230 | |||
| formants vowel/i_fnt | |||
| formants vowel/i_6 | |||
| linkout ; | |||
| endphoneme | |||
| @@ -97,13 +97,6 @@ phoneme E | |||
| formants vowel/e_mid | |||
| endphoneme | |||
| phoneme E~ | |||
| vowel starttype (e) endtype (e) | |||
| length 230 | |||
| formants vnasal/ee_n2 | |||
| endphoneme | |||
| phoneme &: | |||
| vowel long starttype (a) endtype (a) | |||
| length 220 | |||
| @@ -142,18 +135,6 @@ phoneme O: | |||
| formants vowel/oo_4 | |||
| endphoneme | |||
| phoneme o~ | |||
| vowel long starttype (o) endtype (o) | |||
| length 220 | |||
| formants vnasal/o_n | |||
| endphoneme | |||
| phoneme O~ | |||
| vowel long starttype (o) endtype (o) | |||
| length 230 | |||
| formants vnasal/oo_n2 | |||
| endphoneme | |||
| phoneme O | |||
| vowel starttype (o) endtype (o) | |||
| @@ -176,6 +157,51 @@ phoneme u: | |||
| endphoneme | |||
| // Nasal vowels | |||
| //============= | |||
| phoneme i~ | |||
| vowel long starttype (i) endtype (i) | |||
| length 220 | |||
| formants vnasal/i_n2 | |||
| endphoneme | |||
| phoneme e~ | |||
| vowel long starttype (e) endtype (e) | |||
| length 220 | |||
| formants vnasal/e_n | |||
| endphoneme | |||
| phoneme E~ | |||
| vowel starttype (e) endtype (e) | |||
| length 230 | |||
| formants vnasal/ee_n2 | |||
| endphoneme | |||
| phoneme a~ | |||
| vowel long starttype (a) endtype (a) | |||
| length 250 | |||
| formants vnasal/aa_n | |||
| endphoneme | |||
| phoneme V~ | |||
| vowel long starttype (@) endtype (@) | |||
| length 250 | |||
| formants vnasal/V_n | |||
| endphoneme | |||
| phoneme O~ | |||
| vowel long starttype (o) endtype (o) | |||
| length 230 | |||
| formants vnasal/oo_n2 | |||
| endphoneme | |||
| phoneme o~ | |||
| vowel long starttype (o) endtype (o) | |||
| length 220 | |||
| formants vnasal/o_n | |||
| endphoneme | |||
| phoneme u~ | |||
| vowel long starttype (u) endtype (u) | |||
| length 230 | |||
| @@ -318,23 +344,16 @@ phoneme b // this is [b] | |||
| endphoneme | |||
| //phoneme bh // use [b]+[h] | |||
| // vcd blb stop | |||
| // vowelout f1=1 f2=1000 -500 -300 f3=-300 80 brk | |||
| // formants b/b+x/b | |||
| // before _ b/b_+x/b_ | |||
| // before (a) b/ba+x/b | |||
| // before (@) b/b@+x/b | |||
| // before (e) b/be+x/b | |||
| // before (i) b/bi+x/b | |||
| // before (o) b/bo+x/b | |||
| // before (u) b/bu+x/b | |||
| // before @- b/b@2+x/b | |||
| // after _ NULL | |||
| // after @ b/xb | |||
| // lengthmod 5 | |||
| // switchvoicing p | |||
| //endphoneme | |||
| phoneme bh | |||
| vcd blb stop | |||
| vowelin f1=0 f2=1000 -50 -100 f3=-200 80 | |||
| vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 | |||
| lengthmod 5 | |||
| formants b/xb+ustop/p_asp%70 | |||
| after @ b/xb | |||
| switchvoicing ph | |||
| endphoneme | |||
| @@ -355,7 +374,7 @@ endphoneme | |||
| phoneme th // dental variant of /t/ | |||
| vls dnt stop | |||
| vowelin f1=0 f2=1500 -300 300 f3=-100 80 | |||
| vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16 | |||
| vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | |||
| lengthmod 2 | |||
| wave ustop/t_dnt%50 | |||
| @@ -380,19 +399,17 @@ phoneme d // dental variant of /d/ | |||
| endphoneme | |||
| phoneme dh | |||
| vcd dnt stop | |||
| vowelin f1=0 f2=1500 -300 300 f3=-100 80 | |||
| vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | |||
| lengthmod 5 | |||
| formants d/xd3+ustop/t_dnt%40 | |||
| before _ ustop/t_dnt%35 | |||
| after @ d/xd | |||
| switchvoicing th | |||
| endphoneme | |||
| //phoneme dh // use [d]+[h] | |||
| // vcd dnt stop | |||
| // vowelin f1=1 f2=1700 -200 200 f3=100 80 | |||
| // vowelout f1=1 f2=1700 -200 200 f3=100 80 rms=20 len=1 | |||
| // formants d/d+x/d_dnt%60 | |||
| // before _ d/d_+x/d_ | |||
| // before r d/dr+x/d_dnt%60 | |||
| // after _ NULL | |||
| // after @ d/xd | |||
| // lengthmod 5 | |||
| // switchvoicing t | |||
| //endphoneme | |||
| @@ -458,7 +475,7 @@ phoneme c // this is [ts;] | |||
| vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||
| vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1 | |||
| lengthmod 2 | |||
| wave ustop/ts_pzd2%80 | |||
| wave ustop/ts_pzd2%90 | |||
| before _ ustop/ts_pzd_ | |||
| switchvoicing J | |||
| endphoneme | |||
| @@ -526,20 +543,20 @@ phoneme k | |||
| switchvoicing g | |||
| endphoneme | |||
| phoneme kh // this is english [k] | |||
| phoneme kh | |||
| vls vel stop | |||
| vowelin f1=0 f2=2300 200 300 f3=-150 80 | |||
| vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | |||
| lengthmod 2 | |||
| wave ustop/k | |||
| before _ ustop/k_ | |||
| wave ustop/k_asp%90 | |||
| before _ ustop/k_asp%50 | |||
| before r ustop/kr | |||
| before l ustop/kl | |||
| switchvoicing g | |||
| endphoneme | |||
| phoneme g // | |||
| phoneme g | |||
| vcd vel stop | |||
| vowelin f1=1 f2=2300 200 300 f3=-300 80 | |||
| vowelout f1=1 f2=2300 250 300 f3=-300 80 brk | |||
| @@ -550,16 +567,16 @@ phoneme g // | |||
| lengthmod 5 | |||
| endphoneme | |||
| //phoneme gh // this is English [g] // use [g]+[h] | |||
| // vcd vel stop | |||
| // vowelin f1=1 f2=2300 200 400 f3=-100 80 | |||
| // vowelout f1=1 f2=2300 250 300 f3=-300 80 brk | |||
| // formants g/g+x/g | |||
| // before _ g/g_+x/g_ | |||
| // after _ NULL | |||
| // after @ g/xg | |||
| // lengthmod 5 | |||
| // switchvoicing k | |||
| //endphoneme | |||
| phoneme gh | |||
| vcd dnt stop | |||
| vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20 | |||
| vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | |||
| lengthmod 5 | |||
| formants g2/xg+ustop/k_asp%70 | |||
| after @ g2/xg | |||
| switchvoicing kh | |||
| endphoneme | |||
| @@ -5,7 +5,7 @@ | |||
| phoneme : // Lengthen previous vowel by "length" | |||
| virtual | |||
| length 40 | |||
| length 50 | |||
| endphoneme | |||
| @@ -80,6 +80,16 @@ endphoneme | |||
| // CONSONANTS | |||
| //=========== | |||
| phoneme R | |||
| liquid | |||
| vowelin f1=0 f2=1700 -300 300 f3=-300 80 | |||
| vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk | |||
| formants r3/r_trill+r3/r_trill.wav%50 | |||
| trill | |||
| lengthmod 6 | |||
| endphoneme | |||
| phoneme t | |||
| vls dnt stop | |||
| vowelin f1=0 f2=1600 -300 300 f3=-100 80 | |||
| @@ -115,15 +115,6 @@ phoneme r: | |||
| endphoneme | |||
| phoneme R | |||
| liquid | |||
| vowelin f1=0 f2=1700 -300 300 f3=-300 80 | |||
| vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk | |||
| formants r3/r_trill+r3/r_trill.wav%50 | |||
| trill | |||
| lengthmod 6 | |||
| endphoneme | |||
| phoneme R^ // Czech r-caron | |||
| vcd pla frc sibilant | |||
| @@ -4,60 +4,55 @@ | |||
| //==================================================== | |||
| phoneme 1 // tone: level | |||
| phoneme 1 // ngang tone: level | |||
| stress | |||
| length 11 | |||
| tone 28 32 envelope/p_level NULL | |||
| endphoneme | |||
| phoneme 2 // tone: low falling | |||
| phoneme 2 // huyền tone: low falling | |||
| stress | |||
| length 12 | |||
| tone 20 8 envelope/p_fall NULL | |||
| endphoneme | |||
| phoneme 3 // tone rising | |||
| phoneme 3 // sắc tone rising | |||
| stress | |||
| length 13 | |||
| tone 28 43 envelope/p_rise NULL | |||
| tone 25 50 envelope/p_rise NULL | |||
| endphoneme | |||
| phoneme 4 // tone curve (dipping rising) | |||
| phoneme 4 // hỏi tone curve (dipping rising) | |||
| stress | |||
| length 14 | |||
| tone 28 5 envelope/p_fallrise NULL | |||
| tone 30 5 envelope/p_fallrise NULL | |||
| endphoneme | |||
| phoneme 5 // tone: broken (creaking rising) | |||
| phoneme 5 // ngã tone: broken (creaking rising) | |||
| stress | |||
| length 15 | |||
| tone 28 45 envelope/vi_5 envelope/vi_5amp | |||
| tone 30 55 envelope/p_214 envelope/vi_5amp | |||
| endphoneme | |||
| phoneme 6 // tone drop (constricted) | |||
| phoneme 6 // nặng tone drop (constricted) | |||
| stress | |||
| length 16 | |||
| tone 30 5 envelope/vi_6 envelope/vi_6amp | |||
| tone 40 20 envelope/p_512 envelope/vi_6amp | |||
| endphoneme | |||
| phoneme 7 // tone 1 at end of clause | |||
| phoneme 7 // tone 1 (ngang) at end of clause | |||
| stress | |||
| length 17 | |||
| tone 30 20 envelope/p_fall NULL | |||
| tone 40 20 envelope/p_fall NULL | |||
| endphoneme | |||
| phoneme 8 // TEST | |||
| stress | |||
| length 18 | |||
| tone 30 6 envelope/p_512 NULL | |||
| endphoneme | |||
| // Vowels | |||
| //======= | |||
| @@ -72,7 +67,7 @@ endphoneme | |||
| phoneme a: | |||
| vowel starttype (a) endtype (a) | |||
| length 280 | |||
| formants vowel/a_2 | |||
| formants vowel/a_6 | |||
| endphoneme | |||
| @@ -92,7 +87,7 @@ endphoneme | |||
| phoneme i | |||
| vowel starttype (i) endtype (i) | |||
| length 190 | |||
| formants vowel/i_en | |||
| formants vowel/i_4 | |||
| after w w/wi | |||
| linkout ; | |||
| endphoneme | |||
| @@ -107,7 +102,7 @@ endphoneme | |||
| phoneme o | |||
| vowel starttype (o) endtype (o) | |||
| length 200 | |||
| formants vowel/oo_1 | |||
| formants vowel/o_2 | |||
| endphoneme | |||
| @@ -120,7 +115,7 @@ endphoneme | |||
| phoneme y | |||
| vowel starttype (u) endtype (u) | |||
| length 200 | |||
| formants vowel/y# | |||
| formants vowel/u#_5 | |||
| endphoneme | |||
| @@ -128,14 +123,14 @@ endphoneme | |||
| phoneme @ | |||
| vowel starttype (@) endtype (a) | |||
| length 130 | |||
| formants vowel/a#_3 | |||
| formants vowel/@_2 | |||
| endphoneme | |||
| phoneme @: | |||
| vowel starttype (@) endtype (@) | |||
| length 280 | |||
| formants vowel/V_4 | |||
| formants vowel/@_2 | |||
| endphoneme | |||
| @@ -160,14 +155,14 @@ endphoneme | |||
| phoneme @I | |||
| vowel starttype (@) endtype (i) | |||
| length 250 | |||
| formants vdiph/@i_4 | |||
| formants vdiph/@i | |||
| endphoneme | |||
| phoneme @:I | |||
| vowel starttype (@) endtype (i) | |||
| length 250 | |||
| formants vdiph/Vi | |||
| formants vdiph/@i | |||
| endphoneme | |||
| @@ -216,14 +211,14 @@ endphoneme | |||
| phoneme aU | |||
| vowel starttype (a) endtype (u) | |||
| length 230 | |||
| length 210 | |||
| formants vdiph/aau_4 | |||
| endphoneme | |||
| phoneme a:U | |||
| vowel starttype (a) endtype (u) | |||
| length 260 | |||
| length 270 | |||
| formants vdiph/au | |||
| endphoneme | |||
| @@ -250,13 +245,13 @@ endphoneme | |||
| phoneme @U | |||
| vowel starttype (@) endtype (u) | |||
| length 200 | |||
| formants vdiph/Vu_4 | |||
| formants vdiph/@u | |||
| endphoneme | |||
| phoneme @:U | |||
| vowel starttype (@) endtype (u) | |||
| length 260 | |||
| formants vdiph/Vu_4 | |||
| length 270 | |||
| formants vdiph/@u | |||
| endphoneme | |||
| @@ -270,7 +265,7 @@ endphoneme | |||
| phoneme y@ | |||
| vowel starttype (i) endtype (@) | |||
| length 200 | |||
| formants vdiph2/u-@ | |||
| formants vdiph2/y-y# | |||
| endphoneme | |||
| phoneme u@ | |||
| @@ -302,3 +297,11 @@ phoneme kh | |||
| switchvoicing Q | |||
| endphoneme | |||
| phoneme l | |||
| liquid | |||
| length 100 | |||
| lengthmod 7 | |||
| beforenotvowel l/ | |||
| formants l/l_vi | |||
| endphoneme | |||
| @@ -435,6 +435,13 @@ phoneme R3 // Afrikaans | |||
| endphoneme | |||
| phoneme r" // uvular trill | |||
| vcd uvl frc | |||
| formants r3/r_ulv+r3/r_uvl%75 | |||
| before _ r3/r_ulv+r3/r_uvl%50 | |||
| lengthmod 6 | |||
| endphoneme | |||
| phoneme l | |||
| liquid | |||
| @@ -740,7 +747,7 @@ phoneme J | |||
| vcd pla afr sibilant | |||
| vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70 | |||
| vowelout f1=2 f2=2700 400 600 f3=300 80 colr=1 | |||
| formants dzh/dz_pzd+x/dzh%40 | |||
| formants dzh/dz_pzd+x/dzh%45 | |||
| before _ dzh/dz_pzd_+x/dzh%35 | |||
| after _ NULL | |||
| after @ dzh/xdz_pzd | |||
| @@ -829,7 +836,7 @@ phoneme Z | |||
| vcd pla frc sibilant | |||
| vowelin f1=0 f2=2000 0 300 f3=-200 80 | |||
| vowelout f1=2 f2=2000 0 300 f3=-200 80 brk | |||
| formants voc/zh+vocw/zh | |||
| formants voc/zh+vocw/zh%130 | |||
| before _ voc/zh_+vocw/zh | |||
| lengthmod 6 | |||
| switchvoicing S | |||
| @@ -900,6 +907,13 @@ phoneme Q^ | |||
| switchvoicing x | |||
| endphoneme | |||
| phoneme Q" // voiced velar fricative | |||
| vcd uvl frc | |||
| formants voc/Q_ulv+ufric/xx3%80 | |||
| before _ voc/Q_ulv+ufric/xx3%60 | |||
| lengthmod 6 | |||
| endphoneme | |||
| //******************************************************************* | |||
| @@ -1326,7 +1340,7 @@ include ph_korean | |||
| phonemetable da is | |||
| include ph_danish | |||
| phonemetable sq base2 | |||
| phonemetable sq base | |||
| include ph_albanian | |||
| phonemetable ml hi | |||
| @@ -1349,4 +1363,6 @@ include ph_oromo | |||
| phonemetable en_klatt en | |||
| include ph_english_klatt | |||
| ] | |||
| phonemetable ga base | |||
| include ph_irish | |||
| @@ -1,60 +1,61 @@ | |||
| /*************************************************************************** | |||
| * Copyright (C) 2005,2006 by Jonathan Duddington * | |||
| * [email protected] * | |||
| * * | |||
| * This program is free software; you can redistribute it and/or modify * | |||
| * it under the terms of the GNU General Public License as published by * | |||
| * the Free Software Foundation; either version 2 of the License, or * | |||
| * (at your option) any later version. * | |||
| * * | |||
| * This program is distributed in the hope that it will be useful, * | |||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of * | |||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | |||
| * GNU General Public License for more details. * | |||
| * * | |||
| * You should have received a copy of the GNU General Public License * | |||
| * along with this program; if not, write to the * | |||
| * Free Software Foundation, Inc., * | |||
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||
| ***************************************************************************/ | |||
| // Windows command-line version of eSpeak | |||
| // conditional compilation options | |||
| #define PLATFORM_WINDOWS | |||
| #define __WIN32__ | |||
| #define NEED_WCSTOF | |||
| #define NEED_GETOPT | |||
| #define PATHSEP '\\' | |||
| #define USE_PORTAUDIO | |||
| #define ESPEAK_API | |||
| // will look for espeak_data directory here, and also in user's home directory | |||
| #define PATH_ESPEAK_DATA "/usr/share/espeak-data" | |||
| typedef unsigned short USHORT; | |||
| typedef unsigned char UCHAR; | |||
| typedef double DOUBLEX; | |||
| typedef struct { | |||
| const char *mnem; | |||
| int value; | |||
| } MNEM_TAB; | |||
| int LookupMnem(MNEM_TAB *table, char *string); | |||
| #define N_PATH_HOME 120 | |||
| extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | |||
| extern void strncpy0(char *to,const char *from, int size); | |||
| int GetFileLength(const char *filename); | |||
| char *Alloc(int size); | |||
| void Free(void *ptr); | |||
| /*************************************************************************** | |||
| * Copyright (C) 2005,2006 by Jonathan Duddington * | |||
| * [email protected] * | |||
| * * | |||
| * This program is free software; you can redistribute it and/or modify * | |||
| * it under the terms of the GNU General Public License as published by * | |||
| * the Free Software Foundation; either version 2 of the License, or * | |||
| * (at your option) any later version. * | |||
| * * | |||
| * This program is distributed in the hope that it will be useful, * | |||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of * | |||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | |||
| * GNU General Public License for more details. * | |||
| * * | |||
| * You should have received a copy of the GNU General Public License * | |||
| * along with this program; if not, write to the * | |||
| * Free Software Foundation, Inc., * | |||
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||
| ***************************************************************************/ | |||
| // Windows command-line version of eSpeak | |||
| // conditional compilation options | |||
| #define PLATFORM_WINDOWS | |||
| #define __WIN32__ | |||
| #define NEED_WCSTOF | |||
| #define NEED_GETOPT | |||
| #define PATHSEP '\\' | |||
| #define USE_PORTAUDIO | |||
| #define ESPEAK_API | |||
| #define INCLUDE_KLATT | |||
| // will look for espeak_data directory here, and also in user's home directory | |||
| #define PATH_ESPEAK_DATA "/usr/share/espeak-data" | |||
| typedef unsigned short USHORT; | |||
| typedef unsigned char UCHAR; | |||
| typedef double DOUBLEX; | |||
| typedef struct { | |||
| const char *mnem; | |||
| int value; | |||
| } MNEM_TAB; | |||
| int LookupMnem(MNEM_TAB *table, char *string); | |||
| #define N_PATH_HOME 220 | |||
| extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | |||
| extern void strncpy0(char *to,const char *from, int size); | |||
| int GetFileLength(const char *filename); | |||
| char *Alloc(int size); | |||
| void Free(void *ptr); | |||
| @@ -35,7 +35,7 @@ | |||
| //#define __cdecl // define as null, needed for Borland compiler ? | |||
| //#define USE_PORTAUDIO | |||
| //#define USE_NANOSLEEP | |||
| #define INCLUDE_KLATT | |||
| // will look for espeak_data directory here, and also in user's home directory | |||
| #define PATH_ESPEAK_DATA "/usr/share/espeak-data" | |||
| @@ -55,7 +55,7 @@ int LookupMnem(MNEM_TAB *table, char *string); | |||
| #define N_PATH_HOME 120 | |||
| #define N_PATH_HOME 220 | |||
| extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | |||
| extern void strncpy0(char *to,const char *from, int size); | |||
| @@ -297,7 +297,8 @@ static keywtab_t keywords[] = { | |||
| {"f4", 0x300000a}, | |||
| {"paus", 0x300000b}, | |||
| {"colr=",0x300000c}, | |||
| {"amp=", 0x300000d}, | |||
| {"amp=", 0x300000d}, // set rms of 1st frame as fraction of rms of 2nd frame (1/30ths) | |||
| {"", -1} | |||
| }; | |||
| @@ -1286,6 +1287,7 @@ void Compile::VowelTransition(int which, unsigned int *trans) | |||
| vcolour = NextItem(tNUMBER); | |||
| break; | |||
| case 13: | |||
| // set rms of 1st frame as fraction of rms of 2nd frame (1/30ths) | |||
| rms = (Range(NextItem(tNUMBER), 1, 0, 31) & 0x1f) | 0x20; | |||
| flags |= 1; | |||
| break; | |||
| @@ -90,6 +90,7 @@ MNEM_TAB mnem_flags[] = { | |||
| {"$alt2", 21}, | |||
| {"$max3", 27}, // limit to 3 repetitions | |||
| {"$brk", 28}, // a shorter $pause | |||
| {"$text", 29}, // word translates to replcement text, not phonemes | |||
| @@ -684,6 +684,7 @@ int Translator::IsLetterGroup(char *word, int group, int pre) | |||
| // match the word against a list of utf-8 strings | |||
| char *p; | |||
| char *w; | |||
| int len; | |||
| p = letterGroups[group]; | |||
| if(p == NULL) | |||
| @@ -691,14 +692,26 @@ int Translator::IsLetterGroup(char *word, int group, int pre) | |||
| while(*p != RULE_GROUP_END) | |||
| { | |||
| w = word; | |||
| if(pre) | |||
| { | |||
| len = strlen(p); | |||
| w = word - len + 1; | |||
| } | |||
| else | |||
| { | |||
| w = word; | |||
| } | |||
| while(*p == *w) | |||
| { | |||
| w++; | |||
| p++; | |||
| } | |||
| if(*p == 0) | |||
| { | |||
| if(pre) | |||
| return(len); | |||
| return(w-word); // matched a complete string | |||
| } | |||
| while(*p++ != 0); // skip to end of string | |||
| } | |||
| @@ -1023,6 +1036,7 @@ void Translator::SetWordStress(char *output, unsigned int dictionary_flags, int | |||
| unsigned char vowel_stress[N_WORD_PHONEMES/2]; | |||
| char syllable_weight[N_WORD_PHONEMES/2]; | |||
| char vowel_length[N_WORD_PHONEMES/2]; | |||
| unsigned char phonetic[N_WORD_PHONEMES]; | |||
| static char consonant_types[16] = {0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0}; | |||
| @@ -1079,6 +1093,7 @@ void Translator::SetWordStress(char *output, unsigned int dictionary_flags, int | |||
| // long vowel, increase syllable weight | |||
| weight++; | |||
| } | |||
| vowel_length[ix] = weight; | |||
| if(lengthened) p++; // advance over phonLENGTHEN | |||
| @@ -1150,6 +1165,14 @@ void Translator::SetWordStress(char *output, unsigned int dictionary_flags, int | |||
| } | |||
| } | |||
| } | |||
| if(langopts.stress_flags & 0x80000) | |||
| { | |||
| // stress on last syllable if it has a long vowel, but previous syllable has a short vowel | |||
| if(vowel_length[vowel_count - 1] > vowel_length[vowel_count - 2]) | |||
| { | |||
| stressed_syllable = vowel_count - 1; | |||
| } | |||
| } | |||
| if(vowel_stress[stressed_syllable] == 1) | |||
| { | |||
| @@ -2547,6 +2570,10 @@ int Translator::TranslateRules(char *p_start, char *phonemes, int ph_size, char | |||
| } | |||
| p += (wc_bytes-1); | |||
| } | |||
| else | |||
| { | |||
| phonemes_repeat_count = 0; | |||
| } | |||
| } | |||
| } | |||
| @@ -2590,6 +2617,7 @@ int Translator::TranslateRules(char *p_start, char *phonemes, int ph_size, char | |||
| // any language specific changes ? | |||
| ApplySpecialAttribute(phonemes,dict_flags0); | |||
| memcpy(p_start,word_copy,strlen(word_copy)); | |||
| return(0); | |||
| } /* end of TranslateRules */ | |||
| @@ -3127,6 +3155,28 @@ int Translator::LookupDictList(char **wordptr, char *ph_out, unsigned int *flags | |||
| found = LookupDict2(word, word1, ph_out, flags, end_flags, wtab); | |||
| if(flags[0] & FLAG_MAX3) | |||
| { | |||
| if(strcmp(ph_out, phonemes_repeat) == 0) | |||
| { | |||
| phonemes_repeat_count++; | |||
| if(phonemes_repeat_count > 3) | |||
| { | |||
| ph_out[0] = 0; | |||
| } | |||
| } | |||
| else | |||
| { | |||
| strncpy0(phonemes_repeat, ph_out, sizeof(phonemes_repeat)); | |||
| phonemes_repeat_count = 1; | |||
| } | |||
| } | |||
| else | |||
| { | |||
| phonemes_repeat_count = 0; | |||
| } | |||
| if((found == 0) && (flags[1] & FLAG_ACCENT)) | |||
| { | |||
| int letter; | |||
| @@ -324,7 +324,7 @@ int main (int argc, char **argv) | |||
| FILE *f_text=NULL; | |||
| char *p_text=NULL; | |||
| FILE *f_phonemes_out = stderr; | |||
| FILE *f_phonemes_out = stdout; | |||
| char *data_path = NULL; // use default path for espeak-data | |||
| int option_index = 0; | |||
| @@ -345,7 +345,8 @@ int main (int argc, char **argv) | |||
| int option_linelength = 0; | |||
| int option_waveout = 0; | |||
| char filename[120]; | |||
| espeak_VOICE voice_select; | |||
| char filename[200]; | |||
| char voicename[40]; | |||
| char voice_mbrola[20]; | |||
| char dictname[40]; | |||
| @@ -529,8 +530,13 @@ int main (int argc, char **argv) | |||
| if(espeak_SetVoiceByName(voicename) != EE_OK) | |||
| { | |||
| fprintf(stderr,"%svoice '%s'\n",err_load,voicename); | |||
| exit(2); | |||
| memset(&voice_select,0,sizeof(voice_select)); | |||
| voice_select.languages = voicename; | |||
| if(espeak_SetVoiceByProperties(&voice_select) != EE_OK) | |||
| { | |||
| fprintf(stderr,"%svoice '%s'\n",err_load,voicename); | |||
| exit(2); | |||
| } | |||
| } | |||
| if(flag_compile) | |||
| @@ -79,8 +79,6 @@ const unsigned short punct_chars[] = {',','.','?','!',':',';', | |||
| 0x037e, // Greek question mark (looks like semicolon) | |||
| 0x0387, // Greek semicolon, ano teleia | |||
| 0x0964, // Devanagari Danda (fullstop) | |||
| 0x3001, // ideograph comma | |||
| 0x3002, // ideograph period | |||
| 0x0589, // Armenian period | |||
| 0x055d, // Armenian comma | |||
| @@ -88,6 +86,17 @@ const unsigned short punct_chars[] = {',','.','?','!',':',';', | |||
| 0x055e, // Armenian question | |||
| 0x055b, // Armenian emphasis mark | |||
| 0x1362, // Ethiopic period | |||
| 0x1363, | |||
| 0x1364, | |||
| 0x1365, | |||
| 0x1366, | |||
| 0x1367, | |||
| 0x1368, | |||
| 0x3001, // ideograph comma | |||
| 0x3002, // ideograph period | |||
| 0xff01, // fullwidth exclamation | |||
| 0xff0c, // fullwidth comma | |||
| 0xff0e, // fullwidth period | |||
| @@ -109,8 +118,6 @@ static const unsigned int punct_attributes [] = { 0, | |||
| CLAUSE_QUESTION, // Greek question mark | |||
| CLAUSE_SEMICOLON, // Greek semicolon | |||
| CLAUSE_PERIOD+0x8000, // Devanagari Danda (fullstop) | |||
| CLAUSE_COMMA+0x8000, // ideograph comma | |||
| CLAUSE_PERIOD+0x8000, // ideograph period | |||
| CLAUSE_PERIOD+0x8000, // Armenian period | |||
| CLAUSE_COMMA, // Armenian comma | |||
| @@ -118,6 +125,17 @@ static const unsigned int punct_attributes [] = { 0, | |||
| CLAUSE_QUESTION + PUNCT_IN_WORD, // Armenian question | |||
| CLAUSE_PERIOD + PUNCT_IN_WORD, // Armenian emphasis mark | |||
| CLAUSE_PERIOD, // Ethiopic period | |||
| CLAUSE_COMMA, // Ethiopic comma | |||
| CLAUSE_SEMICOLON, // Ethiopic semicolon | |||
| CLAUSE_COLON, // Ethiopic colon | |||
| CLAUSE_COLON, // Ethiopic preface colon | |||
| CLAUSE_QUESTION, // Ethiopic question mark | |||
| CLAUSE_PERIOD, // Ethiopic paragraph | |||
| CLAUSE_COMMA+0x8000, // ideograph comma | |||
| CLAUSE_PERIOD+0x8000, // ideograph period | |||
| CLAUSE_EXCLAMATION+0x8000, // fullwidth | |||
| CLAUSE_COMMA+0x8000, | |||
| CLAUSE_PERIOD+0x8000, | |||
| @@ -865,7 +883,7 @@ int Translator::AnnouncePunctuation(int c1, int c2, char *buf, int bufix) | |||
| #define SSML_AUDIO 11 | |||
| #define SSML_EMPHASIS 12 | |||
| #define SSML_BREAK 13 | |||
| #define SSML_METADATA 14 | |||
| #define SSML_IGNORE_TEXT 14 | |||
| #define HTML_BREAK 15 | |||
| #define SSML_CLOSE 0x10 // for a closing tag, OR this with the tag type | |||
| @@ -887,7 +905,7 @@ MNEM_TAB ssmltags[] = { | |||
| {"audio", SSML_AUDIO}, | |||
| {"emphasis", SSML_EMPHASIS}, | |||
| {"break", SSML_BREAK}, | |||
| {"metadata", SSML_METADATA}, | |||
| {"metadata", SSML_IGNORE_TEXT}, | |||
| {"br", HTML_BREAK}, | |||
| {"li", HTML_BREAK}, | |||
| @@ -898,6 +916,8 @@ MNEM_TAB ssmltags[] = { | |||
| {"h3", SSML_PARAGRAPH}, | |||
| {"h4", SSML_PARAGRAPH}, | |||
| {"hr", SSML_PARAGRAPH}, | |||
| {"script", SSML_IGNORE_TEXT}, | |||
| {"style", SSML_IGNORE_TEXT}, | |||
| {NULL,0}}; | |||
| @@ -911,6 +931,7 @@ static const char *VoiceFromStack() | |||
| SSML_STACK *sp; | |||
| const char *v_id; | |||
| int voice_name_specified; | |||
| int voice_found; | |||
| espeak_VOICE voice_select; | |||
| char voice_name[40]; | |||
| char language[40]; | |||
| @@ -952,7 +973,7 @@ static const char *VoiceFromStack() | |||
| voice_select.name = voice_name; | |||
| voice_select.languages = language; | |||
| v_id = SelectVoice(&voice_select); | |||
| v_id = SelectVoice(&voice_select, &voice_found); | |||
| if(v_id == NULL) | |||
| return("default"); | |||
| return(v_id); | |||
| @@ -1625,12 +1646,12 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb | |||
| } | |||
| break; | |||
| case SSML_METADATA: | |||
| case SSML_IGNORE_TEXT: | |||
| ignore_text = 1; | |||
| break; | |||
| case SSML_SUB + SSML_CLOSE: | |||
| case SSML_METADATA + SSML_CLOSE: | |||
| case SSML_IGNORE_TEXT + SSML_CLOSE: | |||
| ignore_text = 0; | |||
| break; | |||
| @@ -447,7 +447,7 @@ static void StopSpeak(int unused) | |||
| static int optional_argument; | |||
| static const char *arg_opts = "afklpsvw"; // which options have arguments | |||
| static char *opt_string=""; | |||
| #define no_argument 0 | |||
| #define no_argument 0 | |||
| #define required_argument 1 | |||
| #define optional_argument 2 | |||
| #endif | |||
| @@ -494,7 +494,8 @@ int main (int argc, char **argv) | |||
| int flag_stdin = 0; | |||
| int flag_compile = 0; | |||
| int pitch_adjustment = 50; | |||
| char filename[120]; | |||
| espeak_VOICE voice_select; | |||
| char filename[200]; | |||
| char voicename[40]; | |||
| char dictname[40]; | |||
| @@ -510,10 +511,11 @@ int main (int argc, char **argv) | |||
| option_endpause = 1; | |||
| option_phoneme_input = 1; | |||
| option_multibyte = espeakCHARS_AUTO; // auto | |||
| f_trans = stderr; | |||
| f_trans = stdout; | |||
| #ifdef NEED_GETOPT | |||
| optind = 1; | |||
| opt_string = ""; | |||
| while(optind < argc) | |||
| { | |||
| int len; | |||
| @@ -735,8 +737,13 @@ int main (int argc, char **argv) | |||
| if(SetVoiceByName(voicename) != EE_OK) | |||
| { | |||
| fprintf(stderr,"%svoice '%s'\n",err_load,voicename); | |||
| exit(2); | |||
| memset(&voice_select,0,sizeof(voice_select)); | |||
| voice_select.languages = voicename; | |||
| if(SetVoiceByProperties(&voice_select) != EE_OK) | |||
| { | |||
| fprintf(stderr,"%svoice '%s'\n",err_load,voicename); | |||
| exit(2); | |||
| } | |||
| } | |||
| SetParameter(espeakRATE,speed,0); | |||
| @@ -911,10 +911,12 @@ ESPEAK_API espeak_ERROR espeak_Char(wchar_t character) | |||
| ESPEAK_API espeak_ERROR espeak_SetVoiceByName(const char *name) | |||
| {//=================================================== | |||
| {//============================================================ | |||
| ENTER("espeak_SetVoiceByName"); | |||
| #ifdef USE_ASYNC | |||
| //#ifdef USE_ASYNC | |||
| // I don't think there's a need to queue change voice requests | |||
| #ifdef deleted | |||
| espeak_ERROR a_error; | |||
| if(synchronous_mode) | |||
| @@ -937,10 +939,11 @@ ESPEAK_API espeak_ERROR espeak_SetVoiceByName(const char *name) | |||
| ESPEAK_API espeak_ERROR espeak_SetVoiceByProperties(espeak_VOICE *voice_selector) | |||
| {//===================================================================== | |||
| {//============================================================================== | |||
| ENTER("espeak_SetVoiceByProperties"); | |||
| #ifdef USE_ASYNC | |||
| //#ifdef USE_ASYNC | |||
| #ifdef deleted | |||
| espeak_ERROR a_error; | |||
| if(synchronous_mode) | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.39.29 23.Nov.08"; | |||
| const char *version_string = "1.39.36 03.Dec.08"; | |||
| const int version_phdata = 0x013900; | |||
| int option_device_number = -1; | |||
| @@ -123,7 +123,7 @@ Translator *SelectTranslator(const char *name) | |||
| int name2 = 0; | |||
| Translator *tr; | |||
| static const unsigned char stress_amps_sk[8] = {16,16, 20,20, 20,24, 24,22 }; | |||
| static const unsigned char stress_amps_sk[8] = {17,17, 20,20, 20,24, 24,22 }; | |||
| static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210}; | |||
| // convert name string into a word of up to 4 characters, for the switch() | |||
| @@ -198,10 +198,9 @@ Translator *SelectTranslator(const char *name) | |||
| case L('d','a'): // Danish | |||
| { | |||
| static const unsigned char stress_amps_da[] = {16,16, 20,20, 20,24, 24,22 }; | |||
| static const short stress_lengths_da[8] = {160,140, 200,200, 0,0, 220,210}; | |||
| tr = new Translator(); | |||
| SetupTranslator(tr,stress_lengths_da,stress_amps_da); | |||
| SetupTranslator(tr,stress_lengths_da,NULL); | |||
| tr->langopts.stress_rule = 0; | |||
| SetLetterVowel(tr,'y'); | |||
| @@ -365,6 +364,16 @@ Translator *SelectTranslator(const char *name) | |||
| } | |||
| break; | |||
| #ifdef deleted | |||
| case L('g','a'): // Irish Gaelic | |||
| { | |||
| tr = new Translator(); | |||
| tr->langopts.stress_rule = 1; | |||
| } | |||
| break; | |||
| #endif | |||
| case L('h','i'): // Hindi | |||
| case L('n','e'): // Nepali | |||
| { | |||
| @@ -390,7 +399,7 @@ Translator *SelectTranslator(const char *name) | |||
| case L('b','s'): // Bosnian | |||
| case L('s','r'): // Serbian | |||
| { | |||
| static const unsigned char stress_amps_hr[8] = {16,16, 20,20, 20,24, 24,22 }; | |||
| static const unsigned char stress_amps_hr[8] = {17,17, 20,20, 20,24, 24,22 }; | |||
| static const short stress_lengths_hr[8] = {180,160, 200,200, 0,0, 220,230}; | |||
| static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260}; | |||
| @@ -476,12 +485,11 @@ SetLengthMods(tr,3); // all equal | |||
| case L('i','s'): // Icelandic | |||
| { | |||
| static const unsigned char stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 }; | |||
| static const short stress_lengths_is[8] = {180,160, 200,200, 0,0, 240,250}; | |||
| static const wchar_t is_lettergroup_B[] = {'c','f','h','k','p','t','x',0xfe,0}; // voiceless conants, including 'þ' ?? 's' | |||
| tr = new Translator(); | |||
| SetupTranslator(tr,stress_lengths_is,stress_amps_is); | |||
| SetupTranslator(tr,stress_lengths_is,NULL); | |||
| tr->langopts.stress_rule = 0; | |||
| tr->langopts.stress_flags = 0x10; | |||
| tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels | |||
| @@ -499,8 +507,8 @@ SetLengthMods(tr,3); // all equal | |||
| case L('i','t'): // Italian | |||
| { | |||
| static const short stress_lengths_it[8] = {150, 140, 180, 180, 0, 0, 270, 320}; | |||
| static const unsigned char stress_amps_it[8] = {15,14, 19,19, 20,24, 24,22 }; | |||
| static const short stress_lengths_it[8] = {150, 140, 170, 170, 0, 0, 300, 330}; | |||
| static const unsigned char stress_amps_it[8] = {15,14, 19,19, 20,22, 22,20 }; | |||
| tr = new Translator(); | |||
| SetupTranslator(tr,stress_lengths_it,stress_amps_it); | |||
| @@ -606,7 +614,7 @@ SetLengthMods(tr,3); // all equal | |||
| { | |||
| static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R] | |||
| 0x430,0x435,0x438,0x439,0x43e,0x443,0x44b,0x44d,0x44e,0x44f,0x450,0x451,0x456,0x457,0x45d,0x45e,0}; | |||
| static const unsigned char stress_amps_mk[8] = {16,16, 20,20, 20,24, 24,22 }; | |||
| static const unsigned char stress_amps_mk[8] = {17,17, 20,20, 20,24, 24,22 }; | |||
| static const short stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230}; | |||
| tr = new Translator(); | |||
| @@ -639,10 +647,9 @@ 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,200, 0,0, 220,210}; | |||
| tr = new Translator(); | |||
| SetupTranslator(tr,stress_lengths_no,stress_amps_no); | |||
| SetupTranslator(tr,stress_lengths_no,NULL); | |||
| tr->langopts.stress_rule = 0; | |||
| SetLetterVowel(tr,'y'); | |||
| @@ -652,12 +659,13 @@ SetLengthMods(tr,3); // all equal | |||
| case L('o','m'): | |||
| { | |||
| static const unsigned char stress_amps_om[] = {16,16, 20,20, 20,24, 24,22 }; | |||
| static const unsigned char stress_amps_om[] = {18,15, 20,20, 20,22, 22,22 }; | |||
| static const short stress_lengths_om[8] = {200,200, 200,200, 0,0, 200,200}; | |||
| tr = new Translator(); | |||
| SetupTranslator(tr,stress_lengths_om,stress_amps_om); | |||
| tr->langopts.stress_rule = 3; | |||
| tr->langopts.stress_rule = 2; | |||
| tr->langopts.stress_flags = 0x16 + 0x80000; | |||
| } | |||
| break; | |||
| @@ -766,11 +774,13 @@ SetLengthMods(tr,3); // all equal | |||
| case L('s','q'): // Albanian | |||
| { | |||
| static const short stress_lengths_sq[8] = {170, 170, 170, 170, 0, 0, 250, 270}; | |||
| static const unsigned char stress_amps_sq[8] = {17,12, 17,17, 20,20, 24,22 }; | |||
| static const short stress_lengths_sq[8] = {150, 150, 180, 180, 0, 0, 300, 300}; | |||
| static const unsigned char stress_amps_sq[8] = {16,12, 16,16, 20,20, 21,19 }; | |||
| tr = new Translator(); | |||
| SetupTranslator(tr,stress_lengths_sq,stress_amps_sq); | |||
| tr->langopts.stress_flags = 0x4 + 0x10; | |||
| tr->langopts.stress_rule = 2; | |||
| tr->langopts.stress_flags = 0x16 + 0x100; | |||
| SetLetterVowel(tr,'y'); | |||
| tr->langopts.numbers = 0x69 + 0x8000; | |||
| } | |||
| @@ -879,8 +889,8 @@ SetLengthMods(tr,3); // all equal | |||
| case L('v','i'): // Vietnamese | |||
| { | |||
| static const short stress_lengths_vi[8] = {150, 150, 180, 180, 210, 220, 220, 280}; | |||
| static const unsigned char stress_amps_vi[] = {16,16, 16,16, 24,24, 24,22 }; | |||
| static const short stress_lengths_vi[8] = {150, 150, 180, 180, 210, 230, 230, 240}; | |||
| static const unsigned char stress_amps_vi[] = {16,16, 16,16, 22,22, 22,22 }; | |||
| static wchar_t vowels_vi[] = { | |||
| 0x61, 0xe0, 0xe1, 0x1ea3, 0xe3, 0x1ea1, // a | |||
| 0x103, 0x1eb1, 0x1eaf, 0x1eb3, 0x1eb5, 0x1eb7, // ă | |||
| @@ -900,12 +910,12 @@ SetLengthMods(tr,3); // all equal | |||
| tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | |||
| tr->langopts.stress_rule = 0; | |||
| tr->langopts.word_gap = 0x20; // length of a final vowel is less dependent on the next consonant | |||
| tr->langopts.vowel_pause = 4; | |||
| tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word | |||
| // tr->langopts.vowel_pause = 4; | |||
| tr->letter_groups[0] = vowels_vi; | |||
| // tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words | |||
| tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() | |||
| tr->langopts.unstressed_wd1 = 2; | |||
| tr->langopts.numbers = 0x0049; | |||
| } | |||
| break; | |||
| @@ -412,7 +412,7 @@ int IsSpace(unsigned int c) | |||
| Translator::Translator() | |||
| {//===================== | |||
| int ix; | |||
| static const unsigned char stress_amps2[] = {16,16, 20,20, 20,24, 24,21 }; | |||
| static const unsigned char stress_amps2[] = {17,17, 20,20, 20,24, 24,21 }; | |||
| static const short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280}; | |||
| static const wchar_t empty_wstring[1] = {0}; | |||
| static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words | |||
| @@ -2111,6 +2111,7 @@ void *Translator::TranslateClause(FILE *f_text, const void *vp_input, int *tone_ | |||
| expect_verb_s=0; | |||
| end_stressed_vowel=0; | |||
| prev_dict_flags = 0; | |||
| phonemes_repeat_count = 0; | |||
| sbuf[0] = 0; | |||
| sbuf[1] = ' '; | |||
| @@ -56,7 +56,7 @@ | |||
| #define FLAG_ALT_TRANS 0x100000 // language specific | |||
| #define FLAG_ALT2_TRANS 0x200000 // language specific | |||
| #define FLAG_MAX3 0x08000000 // limit to 3 repeats | |||
| #define FLAG_PAUSE1 0x10000000 // shorter prepause | |||
| #define FLAG_TEXTMODE 0x20000000 // word translates to replacement text, not phonemes | |||
| #define BITNUM_FLAG_TEXTMODE 29 | |||
| @@ -314,6 +314,7 @@ typedef struct { | |||
| // bit16= Don't diminish consecutive syllables within a word. | |||
| // bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary" | |||
| // bit18= don't lengthen short vowels more than long vowels at end-of-clause | |||
| // bit19=stress on final syllable if it has a long vowel, but previous syllable has a short vowel | |||
| int stress_flags; | |||
| int unstressed_wd1; // stress for $u word of 1 syllable | |||
| @@ -416,6 +417,8 @@ public: | |||
| char phon_out[300]; | |||
| char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes | |||
| char phonemes_repeat[20]; | |||
| int phonemes_repeat_count; | |||
| unsigned char stress_amps[8]; | |||
| unsigned char stress_amps_r[8]; | |||
| @@ -71,7 +71,7 @@ extern USHORT voice_pcnt[N_PEAKS+1][3]; | |||
| extern voice_t *voice; | |||
| extern int tone_points[12]; | |||
| const char *SelectVoice(espeak_VOICE *voice_select); | |||
| const char *SelectVoice(espeak_VOICE *voice_select, int *found); | |||
| espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name); | |||
| voice_t *LoadVoice(const char *voice_name, int control); | |||
| voice_t *LoadVoiceVariant(const char *voice_name, int variant); | |||
| @@ -365,8 +365,11 @@ void VoiceReset(int tone_only) | |||
| static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | |||
| // default is: pitch 82,118 | |||
| voice->pitch_base = 0x49000; // default, 73 << 12; | |||
| voice->pitch_range = 0x0f30; // default = 0x1000 | |||
| // voice->pitch_base = 0x49000; // default, 73 << 12; | |||
| // voice->pitch_range = 0x0f30; // default = 0x1000 | |||
| voice->pitch_base = 0x47000; | |||
| voice->pitch_range = 3996; | |||
| voice->formant_factor = 256; | |||
| voice->echo_delay = 0; | |||
| @@ -1122,7 +1125,7 @@ static int ScoreVoice(espeak_VOICE *voice_spec, const char *spec_language, int s | |||
| matching_parts += matching; // number of parts which match | |||
| if(matching_parts == 0) | |||
| break; // no matching parts for this language | |||
| continue; // no matching parts for this language | |||
| x = 5; | |||
| // reduce the score if not all parts of the required language match | |||
| @@ -1301,8 +1304,8 @@ espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name) | |||
| char const *SelectVoice(espeak_VOICE *voice_select) | |||
| {//================================================ | |||
| char const *SelectVoice(espeak_VOICE *voice_select, int *found) | |||
| {//============================================================ | |||
| // Returns a path within espeak-voices, with a possible +variant suffix | |||
| // variant is an output-only parameter | |||
| int nv; // number of candidates | |||
| @@ -1323,6 +1326,7 @@ char const *SelectVoice(espeak_VOICE *voice_select) | |||
| static espeak_VOICE voice_variants[N_VOICE_VARIANTS]; | |||
| static char voice_id[50]; | |||
| *found = 1; | |||
| memcpy(&voice_select2,voice_select,sizeof(voice_select2)); | |||
| if(n_voices_list == 0) | |||
| @@ -1366,6 +1370,7 @@ char const *SelectVoice(espeak_VOICE *voice_select) | |||
| if(nv == 0) | |||
| { | |||
| // no matching voice, choose the default | |||
| *found = 0; | |||
| if((voices[0] = SelectVoiceByName(voices_list,"default")) != NULL) | |||
| nv = 1; | |||
| } | |||
| @@ -1639,8 +1644,12 @@ espeak_ERROR SetVoiceByName(const char *name) | |||
| espeak_ERROR SetVoiceByProperties(espeak_VOICE *voice_selector) | |||
| {//============================================================ | |||
| const char *voice_id; | |||
| int voice_found; | |||
| voice_id = SelectVoice(voice_selector, &voice_found); | |||
| voice_id = SelectVoice(voice_selector); | |||
| if(voice_found == 0) | |||
| return(EE_NOT_FOUND); | |||
| LoadVoiceVariant(voice_id,0); | |||
| DoVoiceChange(voice); | |||
| @@ -59,7 +59,7 @@ voice_t *wvoice; | |||
| FILE *f_log = NULL; | |||
| int option_waveout = 0; | |||
| int option_harmonic1 = 11; // 10 | |||
| int option_harmonic1 = 10; // 10 | |||
| int option_log_frames = 0; | |||
| static int flutter_amp = 64; | |||
| @@ -252,7 +252,7 @@ static const unsigned char Flutter_tab[N_FLUTTER] = { | |||
| }; | |||
| // waveform shape table for HF peaks, formants 6,7,8 | |||
| #define N_WAVEMULT 512 | |||
| #define N_WAVEMULT 128 | |||
| static int wavemult_offset=0; | |||
| static int wavemult_max=0; | |||
| @@ -266,32 +266,8 @@ static unsigned char wavemult[N_WAVEMULT] = { | |||
| 218,213,207,201,194,188,181,174,166,159,152,144,136,128,121,113, | |||
| 105, 98, 90, 83, 76, 69, 62, 55, 49, 43, 37, 32, 27, 22, 18, 14, | |||
| 11, 8, 5, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; | |||
| // set from y = pow(2,x) * 128, x=-1 to 1 | |||
| unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { | |||
| @@ -662,24 +638,31 @@ int WavegenOpenSound() | |||
| } | |||
| int WavegenCloseSound() | |||
| {//==================== | |||
| PaError active; | |||
| // check whether speaking has finished, and close the stream | |||
| // if(pa_stream != NULL) | |||
| if((pa_stream != NULL) && (WcmdqUsed() == 0)) // TEST, also check that queue is empty | |||
| if(pa_stream != NULL) | |||
| { | |||
| #if USE_PORTAUDIO == 18 | |||
| active = Pa_StreamActive(pa_stream); | |||
| #else | |||
| active = Pa_IsStreamActive(pa_stream); | |||
| #endif | |||
| if(active == 0) | |||
| if(WcmdqUsed() == 0) // also check that the queue is empty | |||
| { | |||
| Pa_CloseStream(pa_stream); | |||
| pa_stream = NULL; | |||
| return(1); | |||
| if(active == 0) | |||
| { | |||
| Pa_CloseStream(pa_stream); | |||
| pa_stream = NULL; | |||
| return(1); | |||
| } | |||
| } | |||
| else | |||
| { | |||
| WavegenOpenSound(); // still items in the queue, shouldn't be closed | |||
| } | |||
| } | |||
| return(0); | |||
| @@ -901,13 +884,20 @@ int PeaksToHarmspect(wavegen_peaks_t *peaks, int pitch, int *htab, int control) | |||
| } | |||
| } | |||
| // increase bass, up to the F1 peak | |||
| h=1; | |||
| x = peaks[1].height * 24; | |||
| for(f=pitch; f<peaks[1].freq; f+=pitch) | |||
| { | |||
| int y; | |||
| int h2; | |||
| // increase bass | |||
| y = peaks[1].height * 10; // addition as a multiple of 1/256s | |||
| h2 = (1000<<16)/pitch; // decrease until 1000Hz | |||
| x = y/h2; | |||
| h = 1; | |||
| while(y > 0) | |||
| { | |||
| htab[h++] += x; | |||
| htab[h++] += y; | |||
| y -= x; | |||
| } | |||
| } | |||
| // find the nearest harmonic for HF peaks where we don't use shape | |||
| for(; pk<N_PEAKS; pk++) | |||
| @@ -1255,8 +1245,8 @@ int Wavegen() | |||
| if((ix = amp_ix>>8) > 127) ix = 127; | |||
| amp = amplitude_env[ix]; | |||
| amplitude2 = (amplitude2 * amp)/255; | |||
| if(amp < 255) | |||
| modulation_type = 7; | |||
| // if(amp < 255) | |||
| // modulation_type = 7; | |||
| } | |||
| // introduce roughness into the sound by reducing the amplitude of | |||