*_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
| & a a: a~ e E e~ i | & a a: a~ e E e~ i | ||||
| I i: i:~ i~ l- o O o: | 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 | Dictionary ca_dict | ||||
| Dictionary fr_dict | 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 | Dictionary grc_dict | ||||
| @ @- @2 @3 a a: aI aU | @ @- @2 @3 a a: aI aU | ||||
| e E e: E: E~ i I i: | 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 | 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 | Dictionary hu_dict | ||||
| I i: o o: r- u u: V | I i: o o: r- u u: V | ||||
| y | 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 | Dictionary ko_dict | ||||
| I i: o o: r- u u: V | I i: o o: r- u u: V | ||||
| y | 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 | Dictionary ne_dict | ||||
| @ @/ @2 @3 a aI aU a~ | @ @/ @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~ | 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 | Dictionary nl_dict | ||||
| Dictionary om_dict | 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 | dZ f g h j k k` l | ||||
| m n n^ p p` R s S | m n n^ p p` R s S | ||||
| t t` tS v w z | |||||
| s2 t t` tS v w z | |||||
| Dictionary pl_dict | 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; | s; S; t t; tS ts ts; tS; | ||||
| v w x z Z Z; | v w x z Z Z; | ||||
| Dictionary sq_dict | 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 | Dictionary sv_dict | ||||
| * : b d D f g h | * : b d D f g h | ||||
| j J k l m n N n^ | 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 | v w x z | ||||
| u@ uI y y@ yI | u@ uI y y@ yI | ||||
| b c d D f g h j | 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 | Dictionary zh_dict | ||||
| uo y y& y@ yE yi yu | uo y y& y@ yE yi yu | ||||
| (u) ; C f h j k kh | (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 | Dictionary zhy_dict | ||||
| b c d f g h j k | b c d f g h j k | ||||
| l m n N p r s t | l m n N p r s t | ||||
| tS v w z | tS v w z | ||||
| Dictionary ga_dict | |||||
| a A: E e: I O | |||||
| b c C d k l r v | |||||
| w x |
| // letter names, as they are spoken as a single character in text | // letter names, as they are spoken as a single character in text | ||||
| // precede by _ to distinguish from pronunciation as a language word | // precede by _ to distinguish from pronunciation as a language word | ||||
| test h'EloU | |||||
| _a eI | _a eI | ||||
| b bi: | b bi: | ||||
| _¦ broUk@nb'A@ | _¦ broUk@nb'A@ | ||||
| _¨ daIa2r'i:sIs | _¨ daIa2r'i:sIs | ||||
| _ª fEmI2nIn'O@dI2n@L | _ª fEmI2nIn'O@dI2n@L | ||||
| _« lEft'ang@LkwoUts | |||||
| _« lEft'gIl@mEt | |||||
| _ makr0n | _ makr0n | ||||
| _² su:p@skrIptt'u: | _² su:p@skrIptt'u: | ||||
| _³ su:p@skrIptT'ri: | _³ su:p@skrIptT'ri: | ||||
| _¸ sEd'Il@ | _¸ sEd'Il@ | ||||
| _¹ su:p@skrIptw'0n | _¹ su:p@skrIptw'0n | ||||
| _º maskjUlIn'O@dI2n@L | _º maskjUlIn'O@dI2n@L | ||||
| _» raIt'ang@LkwoUts | |||||
| _» raIt'gIl@mEt | |||||
| _¿ Inv,3:tI2dkw'EstS@n | _¿ Inv,3:tI2dkw'EstS@n | ||||
| _‐ haIf@n | _‐ haIf@n | ||||
| _‼ Ekskla2m'eIS@nz | _‼ Ekskla2m'eIS@nz | ||||
| _₠ jU@roU | _₠ 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 | ¢ sEnts | ||||
| £ paUnd | £ paUnd | ||||
| ¥ jEn | ¥ jEn | ||||
| cobol koUb0l | cobol koUb0l | ||||
| cocoa koUkoU | cocoa koUkoU | ||||
| cochlea k0kli:@ | cochlea k0kli:@ | ||||
| cockeye k0kaI | |||||
| cocksure ,k0kS'U@ | |||||
| coconut koUk@nVt | coconut koUk@nVt | ||||
| codify koUdI2faI | codify koUdI2faI | ||||
| coeur k3: | coeur k3: | ||||
| execute EksI2kju:t // not $2 | execute EksI2kju:t // not $2 | ||||
| exile $1 | exile $1 | ||||
| exodus Eks@d@s | exodus Eks@d@s | ||||
| expedite Eksp@daIt // expedited | |||||
| expert Eksp3:t | expert Eksp3:t | ||||
| expertise Eksp3t'i:z | expertise Eksp3t'i:z | ||||
| exploit $1 $onlys | exploit $1 $onlys | ||||
| extract $1 $onlys | extract $1 $onlys | ||||
| extract $1 $only | extract $1 $only | ||||
| extract $2 $verb | extract $2 $verb | ||||
| extradite Ekstr@daIt // extradited | |||||
| extrem Ekstr'i:m // extremism | extrem Ekstr'i:m // extremism | ||||
| extremist Ekstr'i:mIst | extremist Ekstr'i:mIst | ||||
| eyrie i@rI | eyrie i@rI | ||||
| interrupt $1 $onlys | interrupt $1 $onlys | ||||
| interrupt $3 $verb | interrupt $3 $verb | ||||
| interval Int3v@L | interval Int3v@L | ||||
| interven Int3v'i:n // for intervening | |||||
| interven Int3v'i:n // for intervening | |||||
| intray IntreI | |||||
| intro $1 | intro $1 | ||||
| irate aIr'eIt | irate aIr'eIt | ||||
| iris aIrIs | iris aIrIs | ||||
| iron aI@n | |||||
| irony aIr@nI | irony aIr@nI | ||||
| isosceles aIs'0s@li:z | isosceles aIs'0s@li:z | ||||
| itinerary aIt'In@r@rI | itinerary aIt'In@r@rI | ||||
| papal peIp@L | papal peIp@L | ||||
| pagan peIg@n | pagan peIg@n | ||||
| pageant padZ@nt | pageant padZ@nt | ||||
| paltry pO:ltrI | |||||
| panacea pana2s'i:@ | panacea pana2s'i:@ | ||||
| panache $2 | panache $2 | ||||
| parabola p@rab@l@ | parabola p@rab@l@ | ||||
| truest tru:@st | truest tru:@st | ||||
| tryst trIst | tryst trIst | ||||
| tudor tju:d3 | tudor tju:d3 | ||||
| turntable t3:nteIb@L | |||||
| tulip tju:lIp | tulip tju:lIp | ||||
| turnkey t3:nki: | turnkey t3:nki: | ||||
| ?5 turnkey tVRnki: | ?5 turnkey tVRnki: | ||||
| Cassey keIsI | Cassey keIsI | ||||
| Catherine kaTrI2n | Catherine kaTrI2n | ||||
| Cecile sEsi:l | Cecile sEsi:l | ||||
| Chloe kloUI | |||||
| Chris krIs | Chris krIs | ||||
| Connor k0n3 | Connor k0n3 | ||||
| Daphne dafnI | Daphne dafnI | ||||
| Campbell kamb@l | Campbell kamb@l | ||||
| Chrysler kraIzl3 | Chrysler kraIzl3 | ||||
| Disney dIznI | Disney dIznI | ||||
| Patel p@t'El | |||||
| Patel pa2tEl | |||||
| Primavera pri:m@v'e@r@ | Primavera pri:m@v'e@r@ | ||||
| Prentice prEntIs | Prentice prEntIs | ||||
| Reuter rOIt3 | Reuter rOIt3 |
| @) ally (_S2 l%I | @) ally (_S2 l%I | ||||
| @@ic) ally (_S4 l%I | @@ic) ally (_S4 l%I | ||||
| inst) al (_ O:l | 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 | b) al (k O:l | ||||
| f) al (k 0l | f) al (k 0l | ||||
| b) all (K O:l | b) all (K O:l | ||||
| au O: | au O: | ||||
| g) au (s aU | g) au (s aU | ||||
| ?!3 s) au (s 0 | ?!3 s) au (s 0 | ||||
| l) au (t_ aU | |||||
| ?!3 au (str 0 | ?!3 au (str 0 | ||||
| au (_ aU | au (_ aU | ||||
| _) auch %O:x | _) auch %O:x | ||||
| s) au (rus_ 'O: | s) au (rus_ 'O: | ||||
| @) au (ri 'O: | @) au (ri 'O: | ||||
| C) aus (_ aUs | C) aus (_ aUs | ||||
| au (t_ aU | |||||
| @) au (t_ aU | |||||
| n) au (t_ O: | n) au (t_ O: | ||||
| authen %O:TEn | authen %O:TEn | ||||
| _) auto (@P4 ,O:toU // prefix | _) auto (@P4 ,O:toU // prefix | ||||
| ey (an eI | ey (an eI | ||||
| _) eye aI | _) eye aI | ||||
| eye eI | eye eI | ||||
| eyed (_S2 d | |||||
| @m) eyer (_ aI3 | @m) eyer (_ aI3 | ||||
| eyor (_ 'eI3 | eyor (_ 'eI3 | ||||
| b) i (_ aI | b) i (_ aI | ||||
| c) i (_ aI | c) i (_ aI | ||||
| c) is (_ Is | c) is (_ Is | ||||
| d) i (_ =I | |||||
| @@h) i (_ =I | @@h) i (_ =I | ||||
| h) i (_ =aI | h) i (_ =aI | ||||
| &sk) i (_ =I | &sk) i (_ =I | ||||
| @) i (cip 'I | @) i (cip 'I | ||||
| i (cus_ =I | i (cus_ =I | ||||
| _) id (_ aIdi: | _) id (_ aIdi: | ||||
| idea aId'i@ | |||||
| _) idea aId'i@ | |||||
| acc) i (d I | acc) i (d I | ||||
| c) i (dal 'aI | c) i (dal 'aI | ||||
| fr) i (day aI | fr) i (day aI | ||||
| _) i (dle aI | _) i (dle aI | ||||
| br) i (dl aI | br) i (dl aI | ||||
| _s) i (dl aI | |||||
| f) i (del I2 | f) i (del I2 | ||||
| br) i (dA aI | br) i (dA aI | ||||
| br) i (dg I | br) i (dg I | ||||
| l) iv (en aIv | l) iv (en aIv | ||||
| r) ival aIv@L | r) ival aIv@L | ||||
| ct) iv (al 'aIv | ct) iv (al 'aIv | ||||
| v) iv (al 'aIv | |||||
| @v) iv (al 'aIv | |||||
| ive (ness Iv | ive (ness Iv | ||||
| _al) iv (e aIv | _al) iv (e aIv | ||||
| n) iv (e_ aIv | n) iv (e_ aIv | ||||
| cla) ng (er Ng | cla) ng (er Ng | ||||
| ta) ngi ndZI | ta) ngi ndZI | ||||
| i) ng (er Ng | i) ng (er Ng | ||||
| bi) ng (er ndZ | |||||
| gi) ng (er ndZ | gi) ng (er ndZ | ||||
| o) ng (er Ng | o) ng (er Ng | ||||
| you) ng (er Ng | you) ng (er Ng | ||||
| &) sib s@b | &) sib s@b | ||||
| ea) s (ie z | ea) s (ie z | ||||
| ea) s (il z | ea) s (il z | ||||
| _) sid (e# saId | |||||
| C) sion S@n | C) sion S@n | ||||
| ?3 er) sion Z@n | ?3 er) sion Z@n | ||||
| A) sion Z@n | A) sion Z@n | ||||
| g) th (en_ T | g) th (en_ T | ||||
| thai taI | thai taI | ||||
| th (ead th | th (ead th | ||||
| th (eart th | |||||
| theless D@l'Es | theless D@l'Es | ||||
| theque tEk | theque tEk | ||||
| ther (_ D3 | ther (_ D3 | ||||
| ñ n^ | ñ n^ | ||||
| \\ bakstroUk | |||||
| / stroUk | |||||
| ?3 \\ bakslaS | |||||
| ?3 / slaS | |||||
| ' | ' | ||||
| ! _:Ekskl@meIS@n_: | ! _:Ekskl@meIS@n_: | ||||
| ! (\! | ! (\! | ||||
| : koUl@n | : koUl@n | ||||
| D_) : (_DD_ // omit colon in time, eg: 2:30 | D_) : (_DD_ // omit colon in time, eg: 2:30 | ||||
| $ d0l3 | $ d0l3 | ||||
| % p3sEnt | |||||
| ?5 % pVRs'Ent | |||||
| @ at_: | @ at_: | ||||
| & _!%and | & _!%and | ||||
| != n0ti:kw@Lz | != n0ti:kw@Lz | ||||
| . (. _: | . (. _: | ||||
| \.) . | \.) . | ||||
| = __i:kw@Lz_ | |||||
| = (== | |||||
| =) = (= | |||||
| ==) = (_ _:: | |||||
| * ast@rIsk | |||||
| *) * (* | |||||
| ** | |||||
| **) * (_ _:: | |||||
| % (%% | |||||
| %) % (% | |||||
| %%) % (_ _:: | |||||
| _0M2 mili'ono | _0M2 mili'ono | ||||
| _0M3 mili'ardo | _0M3 mili'ardo | ||||
| _0M4 duili'ono | _0M4 duili'ono | ||||
| _dpt komo_ | |||||
| _dpt _komo_ | |||||
| // accent names | // accent names | ||||
| _acu dekst@-*akoRno | _acu dekst@-*akoRno | ||||
| _; punktokomo | _; punktokomo | ||||
| _, komo | _, komo | ||||
| _? demandosigno | _? demandosigno | ||||
| _! _k@-*isigno_ | |||||
| _- dividost@-*eko | _- dividost@-*eko | ||||
| __ subst@-*eko | |||||
| ~ tildo | ~ tildo | ||||
| ° gradoI | ° gradoI | ||||
| % p@-*otsento | % p@-*otsento | ||||
| @ _tSe_ | @ _tSe_ | ||||
| & kaI | & kaI | ||||
| = ,,egala, | |||||
| \\ deklivo | |||||
| / oblik'vo | |||||
| = egala | |||||
| \ deklivo | |||||
| / oblikvo | |||||
| | duktosigno | |||||
| * asteRisko | * 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 | v vo // not Roman numbers | ||||
| Kg k'ilog@-*'amoI | Kg k'ilog@-*'amoI | ||||
| Km k'ilom'et-*oI | Km k'ilom'et-*oI | ||||
| kp k,omp'aru $dot | kp k,omp'aru $dot | ||||
| k.s kaI,s'im'ile | |||||
| k.s kaI,si'mile | |||||
| n.b n'otu||b'one | n.b n'otu||b'one | ||||
| nro numeRo | nro numeRo | ||||
| pĝ padZo $dot | pĝ padZo $dot | ||||
| eĉ $brk | eĉ $brk | ||||
| pli pl,i | pli pl,i | ||||
| plej pl,eI | plej pl,eI | ||||
| //ĝojo dZoIo | |||||
| //ĉashundo tSas,hundo | |||||
| //ligno lig,no | |||||
| //signo sig,no | |||||
| // pronouns | // pronouns | ||||
| mi $u | mi $u |
| D_-_) an (_ %an //'an' after a number | D_-_) an (_ %an //'an' after a number | ||||
| D_) a (_ %a //'a' after a number | D_) a (_ %a //'a' after a number | ||||
| D_) an (_ %an //'an' after a number | D_) an (_ %an //'an' after a number | ||||
| -) ano (_ an%o // 'ano' = member | |||||
| .group b | .group b | ||||
| _) b(_ bo | _) b(_ bo | ||||
| _) d(_ do | _) d(_ do | ||||
| d d | d d | ||||
| _) d (-ro_ dokt'o | |||||
| _) d (-rino_ d,okto | |||||
| -) do (_ d%o | |||||
| _) d (-ro dokt'o | |||||
| _) d (-rino d,okto | |||||
| .group e | .group e | ||||
| _) e(_ e | _) e(_ e | ||||
| _) f(_ fo | _) f(_ fo | ||||
| f f | f f | ||||
| _) f (-ino_ fR%aUl | |||||
| _) f (-lo_ fRaU | |||||
| _) f (-ino fR%aUl | |||||
| _) f (-lo fRaU | |||||
| .group g | .group g | ||||
| _) g(_ go | _) g(_ go | ||||
| _) k(_ ko | _) k(_ ko | ||||
| k k | 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 | .group l | ||||
| l l | l l | ||||
| ll (_ l | ll (_ l | ||||
| -) lo (_ l%o | |||||
| .group m | .group m | ||||
| _) m(_ mo | _) m(_ mo | ||||
| n n | n n | ||||
| n (_S1 n | n (_S1 n | ||||
| _) n (-ro_ num'e | |||||
| _) n (-ro num'e | |||||
| .group o | .group o | ||||
| _) o(_ o | _) o(_ o | ||||
| o o | o o | ||||
| oj oI | oj oI | ||||
| -) o (_ %o | |||||
| -) oj (_ %oI | -) oj (_ %oI | ||||
| -) on (_ %on | -) on (_ %on | ||||
| -X) o (_ %o // d-ro etc | |||||
| -X) oj (_ %oI | |||||
| -X) on (_ %on | |||||
| .group p | .group p | ||||
| _) p(_ po | _) p(_ po | ||||
| K) r (A @-* | K) r (A @-* | ||||
| rr RR | rr RR | ||||
| -) ro (_ R%o // d-ro, n-ro | |||||
| .group s | .group s | ||||
| _) s(_ so | _) s(_ so | ||||
| _) sh(_ So | _) sh(_ So | ||||
| sh (K S // foreign words | sh (K S // foreign words | ||||
| K) sh 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 | _) s (-ta_ s'ank | ||||
| £ pundo | £ pundo | ||||
| £ (_D _pundoI_: | £ (_D _pundoI_: | ||||
| _! _k@-*isig'no_ | |||||
| __) - (_D minus_ | __) - (_D minus_ | ||||
| D_) - (_D st@-*ek'eto_ | D_) - (_D st@-*ek'eto_ | ||||
| A_) - (_D _ | A_) - (_D _ |
| // 2006-11-18 Gilles Casse <[email protected]> | // 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. | // * Numbers, a few abbreviations and exceptions. | ||||
| // | // | ||||
| _stk b'ar | _stk b'ar | ||||
| _tld t'ild | _tld t'ild | ||||
| // character names | // character names | ||||
| _cap maZysk'yl | _cap maZysk'yl | ||||
| _, virgyl | _, virgyl | ||||
| _- tirE | _- tirE | ||||
| _. _|pw%E~ | _. _|pw%E~ | ||||
| _/ slaS | |||||
| _: d'Ypw'E~ | |||||
| _; pwE~virg'yl | |||||
| _/ bar||oblik | |||||
| _: d'Y||pw'E~ | |||||
| _; pwE~||virg'yl | |||||
| _< E~ferjWr | _< E~ferjWr | ||||
| _= egal | _= egal | ||||
| _> syperjWr | _> syperjWr | ||||
| _? pwE~dE~terogasj'O~ | |||||
| _? pwE~||dE~terogasj'O~ | |||||
| _! pwE~||dEksklamasj'O~ | |||||
| _[ uvr@-_kroSE | _[ uvr@-_kroSE | ||||
| _\ b'aksl'aS | _\ b'aksl'aS | ||||
| _] f'E2rm_kroS'E | _] f'E2rm_kroS'E | ||||
| __ sulin^e | __ sulin^e | ||||
| _` aks'A~_gr'av | _` aks'A~_gr'av | ||||
| _{ uvr_akOlad | _{ uvr_akOlad | ||||
| _| bar | |||||
| _| bar_vErtik'al | |||||
| _} f'E2rm_akOl'ad | _} f'E2rm_akOl'ad | ||||
| ² pw^is'A~s||d'Y | ² 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 | // symbols that are normally spoken when reading text | ||||
| ! Eksklamasj'O~ | |||||
| @ arobaz | @ arobaz | ||||
| % pursA~ | % pursA~ | ||||
| & _e | |||||
| & e $u $brk | |||||
| _& _e_komErsj'al | |||||
| + plys | + plys | ||||
| ~ tilde | ~ tilde | ||||
| € @ro | € @ro | ||||
| ¢ sEnt | ¢ sEnt | ||||
| ¥ i;En | |||||
| ¥ jEn | |||||
| £ livr | £ livr | ||||
| ± pl'yz_'u_mw'E~ | ± pl'yz_'u_mw'E~ | ||||
| × myltipli:'e_p'ar | × myltipli:'e_p'ar | ||||
| ÷ diviz'e_p'ar | ÷ diviz'e_p'ar | ||||
| ¼ W~_k'ar | ¼ W~_k'ar | ||||
| ½ W~_d@m'i | ½ W~_d@m'i | ||||
| ¾ trwAk'ar | |||||
| ¾ trwA_k'ar | |||||
| © _^_EN | © _^_EN | ||||
| ® m'ark_depos'e | ® m'ark_depos'e | ||||
| bluetooth blut'us | bluetooth blut'us | ||||
| computer _^_en | computer _^_en | ||||
| (cyber link) _^_en | (cyber link) _^_en | ||||
| debian dEbjAn | |||||
| debian dEbjan | |||||
| edit _^_en | edit _^_en | ||||
| emacs Emaks | emacs Emaks | ||||
| emacspeak Emakspi:k | emacspeak Emakspi:k | ||||
| leone leO2n | leone leO2n | ||||
| koweït kowEjt | koweït kowEjt | ||||
| taïwan tajwAn | taïwan tajwAn | ||||
| texas tEks'as | |||||
| venezuela venezyela | venezuela venezyela | ||||
| (viêt nam) viEtnam | (viêt nam) viEtnam | ||||
| wallis wAlis | wallis wAlis | ||||
| zimbabwe zimbabwe | zimbabwe zimbabwe | ||||
| // 2006-11-18 Gilles Casse <[email protected]> | // 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: | // Letter classes: | ||||
| .L01 d e l n r t u | .L01 d e l n r t u | ||||
| .L02 b c d f g h k p t v | .L02 b c d f g h k p t v | ||||
| .L03 d l m n s t v | |||||
| .group a | .group a | ||||
| _) h (ésit // hésiter | _) h (ésit // hésiter | ||||
| _) h (eure // heure | _) h (eure // heure | ||||
| _) h (iber // hibernation | _) h (iber // hibernation | ||||
| _) hi (A j // hier | |||||
| _) h (ippo // hippodrome | _) h (ippo // hippodrome | ||||
| _) h (iro // hirondelle | _) h (iro // hirondelle | ||||
| _) h (ist // histoire | _) h (ist // histoire | ||||
| _) h (umb // humble | _) h (umb // humble | ||||
| _) h (umi // humide | _) h (umi // humide | ||||
| _) h (umo // humour | _) h (umo // humour | ||||
| _) hy (A j | |||||
| _) h (y // hypermarché | _) h (y // hypermarché | ||||
| _) hyper (@P5 ipEr | _) hyper (@P5 ipEr | ||||
| _) hyper (_ ipEr | _) hyper (_ ipEr | ||||
| ai) s (em s // vraisemblable | ai) s (em s // vraisemblable | ||||
| aCè) s (_ s | aCè) s (_ s | ||||
| kansa) s (_ s // Kansas, Arkansas | |||||
| ub) s (is z // subsister | ub) s (is z // subsister | ||||
| tran) s (A z // transition | tran) s (A z // transition | ||||
| tran) s (e s // transe | tran) s (e s // transe | ||||
| .group x | .group x | ||||
| x ks | x ks | ||||
| xs ks // lexique lexicaux vox | |||||
| e) x (A gz // exagérer exemple | 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 | _e) x (h gz // exhumer | ||||
| ai) x (_ // voix paix prix | ai) x (_ // voix paix prix | ||||
| .group y | .group y | ||||
| y i // cryogénique myope | y i // cryogénique myope | ||||
| _) y (A _!i // yak, yacht | |||||
| _) y (A j // yak, yacht | |||||
| _) y (eu i // yeux | _) y (eu i // yeux | ||||
| _) yahoo (P5 ia'u | _) yahoo (P5 ia'u |
| .group इ | .group इ | ||||
| इ I | इ I | ||||
| // इँ i~ | |||||
| // इं i~ | |||||
| .group ई | .group ई | ||||
| ई i: | ई i: | ||||
| .group ि | .group ि | ||||
| ि I | ि I | ||||
| // िँ i~ | |||||
| // िं i~ | |||||
| .group ी | .group ी | ||||
| ी i: | ी i: | ||||
| ँ n // candrabindu | ँ n // candrabindu | ||||
| .group ं | .group ं | ||||
| ं N // anusvara | |||||
| ं n // anusvara | |||||
| ं (प m | ं (प m | ||||
| ं (फ m | ं (फ m | ||||
| ं (ब m | ं (ब m |
| o O: $atend | o O: $atend | ||||
| // foreign words | |||||
| chat tSat | |||||
| cliché kli:Se | |||||
| internet 'internet | |||||
| jeans dZi:nz | |||||
| web wEb | |||||
| // exceptions | // exceptions | ||||
| aereo $2 | aereo $2 | ||||
| difficile $2 | difficile $2 | ||||
| conoscerla $2 | conoscerla $2 | ||||
| no nO | no nO | ||||
| posta pOsta | posta pOsta | ||||
| principi $1 | |||||
| tesser tess'ER | tesser tess'ER | ||||
| uomini $1 | uomini $1 | ||||
| internet 'internet |
| // translation rules | // translation rules | ||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| // letter groups | |||||
| // A any vowel | |||||
| // Y front vowels: e i (& accents) | |||||
| .L01 a à o ò ó u ù | |||||
| .group a | .group a | ||||
| a a: | a a: | ||||
| c k | c k | ||||
| cc k: | cc k: | ||||
| c (' tS | 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 | ch k | ||||
| cch 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 | @) co (lA_ =ko | ||||
| .group d | .group d | ||||
| g g | g g | ||||
| gg g: | gg g: | ||||
| gh 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 | @) gger (lo_ =dZ:eR | ||||
| gl (i l^ | gl (i l^ | ||||
| gl (ì l^ | gl (ì l^ | ||||
| @) i (dere_ 'i | @) i (dere_ 'i | ||||
| @) i (le_ =i | @) i (le_ =i | ||||
| @) i (li_ =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 | @) iera (_ i'E:Ra | ||||
| @) iere (_ i'E:Re | @) iere (_ i'E:Re | ||||
| @) i (ente_ i | @) i (ente_ i | ||||
| @) o (metro_ 'O | @) o (metro_ 'O | ||||
| @) o (logo_ 'O | @) o (logo_ 'O | ||||
| o (str 'O | o (str 'O | ||||
| @) o (di_ =o | |||||
| @) o (do_ =o | |||||
| @) o (lo_ =o | @) o (lo_ =o | ||||
| ss ss | ss ss | ||||
| s (t s | s (t s | ||||
| s (x 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 | sh (K S // foreign words | ||||
| K) sh S // foreign words | K) sh S // foreign words | ||||
| @) sia s'ia | @) sia s'ia |
| // prefixed by a _ character. | // prefixed by a _ character. | ||||
| // Numbers | // Numbers | ||||
| _0 z'E*O: | |||||
| _0 z'ERO: | |||||
| _1 j'EdEn | _1 j'EdEn | ||||
| _2 dv'a | _2 dv'a | ||||
| _3 t|S'y | _3 t|S'y | ||||
| _4 tSt'E*y | |||||
| _4 tSt'ERy | |||||
| _5 p;'En^ts; | _5 p;'En^ts; | ||||
| _6 S'ES;ts; | _6 S'ES;ts; | ||||
| _7 S;'EdEm | _7 S;'EdEm | ||||
| _11 jEdEn'aS;ts;E | _11 jEdEn'aS;ts;E | ||||
| _12 dvan'aS;ts;E | _12 dvan'aS;ts;E | ||||
| _13 t|Syn'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 | _15 pjEtn'aS;ts;E | ||||
| _16 SEsn'aS;ts;E | _16 SEsn'aS;ts;E | ||||
| _17 S;EdEmn'aS;ts;E | _17 S;EdEmn'aS;ts;E | ||||
| _19 dz;Ev;Etn'aS;ts;E | _19 dz;Ev;Etn'aS;ts;E | ||||
| _2X dvadz;'ES;ts;a | _2X dvadz;'ES;ts;a | ||||
| _3X t|Sydz;'ES;c;i | _3X t|Sydz;'ES;c;i | ||||
| _4X tStE*dz;'ES;c;i | |||||
| _4X tStERdz;'ES;c;i | |||||
| _5X p;En^dz;'ES;Ont | _5X p;En^dz;'ES;Ont | ||||
| _6X SEZ;dz;'ES;Ont | _6X SEZ;dz;'ES;Ont | ||||
| _7X S;EdEmdz;'ES;Ont | _7X S;EdEmdz;'ES;Ont | ||||
| _1C st'O | _1C st'O | ||||
| _2C dv;'ES;c;E | _2C dv;'ES;c;E | ||||
| _3C t|S'ysta | _3C t|S'ysta | ||||
| _4C tSt'E*ysta | |||||
| _4C tSt'ERysta | |||||
| _5C p;'En^ts;sEt | _5C p;'En^ts;sEt | ||||
| _6C S'ES;sEt | _6C S'ES;sEt | ||||
| _7C S;'EdEmsEt | _7C S;'EdEmsEt | ||||
| _0MA2 m;ilj'Ony | _0MA2 m;ilj'Ony | ||||
| _1M2 m;'iljOn | _1M2 m;'iljOn | ||||
| _0M2 m;ilj'Onuf | _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 | _0MA4 b;ilj'Ony | ||||
| _1M4 b;'iljOn | _1M4 b;'iljOn | ||||
| _0M4 b;ilj'Onuf | _0M4 b;ilj'Onuf | ||||
| _dpt _pSEts;'inEk_ | _dpt _pSEts;'inEk_ | ||||
| _cap d'uZE_ | _cap d'uZE_ | ||||
| _?A litE*a | |||||
| _?A litERa | |||||
| _?? symbOl | _?? symbOl | ||||
| _#9 tab | _#9 tab | ||||
| _#32 spatsja | _#32 spatsja | ||||
| // accent names | // 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~ | _ced z|tsEd;'ilO~ | ||||
| _cir z|d'aSc;Em //pSEts;'ONgwE | _cir z|d'aSc;Em //pSEts;'ONgwE | ||||
| _dia _'umlawt | _dia _'umlawt | ||||
| _dot z|k@-*OpkO~ | |||||
| _dot z|kROpkO~ | |||||
| _grv ts;'E~Sc;E | _grv ts;'E~Sc;E | ||||
| _hac h'atSEk | _hac h'atSEk | ||||
| _mcn nadk@-*ES;l'OnE //m'ak@-*On | |||||
| _mcn nadkRES;l'OnE //m'akROn | |||||
| _ogo z|Og'Onc;Em | _ogo z|Og'Onc;Em | ||||
| _rng z|k'uwc;Em //k'OwO | _rng z|k'uwc;Em //k'OwO | ||||
| _stk sk@-*ES;l'OnE // dz;ElOnE | |||||
| _stk skRES;l'OnE // dz;ElOnE | |||||
| _tld z|t'yldO~ | _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 | ||||
| ö $accent | ö $accent | ||||
| í $accent | í $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 | // redefine foreign letters from pl_rules as CHAR | ||||
| ß S,arfEs_'Es | ß S,arfEs_'Es | ||||
| // all my keyboard... | // 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 | // screenreadery | ||||
| nvda EnfawdE'a $abbrev | nvda EnfawdE'a $abbrev | ||||
| orca O*ka | |||||
| orca ORka | |||||
| jaws dZ'Ews $abbrev | jaws dZ'Ews $abbrev | ||||
| // komputery, komputery | // komputery, komputery | ||||
| office Ofis | office Ofis | ||||
| play plEj | play plEj | ||||
| scane skan | scane skan | ||||
| (screen reader) sk@-*in*'idEr | |||||
| (sound juicer) sawnd||dZ'usE* | |||||
| (screen reader) skRinR'idEr | |||||
| (sound juicer) sawnd||dZ'usER | |||||
| thunderbird $1 | thunderbird $1 | ||||
| view v;u | view v;u | ||||
| (e mail) imEjl | (e mail) imEjl | ||||
| (e mailowe) imEjlOvE | (e mailowe) imEjlOvE | ||||
| delete dil'Ejt | delete dil'Ejt | ||||
| eject iZ'Ekt | eject iZ'Ekt | ||||
| forward fO*wE*d | |||||
| backward bEkwE*d | |||||
| forward fORwERd | |||||
| backward bEkwERd | |||||
| device div'ajs | device div'ajs | ||||
| devices divajsis | devices divajsis | ||||
| usb uEsb'E $abbrev | usb uEsb'E $abbrev | ||||
| url uE*'El $abbrev | |||||
| url uER'El $abbrev | |||||
| drive drajv | drive drajv | ||||
| scsi sk'azi $abbrev | scsi sk'azi $abbrev | ||||
| hda $abbrev | hda $abbrev | ||||
| dvd divid'i $abbrev | dvd divid'i $abbrev | ||||
| sh Es'xa $abbrev | sh Es'xa $abbrev | ||||
| ascii 'askEj $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 | // nazwy własne akcentowanie - wymowa w regułkach | ||||
| // todo: more! | // todo: more! | ||||
| andrew Endrju // nieodmienne | andrew Endrju // nieodmienne | ||||
| chihuahua tSiwawa | chihuahua tSiwawa | ||||
| francisco f@-*ansiskO | |||||
| francisco fRansiskO | |||||
| josé hOz'E | josé hOz'E | ||||
| jose hOz'E | jose hOz'E | ||||
| jake dZEjk | jake dZEjk | ||||
| jersey dZE*zi | |||||
| jersey dZERzi | |||||
| miami maj'ami | miami maj'ami | ||||
| janet dZanEt // żeńskie nie kończące się na a | janet dZanEt // żeńskie nie kończące się na a | ||||
| jane dZEjn | jane dZEjn | ||||
| alice Elis | alice Elis | ||||
| circe ki*kE | |||||
| maureen mO*'in | |||||
| circe kiRkE | |||||
| maureen mOR'in | |||||
| jackie dZEki | jackie dZEki | ||||
| jacqueline Zakl'in | jacqueline Zakl'in | ||||
| janice dZEn^is | janice dZEn^is | ||||
| jeanette Zan'Et | jeanette Zan'Et | ||||
| george dZOrdZ // i męskie zakończone samogłoską odmieniane przez apostrof | george dZOrdZ // i męskie zakończone samogłoską odmieniane przez apostrof | ||||
| maurice mO*is | |||||
| maurice mORis | |||||
| anthony EntOn | anthony EntOn | ||||
| anthony EntOny $1 $only | anthony EntOny $1 $only | ||||
| jerry dZE* | |||||
| jerry dZE*y $only | |||||
| jerry dZER | |||||
| jerry dZERy $only | |||||
| // some exceptions - dawać więcej! | // some exceptions - dawać więcej! | ||||
| //dr, mgr and so... | //dr, mgr and so... | ||||
| dr d'OktO* $dot | |||||
| mgr mag'istE* $dot | |||||
| dr d'OktOR $dot | |||||
| mgr mag'istER $dot | |||||
| doc d'OtsEnt $dot | doc d'OtsEnt $dot | ||||
| prof p*Of'EsO* $dot | |||||
| prof pROf'EsOR $dot | |||||
| hab habilitOv'any $dot | hab habilitOv'any $dot | ||||
| inż inZ'yn^E* $dot | |||||
| inż inZ'yn^ER $dot | |||||
| mec mEtsEnas $dot | mec mEtsEnas $dot | ||||
| //ks kS;Onts $dot | //ks kS;Onts $dot | ||||
| //bp biskup $dot | //bp biskup $dot | ||||
| //bpa biskupa | //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 | płk puwk'Ovnik $dot // declinated forms in pl_rules | ||||
| ppłk pOtpuwk'Ovnik $dot | ppłk pOtpuwk'Ovnik $dot | ||||
| mjr m'ajO* $dot | |||||
| mjr m'ajOR $dot | |||||
| kpt kap'itan $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 | // abbr | ||||
| tzn tO||znatSy $dot | tzn tO||znatSy $dot | ||||
| itd i||tak||dalEj $dot | itd i||tak||dalEj $dot | ||||
| itp i||tEmu||pOdObnE $dot | itp i||tEmu||pOdObnE $dot | ||||
| etc Ets'EtE*a $dot | |||||
| etc Ets'EtERa $dot | |||||
| św S;v;Enty $dot | św S;v;Enty $dot | ||||
| śp S;v;EntEj||pam;En^ts;i $dot | śp S;v;EntEj||pam;En^ts;i $dot | ||||
| np napS'ykwad $dot | np napS'ykwad $dot | ||||
| tys tyS;E~tsy $dot | tys tyS;E~tsy $dot | ||||
| mln miljOnuf | mln miljOnuf | ||||
| mld milja*duf | |||||
| mld miljaRduf | |||||
| //popularne zagraniczniaki nieodmienne (no, prawie) | //popularne zagraniczniaki nieodmienne (no, prawie) | ||||
| (ad hoc) adh'Ok | (ad hoc) adh'Ok | ||||
| (ad oculos) ad'OkulOs | (ad oculos) ad'OkulOs | ||||
| angelica angElika $2 | angelica angElika $2 | ||||
| (carte blanche) ka*tbl'anS | |||||
| (carte blanche) kaRtbl'anS | |||||
| challenge tSElEndZ | challenge tSElEndZ | ||||
| chanson SansO~ $2 | 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 | ||||
| chippendale tSipEndEjl $1 $only | chippendale tSipEndEjl $1 $only | ||||
| (chow chow) tSawtSau $2 | (chow chow) tSawtSau $2 | ||||
| ciao tSjaw | ciao tSjaw | ||||
| (cicer cum caule) ts,itsE*kumk'awlE | |||||
| (cicer cum caule) ts,itsERkumk'awlE | |||||
| (ci devant) sidEv'aN | (ci devant) sidEv'aN | ||||
| cinquecento tSinkwEtSEntO | cinquecento tSinkwEtSEntO | ||||
| circa tsi*ka | |||||
| (cis dur) tsisd'u* | |||||
| circa tsiRka | |||||
| (cis dur) tsisd'uR | |||||
| (cis moll) tsism'Ol | (cis moll) tsism'Ol | ||||
| cito tsitO | cito tsitO | ||||
| city tsity | city tsity | ||||
| comte kO~t | comte kO~t | ||||
| comtesse kO~t'Es | comtesse kO~t'Es | ||||
| con kOn | con kOn | ||||
| concierge kOnsj'E*Z | |||||
| concierge kOnsj'ERZ | |||||
| cool kul | cool kul | ||||
| copyright k'Opy*ajt | |||||
| (cosa nostra) k,Ozan'Ost@-*a | |||||
| copyright k'OpyRajt | |||||
| (cosa nostra) k,Ozan'OstRa | |||||
| cottage kOtydZ | cottage kOtydZ | ||||
| coupé kup'E | coupé kup'E | ||||
| coupe kup'E | coupe kup'E | ||||
| country kant@-*y | |||||
| country kantRy | |||||
| cubiculum kub'ikulum | cubiculum kub'ikulum | ||||
| culpa kulpa | culpa kulpa | ||||
| curriculum ku*'ikulum | |||||
| curriculum kuR'ikulum | |||||
| d'amour damu* $2 | |||||
| d'amour damuR $2 | |||||
| (de facto) dEfaktO | (de facto) dEfaktO | ||||
| (de iure) dEju*E | |||||
| (de iure) dEjuRE | |||||
| (déjà vu) dEZav'i | (déjà vu) dEZav'i | ||||
| (déjà vue) dEZav'i | (déjà vue) dEZav'i | ||||
| (deja vu) dEZav'i | (deja vu) dEZav'i | ||||
| (deja vue) 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 | dinghy d;iNgi | ||||
| faciendi fasjEndi | faciendi fasjEndi | ||||
| foyer fuaj'E | foyer fuaj'E | ||||
| gentleman $1 | gentleman $1 | ||||
| graecas g@-*Ekas | |||||
| graecas gREkas | |||||
| monsieur mEsj'E | monsieur mEsj'E | ||||
| madame mad'am | madame mad'am | ||||
| mademoiselle madmuaz'El | 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 | mlle madmuaz'El | ||||
| (mon ami) mOnami $3 | (mon ami) mOnami $3 | ||||
| (mon cher) mO~SE* $2 | |||||
| (mon cher) mO~SER $2 | |||||
| new n^;u | new n^;u | ||||
| out awt | 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 | rock rOk | ||||
| sir sE* | |||||
| sire si* | |||||
| street st@-*it | |||||
| sir sER | |||||
| sire siR | |||||
| street stRit | |||||
| (va banque) vab'aNk | (va banque) vab'aNk | ||||
| variétés varjEtE $3 | variétés varjEtE $3 | ||||
| voodoo vudu | voodoo vudu | ||||
| // kuchnia, kuchnia, jeść nam się chce! | // kuchnia, kuchnia, jeść nam się chce! | ||||
| //ragout *ag'u // przen. do rules | |||||
| //ragout Rag'u // przen. do rules | |||||
| fondue fO~d'i | fondue fO~d'i | ||||
| beaujolais bOZOl'E | beaujolais bOZOl'E | ||||
| boeuf bEf | boeuf bEf | ||||
| cabernet kabE*n'E | |||||
| camembert kamEmb'E* | |||||
| cabernet kabERn'E | |||||
| camembert kamEmb'ER | |||||
| café kafE $2 | café kafE $2 | ||||
| cafe kafE $2 | cafe kafE $2 | ||||
| chablis Sabli $2 | chablis Sabli $2 | ||||
| coca kOka | coca kOka | ||||
| cola kOla | cola kOla | ||||
| coleslaw kOlEslOw | 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 la maison) dElamEz'O~ | ||||
| (de volaille) dEvOl'aj | (de volaille) dEvOl'aj | ||||
| (a la) al'a | (a la) al'a |
| C) ai (r E | C) ai (r E | ||||
| _alt) ai (r ai | _alt) ai (r ai | ||||
| _k) ai (r ai | _k) ai (r ai | ||||
| _) archie E*tSi | |||||
| _) archie (C E*tS|;E | |||||
| _) archie ERtSi | |||||
| _) archie (C ERtS|;E | |||||
| acku (p Eka | acku (p Eka | ||||
| _) arcy (@P4t a*tsy | |||||
| _) arcy (@P4t aRtsy | |||||
| @ł) a (by_ =a | @ł) a (by_ =a | ||||
| @ł) a (bym_ =a | @ł) a (bym_ =a | ||||
| b b | b b | ||||
| ja) bł (kA p | ja) bł (kA p | ||||
| b (_A p | |||||
| b (_ p | |||||
| b (i b; | b (i b; | ||||
| bi (A b;j | bi (A b;j | ||||
| _) challeng (er tSElEndZ | _) challeng (er tSElEndZ | ||||
| cha (mpi tZE | cha (mpi tZE | ||||
| chan (nel tSa | chan (nel tSa | ||||
| _) charle (s tSa*ls | |||||
| _) charle (s tSaRls | |||||
| _) chie (f tSi | _) chie (f tSi | ||||
| _) ch (ip tS | _) ch (ip tS | ||||
| _) chippendal (A tSipEndEjl | _) chippendal (A tSipEndEjl | ||||
| _) c (ominu ts | _) c (ominu ts | ||||
| _) conc (ert kOntS | _) conc (ert kOntS | ||||
| _) c (onC k | _) c (onC k | ||||
| _) copywri (t kOpy*aj | |||||
| _) copywri (t kOpyRaj | |||||
| _) c (orC k | _) c (orC k | ||||
| _) c (owbo k | _) c (owbo k | ||||
| crack k@-*ak | |||||
| _) croiss k@-*ruas | |||||
| crack kRak | |||||
| _) croiss kRruas | |||||
| _) c (r k | _) c (r k | ||||
| _) c (umul k | _) c (umul k | ||||
| _) curie ki*i | |||||
| _) curie kiRi | |||||
| _) cu (rli kE | _) cu (rli kE | ||||
| cresc (end k@-*EStS | |||||
| cresc (end kREStS | |||||
| _) c (aps_ k | _) c (aps_ k | ||||
| _) c (apslo k | _) c (apslo k | ||||
| lo) ck (u_ k | lo) ck (u_ k | ||||
| lo) ck (iem_ k | lo) ck (iem_ k | ||||
| lo) ck (a_ k | lo) ck (a_ k | ||||
| _s) creenrea (d k@-*in*i | |||||
| _s) creenrea (d kRinRi | |||||
| .group ć | .group ć | ||||
| ć ts; | ć ts; | ||||
| .group d | .group d | ||||
| d d | d d | ||||
| d (_A t | |||||
| d (_ t | |||||
| d (i d; | d (i d; | ||||
| di (A dj | di (A dj | ||||
| dies (lA d;iz | dies (lA d;iz | ||||
| dies (el d;iz | dies (el d;iz | ||||
| dz dz | dz dz | ||||
| dz (_A ts | |||||
| dz (_ ts | |||||
| dz (i dz; | dz (i dz; | ||||
| dzi (A dz; | dzi (A dz; | ||||
| _na) dzi (em d|Z; | _na) dzi (em d|Z; | ||||
| _po) dzi (em d|Z; | _po) dzi (em d|Z; | ||||
| dź dz; | dź dz; | ||||
| dź (_A ts; | |||||
| dź (_ ts; | |||||
| dż dZ | dż dZ | ||||
| dż (_A tS | |||||
| dż (_ tS | |||||
| _o) dż d|Z | _o) dż d|Z | ||||
| _po) dż d|Z | _po) dż d|Z | ||||
| g g | g g | ||||
| g (i g; | g (i g; | ||||
| hi) gi (e gj | hi) gi (e gj | ||||
| g (_A k | |||||
| gł (_ g | |||||
| gł (_A k | |||||
| g (_ k | |||||
| gł (_ gw | |||||
| gh g | gh g | ||||
| gate (s gEjt | gate (s gEjt | ||||
| _) gentleman dZEntElmEn | _) 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 | .group h | ||||
| h x | h x | ||||
| _kl) i (e ;ij | _kl) i (e ;ij | ||||
| żm) ii (_ iji | żm) ii (_ iji | ||||
| rak) 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 | _m) ic (ro ajk | ||||
| C) ie (_ ;E# | C) ie (_ ;E# | ||||
| .group j | .group j | ||||
| jazz dZEz | jazz dZEz | ||||
| jazz (_ dZEs | |||||
| j j | j j | ||||
| _) james dZEjms | _) james dZEjms | ||||
| .group k | .group k | ||||
| k k | k k | ||||
| // k (i c | // k (i c | ||||
| kł (_ k | |||||
| kł (_ kw | |||||
| // ki (A kj | // ki (A kj | ||||
| _) klow (n klaw | _) klow (n klaw | ||||
| qu (A kv | qu (A kv | ||||
| .group r | .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 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 | c) rz (A S | ||||
| ć) rz (A S | ć) rz (A S | ||||
| cz) rz (A S | cz) rz (A S | ||||
| ś) rz (A S | ś) rz (A S | ||||
| sz) rz (A S | sz) rz (A S | ||||
| t) rz 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 | .group s | ||||
| @) son (_S3t sOn | @) son (_S3t sOn | ||||
| skj (A S | skj (A S | ||||
| scherz skE*ts | |||||
| scherz skERts | |||||
| sch (ą sx | sch (ą sx | ||||
| sch (ę sx | sch (ę sx | ||||
| pa) sch (a sx | pa) sch (a sx | ||||
| _) sch (lebi sx | _) sch (lebi sx | ||||
| _) sch (etyn sx | _) sch (etyn sx | ||||
| schwarz Sva*ts | |||||
| schwarz SvaRts | |||||
| schoe SE | schoe SE | ||||
| sch S | sch S | ||||
| w v | w v | ||||
| w (sk _v | w (sk _v | ||||
| ier) wsz (A S | ier) wsz (A S | ||||
| w (_A f | |||||
| w (_ f | |||||
| c) w (A f | c) w (A f | ||||
| ć) w (A f | ć) w (A f | ||||
| cz) 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 | f) w (A f | ||||
| h) w (A f | h) w (A f | ||||
| k) w (A f | k) w (A f | ||||
| _) window wyndOw | _) window wyndOw | ||||
| wee (k wi | wee (k wi | ||||
| _) washi wOSi | _) washi wOSi | ||||
| wrigh *aj | |||||
| C) wrigh @-*aj | |||||
| wrigh Raj | |||||
| C) wrigh Raj | |||||
| .group x | .group x | ||||
| x ks | x ks | ||||
| .group z | .group z | ||||
| z z | z z | ||||
| z (_A s | |||||
| z (_ s | |||||
| z (i Z; | z (i Z; | ||||
| zi (A Z; | zi (A Z; | ||||
| _) zi (p Z;i | _) zi (p Z;i | ||||
| _nie) zi (C z_i | _nie) zi (C z_i | ||||
| zi (C zi | 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 | mo) zi (ll zi | ||||
| _ro) z (iC z | _ro) z (iC z | ||||
| _) zuri (ch tsu*y | |||||
| _) zuri (ch tsuRy | |||||
| _) zz (a_ z_z | |||||
| zz (ini_ ts | zz (ini_ ts | ||||
| zz (inim_ ts | zz (inim_ ts | ||||
| zz (inimi_ ts | zz (inimi_ ts | ||||
| .group ź | .group ź | ||||
| ź Z; | ź Z; | ||||
| ź (_A S; | |||||
| ź (_ S; | |||||
| .group ż | .group ż | ||||
| ż Z | ż Z | ||||
| ż (_A S | |||||
| ż (_ S | |||||
| .group th | .group th | ||||
| _e) th (anak t | _e) th (anak t | ||||
| _) the (_A zi | |||||
| _) the (_ zE | |||||
| _) the (_ dE | |||||
| th s | th s | ||||
| th (ie_ s; | th (ie_ s; | ||||
| _) th t | _) th t | ||||
| thew sju | |||||
| _) thank fENk | |||||
| thew fju | |||||
| _) thunderbi (rd fEndE*bE | |||||
| _) thunderbi (rd fEndERbE | |||||
| .group dg | .group dg | ||||
| _na) dg dg | _na) dg dg | ||||
| _dy) sh sx | _dy) sh sx | ||||
| _fi) sh (armon sx | _fi) sh (armon sx | ||||
| sh S | sh S | ||||
| shire SajE* | |||||
| shire SajER | |||||
| .group ph | .group ph | ||||
| ph f | ph f | ||||
| 'ego (_S4 EgO | 'ego (_S4 EgO | ||||
| 'emu (_S4 Emu | '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 | |||||
| n en | n en | ||||
| p pi | p pi | ||||
| q kju | q kju | ||||
| r ar | |||||
| r aR | |||||
| s es | s es | ||||
| t ti | t ti | ||||
| v vi | v vi | ||||
| // numbers | // numbers | ||||
| _0 sif'u*i | |||||
| _0 sif'uRi | |||||
| _1 m'oJa | _1 m'oJa | ||||
| _2 _|mb'ili | _2 _|mb'ili | ||||
| _3 t'atu | _3 t'atu | ||||
| _8 n'ane | _8 n'ane | ||||
| _9 t'isa | _9 t'isa | ||||
| _1X k'umi | _1X k'umi | ||||
| _2X iSi*'ini | |||||
| _2X iSiR'ini | |||||
| _3X TeleT'ini | _3X TeleT'ini | ||||
| _4X a*oba'ini | |||||
| _4X aRoba'ini | |||||
| _5X hams'ini | _5X hams'ini | ||||
| _6X sit'ini | _6X sit'ini | ||||
| _7X sab'ini | _7X sab'ini |
| q k | q k | ||||
| .group r | .group r | ||||
| r r | |||||
| A) r (A * | |||||
| r R | |||||
| A) r (A R | |||||
| C) r (A @-* | C) r (A @-* | ||||
| rr *r | |||||
| rr RR | |||||
| .group s | .group s | ||||
| s s | s s |
| z zE3t | z zE3t | ||||
| // numbers | // 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 | // symbols | ||||
| ỵ ỵ | ỵ ỵ | ||||
| //================================ | |||||
| // 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 | .group a | ||||
| a a: | a a: | ||||
| ai a:I | ai a:I | ||||
| ậy @I6 | ậy @I6 | ||||
| ậu @U6 | ậ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 | .group e | ||||
| e E | e E | ||||
| ệ e6 | ệ e6 | ||||
| ệu eU6 | ệ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 | .group i | ||||
| ịu iU6 | ị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 | .group o | ||||
| ợu @:U6 | ợ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 | .group u | ||||
| u u | u u | ||||
| u (A w | u (A w | ||||
| A) u w | |||||
| ui uI | ui uI | ||||
| uì uI2 | uì uI2 | ||||
| uí uI3 | uí uI3 | ||||
| ựu yw6 | ựu yw6 | ||||
| //============================= | |||||
| .group v | |||||
| v v | |||||
| .group w | |||||
| w w | |||||
| .group x | |||||
| x s | |||||
| .group y | .group y | ||||
| y i | y i | ||||
| ỵa i@6 | ỵa i@6 | ||||
| .group z | |||||
| z z | |||||
| .group | .group | ||||
| $ d'o||l'a | $ d'o||l'a | ||||
| % f'@2n||tS;'am | % f'@2n||tS;'am |
| 60 phoneme tables | |||||
| 61 phoneme tables | |||||
| new total | 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 | Data file Used by | ||||
| b/b [b] base | b/b [b] base | ||||
| b/xb [b] base | b/xb [b] base | ||||
| [b] fr | [b] fr | ||||
| [b] hi | [b] hi | ||||
| [bh] hi | |||||
| [b] bn | [b] bn | ||||
| d/d [d] base | d/d [d] base | ||||
| [d[] base | [d[] base | ||||
| [d] id | [d] id | ||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d`] om | |||||
| [d[] ga | |||||
| d/d_ [d] base | d/d_ [d] base | ||||
| [d[] base | [d[] base | ||||
| [d] base2 | [d] base2 | ||||
| [d] id | [d] id | ||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d`] om | |||||
| [d[] ga | |||||
| d/d_dnt [d] sr | d/d_dnt [d] sr | ||||
| d/dr [*] base | d/dr [*] base | ||||
| [d] base | [d] base | ||||
| [d] id | [d] id | ||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d[] ga | |||||
| d/tap [*;] ro | d/tap [*;] ro | ||||
| d/tap1 [*] base | d/tap1 [*] base | ||||
| d/tap2 [t#] en_us | d/tap2 [t#] en_us | ||||
| [d] fr | [d] fr | ||||
| [d] hi | [d] hi | ||||
| [d.] hi | [d.] hi | ||||
| [dh] hi | |||||
| [d] hu | [d] hu | ||||
| [d] pl | [d] pl | ||||
| [d] hr | [d] hr | ||||
| [d] id | [d] id | ||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d[] ga | |||||
| d/xd2 [d`] om | |||||
| d/xd3 [dh] hi | |||||
| d/xd_pzd [d;] pl | d/xd_pzd [d;] pl | ||||
| [d;] ru | [d;] ru | ||||
| d/x_tap [t#] en_us | d/x_tap [t#] en_us | ||||
| [J2] bn | [J2] bn | ||||
| envelope/i_risefall [11] zh | envelope/i_risefall [11] zh | ||||
| envelope/i_risefall2 [+2] rw | 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 | envelope/p_fall [2] vi | ||||
| [7] vi | [7] vi | ||||
| [1] zhy | [1] zhy | ||||
| [5] zhy | [5] zhy | ||||
| [44] zh | [44] zh | ||||
| [35] zh | [35] zh | ||||
| envelope/vi_5 [5] vi | |||||
| envelope/vi_5amp [5] vi | envelope/vi_5amp [5] vi | ||||
| envelope/vi_6 [6] vi | |||||
| envelope/vi_6amp [6] vi | envelope/vi_6amp [6] vi | ||||
| g2/g [g-] base | g2/g [g-] base | ||||
| g2/g_ [g-] base | g2/g_ [g-] base | ||||
| g2/xg [g-] base | g2/xg [g-] base | ||||
| [g] hi | [g] hi | ||||
| [gh] hi | |||||
| [g] bn | [g] bn | ||||
| g/g [g] base | g/g [g] base | ||||
| [g] cy | [g] cy | ||||
| [<h>] la | [<h>] la | ||||
| [H] bn | [H] bn | ||||
| [h] bn | [h] bn | ||||
| [a#] om | |||||
| h/he [h] base | h/he [h] base | ||||
| [h] fi | [h] fi | ||||
| [H] hi | [H] hi | ||||
| [u] fr | [u] fr | ||||
| [u:] fr | [u:] fr | ||||
| [(u)] en_klatt | [(u)] en_klatt | ||||
| l/l_vi [l] vi | |||||
| l/l_y [y] fr | l/l_y [y] fr | ||||
| l/tl [l] base | l/tl [l] base | ||||
| [l] en | [l] en | ||||
| [r] af | [r] af | ||||
| [R2] lv | [R2] lv | ||||
| [r] nl | [r] nl | ||||
| [R] sk | |||||
| [R] pl | |||||
| [r*] sr | [r*] sr | ||||
| [x] pt | [x] pt | ||||
| r3/r_trill2 [R] base | r3/r_trill2 [R] base | ||||
| [r] nl | [r] nl | ||||
| r3/r_trill.wav [R2] base | r3/r_trill.wav [R2] base | ||||
| [R2] lv | [R2] lv | ||||
| [R] sk | |||||
| [R] pl | |||||
| [r*] sr | [r*] sr | ||||
| [x] pt | [x] pt | ||||
| r3/r_u [(u)] base | r3/r_u [(u)] base | ||||
| [(u)] en_klatt | [(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 | r3/rx [*] base | ||||
| [r/] base | [r/] base | ||||
| [r/] af | [r/] af | ||||
| [s#] pt | [s#] pt | ||||
| [z;] ro | [z;] ro | ||||
| [s2] is | [s2] is | ||||
| [s2] om | |||||
| [s] en_klatt | [s] en_klatt | ||||
| [z] en_klatt | [z] en_klatt | ||||
| ufric/s! [s] base | ufric/s! [s] base | ||||
| [s] es | [s] es | ||||
| [s#] pt | [s#] pt | ||||
| [s2] is | [s2] is | ||||
| [s2] om | |||||
| [s] en_klatt | [s] en_klatt | ||||
| ufric/s_continue [s2] fi | ufric/s_continue [s2] fi | ||||
| [s2] hu | [s2] hu | ||||
| [s2] lv | [s2] lv | ||||
| [s2] is | [s2] is | ||||
| [s2] om | |||||
| ufric/sh [S] base | ufric/sh [S] base | ||||
| [S] fr | [S] fr | ||||
| [s#] pt_pt | [s#] pt_pt | ||||
| ufric/x_sr [h] sr | ufric/x_sr [h] sr | ||||
| [x] sr | [x] sr | ||||
| ufric/xx3 [X] base | ufric/xx3 [X] base | ||||
| [Q"] base | |||||
| [Q] hy | [Q] hy | ||||
| ustop/c [c] base | ustop/c [c] base | ||||
| ustop/c_ejc [c`] om | ustop/c_ejc [c`] om | ||||
| ustop/k [k] base | ustop/k [k] base | ||||
| [k] en | [k] en | ||||
| [k] fr | [k] fr | ||||
| [kh] hi | |||||
| [k] zhy | [k] zhy | ||||
| [k] sw | [k] sw | ||||
| [kh] bn | [kh] bn | ||||
| [k] en | [k] en | ||||
| [k] fi | [k] fi | ||||
| [k] fr | [k] fr | ||||
| [kh] hi | |||||
| [k] hu | [k] hu | ||||
| [k] lv | [k] lv | ||||
| [k] sk | [k] sk | ||||
| [k] sw | [k] sw | ||||
| [k] sq | [k] sq | ||||
| [kh] bn | [kh] bn | ||||
| ustop/k_asp [gh] hi | |||||
| [kh] hi | |||||
| ustop/k_ejc [k`] om | ustop/k_ejc [k`] om | ||||
| ustop/ki [c] base | ustop/ki [c] base | ||||
| [k] base | [k] base | ||||
| [k] bn | [k] bn | ||||
| ustop/k_unasp_ [k] zh | ustop/k_unasp_ [k] zh | ||||
| ustop/null [?] base | ustop/null [?] base | ||||
| [dh] om | |||||
| ustop/p [p] base | ustop/p [p] base | ||||
| [p] fr | [p] fr | ||||
| [p2] fr | [p2] fr | ||||
| [ph] zh | [ph] zh | ||||
| [ph] bn | [ph] bn | ||||
| [ph] hy | [ph] hy | ||||
| ustop/p_asp [ph] hi | |||||
| ustop/p_asp [bh] hi | |||||
| [ph] hi | |||||
| [ph] hy | [ph] hy | ||||
| ustop/p_ejc [p`] om | ustop/p_ejc [p`] om | ||||
| ustop/percus10 [(X1] base | ustop/percus10 [(X1] base | ||||
| [t] sk | [t] sk | ||||
| [t] el | [t] el | ||||
| [th] zh | [th] zh | ||||
| [t] sq | |||||
| [t2] sq | |||||
| [t.] bn | [t.] bn | ||||
| [t.h] bn | [t.h] bn | ||||
| ustop/t_dnt [t] base | ustop/t_dnt [t] base | ||||
| [t2] en | [t2] en | ||||
| [t] fi | [t] fi | ||||
| [t] hi | [t] hi | ||||
| [dh] hi | |||||
| [th] hi | [th] hi | ||||
| [t] hu | [t] hu | ||||
| [t] pl | [t] pl | ||||
| [t] sw | [t] sw | ||||
| [t`] ko | [t`] ko | ||||
| [t] bn | [t] bn | ||||
| [t[] ga | |||||
| ustop/t_dnt2 [t[] vi | ustop/t_dnt2 [t[] vi | ||||
| ustop/t_ejc [t`] om | ustop/t_ejc [t`] om | ||||
| ustop/t_hi [t] hi | ustop/t_hi [t] hi | ||||
| [ts;] ro | [ts;] ro | ||||
| [z] zhy | [z] zhy | ||||
| [tsh] zh | [tsh] zh | ||||
| [ts] sq | |||||
| [ts] hy | [ts] hy | ||||
| ustop/ts_ [ts] base2 | ustop/ts_ [ts] base2 | ||||
| [ts] de | [ts] de | ||||
| [ts] pl | [ts] pl | ||||
| [ts] ru | [ts] ru | ||||
| [ts;] ro | [ts;] ro | ||||
| [ts] sq | |||||
| [ts] hy | [ts] hy | ||||
| ustop/ts2 [ts] lv | ustop/ts2 [ts] lv | ||||
| ustop/tsh [tS] base | ustop/tsh [tS] base | ||||
| [t] lv | [t] lv | ||||
| [t] sk | [t] sk | ||||
| [t] el | [t] el | ||||
| [t] sq | |||||
| [t2] sq | |||||
| [t.] bn | [t.] bn | ||||
| ustop/tsh_pzd [tS;] zh | ustop/tsh_pzd [tS;] zh | ||||
| ustop/tsh_pzd_unasp [tS;] zh | ustop/tsh_pzd_unasp [tS;] zh | ||||
| vdiph2/e[u [e[u] ro | vdiph2/e[u [e[u] ro | ||||
| vdiph2/i@ [i@] en_n | vdiph2/i@ [i@] en_n | ||||
| [i@] hy | [i@] hy | ||||
| [i@] ga | |||||
| vdiph2/i@_2 [i@] en_wm | vdiph2/i@_2 [i@] en_wm | ||||
| vdiph2/ie [i@] en_wi | vdiph2/ie [i@] en_wi | ||||
| [ie] fi | [ie] fi | ||||
| vdiph2/o_oo [o@] en_wi | vdiph2/o_oo [o@] en_wi | ||||
| [o] is | [o] is | ||||
| [o] zh | [o] zh | ||||
| vdiph2/u-@ [y@] vi | |||||
| vdiph2/u@ [u@] ga | |||||
| vdiph2/u#@ [U@] en_sc | vdiph2/u#@ [U@] en_sc | ||||
| vdiph2/uaa [uo] lv | vdiph2/uaa [uo] lv | ||||
| vdiph2/uo [uo] fi | vdiph2/uo [uo] fi | ||||
| vdiph2/yu [yU] nl | vdiph2/yu [yU] nl | ||||
| [yu] zh | [yu] zh | ||||
| vdiph2/y-y# [yY] fi | vdiph2/y-y# [yY] fi | ||||
| [y@] vi | |||||
| vdiph/8u [oU] en_us | vdiph/8u [oU] en_us | ||||
| [ou] zh | [ou] zh | ||||
| vdiph/aae [aI] en_us | vdiph/aae [aI] en_us | ||||
| [eI] is | [eI] is | ||||
| [eI] vi | [eI] vi | ||||
| [ei] zhy | [ei] zhy | ||||
| [eI] sq | |||||
| vdiph/eu [eU] base2 | vdiph/eu [eU] base2 | ||||
| [eU] en | [eU] en | ||||
| [eU] cy | [eU] cy | ||||
| [eU] vi | [eU] vi | ||||
| [eU] ne | [eU] ne | ||||
| vdiph/eu_2 [eu] fi | vdiph/eu_2 [eu] fi | ||||
| vdiph/@i [@I] vi | |||||
| [@:I] vi | |||||
| [@I] ga | |||||
| vdiph/&i [&i] fi | vdiph/&i [&i] fi | ||||
| [aI] hi | [aI] hi | ||||
| [aI] bn | [aI] bn | ||||
| [@I] ro | [@I] ro | ||||
| [ai] zhy | [ai] zhy | ||||
| vdiph/&i_3 [aI] vi | vdiph/&i_3 [aI] vi | ||||
| vdiph/@i_4 [@I] vi | |||||
| vdiph/ii [iI] ro | vdiph/ii [iI] ro | ||||
| vdiph/i#i [yI] ro | vdiph/i#i [yI] ro | ||||
| vdiph/oi [oI] base2 | vdiph/oi [oI] base2 | ||||
| vdiph/ooi_3 [OI] en_rp | vdiph/ooi_3 [OI] en_rp | ||||
| [aI] en_wm | [aI] en_wm | ||||
| vdiph/ooi_4 [OI] en_us | vdiph/ooi_4 [OI] en_us | ||||
| [OI] sq | |||||
| vdiph/oou [oU] cs | vdiph/oou [oU] cs | ||||
| [OU] grc | [OU] grc | ||||
| vdiph/ou [ou] fi | vdiph/ou [ou] fi | ||||
| vdiph/ou_3 [oU] is | vdiph/ou_3 [oU] is | ||||
| [oU2] is | [oU2] is | ||||
| vdiph/@u [u:] en_wm | vdiph/@u [u:] en_wm | ||||
| [@U] vi | |||||
| [@:U] vi | |||||
| vdiph/@u_2 [oU] en_rp | vdiph/@u_2 [oU] en_rp | ||||
| vdiph/@u_3 [@U] ro | vdiph/@u_3 [@U] ro | ||||
| [@U] ga | |||||
| vdiph/@u_en [oU] en | vdiph/@u_en [oU] en | ||||
| [@U] id | [@U] id | ||||
| vdiph/ui [uI] base2 | vdiph/ui [uI] base2 | ||||
| vdiph/ui_2 [uI] af | vdiph/ui_2 [uI] af | ||||
| vdiph/ui_3 [uI] cy | vdiph/ui_3 [uI] cy | ||||
| [uY] cy | [uY] cy | ||||
| vdiph/Vi [@:I] vi | |||||
| [VI] ne | |||||
| vdiph/Vi [VI] ne | |||||
| vdiph/Vu [@U] af | vdiph/Vu [@U] af | ||||
| [VU] ne | [VU] ne | ||||
| vdiph/Vu_2 [oU] en_wm | vdiph/Vu_2 [oU] en_wm | ||||
| vdiph/Vu_3 [o:] nl | vdiph/Vu_3 [o:] nl | ||||
| vdiph/Vu_4 [@U] vi | |||||
| [@:U] vi | |||||
| vdiph/&y [&y] fi | vdiph/&y [&y] fi | ||||
| [Wy] nl | [Wy] nl | ||||
| vdiph/yi [yi] fi | vdiph/yi [yi] fi | ||||
| vdiph/y#y_2 [Yy] af | vdiph/y#y_2 [Yy] af | ||||
| [eoi] zhy | [eoi] zhy | ||||
| vdiph/y#y_3 [Y:] nl | 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 | vnasal/aa_n2 [A~] en | ||||
| [A~] fr | [A~] fr | ||||
| vnasal/aa_n3 [A~] af | vnasal/aa_n3 [A~] af | ||||
| [E~] bn | [E~] bn | ||||
| vnasal/ee_u_n [E~] pl | vnasal/ee_u_n [E~] pl | ||||
| vnasal/e_n [e~] af | vnasal/e_n [e~] af | ||||
| [e~] hi | |||||
| [e~] pt | [e~] pt | ||||
| [e~] bn | [e~] bn | ||||
| [e~] ne | |||||
| vnasal/i_n [i~] pt | vnasal/i_n [i~] pt | ||||
| [i~] bn | [i~] bn | ||||
| [i:~] bn | [i:~] bn | ||||
| [i~] ne | |||||
| vnasal/i_n2 [i~] hi | |||||
| vnasal/m- [m-] sw | vnasal/m- [m-] sw | ||||
| vnasal/n- [n-] sw | vnasal/n- [n-] sw | ||||
| vnasal/nn- [N-] sw | vnasal/nn- [N-] sw | ||||
| [u] zh | [u] zh | ||||
| [u~] bn | [u~] bn | ||||
| [u:~] bn | [u:~] bn | ||||
| [u~] ne | |||||
| vnasal/V_n [V~] ne | |||||
| vnasal/V_n [V~] hi | |||||
| vnasal/W_n [E~] fr | vnasal/W_n [E~] fr | ||||
| [W~] fr | [W~] fr | ||||
| voc/bh [B] base | voc/bh [B] base | ||||
| [D] es | [D] es | ||||
| voc/dh_ [D] base | voc/dh_ [D] base | ||||
| [D] es | [D] es | ||||
| voc/dh_om [d`] om | |||||
| [D] om | |||||
| voc/dh_om [D] om | |||||
| voc/j [J^] base | voc/j [J^] base | ||||
| voc/Q [Q] base | voc/Q [Q] base | ||||
| [Q^] base | [Q^] base | ||||
| [x2] pt | [x2] pt | ||||
| voc/Q_less [Q] nl | voc/Q_less [Q] nl | ||||
| [x2] pt | [x2] pt | ||||
| voc/Q_ulv [Q] hy | |||||
| voc/Q_ulv [Q"] base | |||||
| [Q] hy | |||||
| voc/v [v] base | voc/v [v] base | ||||
| [v] fi | [v] fi | ||||
| [v] fr | [v] fr | ||||
| [v] fr | [v] fr | ||||
| vocw/dh [D] base | vocw/dh [D] base | ||||
| [D] es | [D] es | ||||
| [D] om | |||||
| [d`] om | |||||
| [D] en_klatt | [D] en_klatt | ||||
| vocw/Q [Q] base | vocw/Q [Q] base | ||||
| [Q^] base | [Q^] base | ||||
| [@] kn | [@] kn | ||||
| [@4] bn | [@4] bn | ||||
| [@] hy | [@] hy | ||||
| [@] ga | |||||
| vowel/@- [@-] base | vowel/@- [@-] base | ||||
| [r*] hr | [r*] hr | ||||
| vowel/& [a] en_rp | vowel/& [a] en_rp | ||||
| vowel/0_3 [O] en_sc | vowel/0_3 [O] en_sc | ||||
| [0] en_rp | [0] en_rp | ||||
| [A] hu | [A] hu | ||||
| vowel/@_2 [@] vi | |||||
| [@:] vi | |||||
| [@] sq | |||||
| [V] sq | |||||
| [@/] sq | |||||
| vowel/@_3 [@] en_sc | vowel/@_3 [@] en_sc | ||||
| [I] en_sc | [I] en_sc | ||||
| [@2] en_sc | [@2] en_sc | ||||
| [a] zh | [a] zh | ||||
| [a] id | [a] id | ||||
| [a] ko | [a] ko | ||||
| [a] ga | |||||
| vowel/a# [a/] base2 | vowel/a# [a/] base2 | ||||
| [a2] en_sc | [a2] en_sc | ||||
| [a2] en_wi | [a2] en_wi | ||||
| [&/] pt | [&/] pt | ||||
| [a#] rw | [a#] rw | ||||
| [a/] rw | [a/] rw | ||||
| [a] om | |||||
| [a:] om | |||||
| vowel/a_2 [a] base2 | vowel/a_2 [a] base2 | ||||
| [a] en_wi | [a] en_wi | ||||
| [A:] en_wi | [A:] en_wi | ||||
| [A] pt | [A] pt | ||||
| [a] pt_pt | [a] pt_pt | ||||
| [a] ro | [a] ro | ||||
| [a:] vi | |||||
| [a] rw | [a] rw | ||||
| [a] da | [a] da | ||||
| vowel/a#_2 [a#] pl | vowel/a#_2 [a#] pl | ||||
| [a2] sv | [a2] sv | ||||
| [&] is | [&] is | ||||
| [a/] sw | [a/] sw | ||||
| [a/] sq | |||||
| [a] kn | [a] kn | ||||
| [a] om | |||||
| vowel/a_3 [a] en_sc | vowel/a_3 [a] en_sc | ||||
| [a/] en_sc | [a/] en_sc | ||||
| [A:] en_sc | [A:] en_sc | ||||
| [a] is | [a] is | ||||
| [A] zh | [A] zh | ||||
| [A] da | [A] da | ||||
| [a] sq | |||||
| vowel/a#_3 [a2] en | vowel/a#_3 [a2] en | ||||
| [a2] en_n | [a2] en_n | ||||
| [a2] en_us | [a2] en_us | ||||
| [a#] ca | [a#] ca | ||||
| [&] pt_pt | [&] pt_pt | ||||
| [&/] pt_pt | [&/] pt_pt | ||||
| [@] vi | |||||
| [a] zhy | [a] zhy | ||||
| [a/] sq | |||||
| [a] ml | [a] ml | ||||
| [a] bn | [a] bn | ||||
| [a#] om | |||||
| vowel/a_4 [a/] el | vowel/a_4 [a/] el | ||||
| [a] vi | [a] vi | ||||
| [a:] om | [a:] om | ||||
| [a] sv | [a] sv | ||||
| [a] sw | [a] sw | ||||
| [a] tr | [a] tr | ||||
| [a] sq | |||||
| [a:] ml | [a:] ml | ||||
| [a:] kn | [a:] kn | ||||
| [A:] om | |||||
| [A] om | |||||
| vowel/a_6 [a] fr | vowel/a_6 [a] fr | ||||
| [a2] fr | [a2] fr | ||||
| [a:] vi | |||||
| vowel/aa [a] fi | vowel/aa [a] fi | ||||
| [A] fr_ca | [A] fr_ca | ||||
| [a] lv | [a] lv | ||||
| [A:] no | [A:] no | ||||
| [aa] zhy | [aa] zhy | ||||
| [a] hy | [a] hy | ||||
| [A:] ga | |||||
| vowel/aa# [O] en_us | vowel/aa# [O] en_us | ||||
| [0] en_wi | [0] en_wi | ||||
| [a2] fi | [a2] fi | ||||
| [e#] rw | [e#] rw | ||||
| [e] ko | [e] ko | ||||
| [e] da | [e] da | ||||
| [e] sq | |||||
| [e] ml | [e] ml | ||||
| [e:] ml | [e:] ml | ||||
| [e:] kn | [e:] kn | ||||
| [e] ne | [e] ne | ||||
| [e:] ga | |||||
| vowel/e# [I] en_sc | vowel/e# [I] en_sc | ||||
| [I2] en_sc | [I2] en_sc | ||||
| vowel/e_2 [eI] en_sc | vowel/e_2 [eI] en_sc | ||||
| [e] ku | [e] ku | ||||
| vowel/e_5 [i] en_sc | vowel/e_5 [i] en_sc | ||||
| vowel/e_6 [e] om | vowel/e_6 [e] om | ||||
| vowel/e_7 [e] sq | |||||
| vowel/ee [E] en_n | vowel/ee [E] en_n | ||||
| [E] sv | [E] sv | ||||
| vowel/e_e [E] en_sc | vowel/e_e [E] en_sc | ||||
| [E#] ku | [E#] ku | ||||
| [&] da | [&] da | ||||
| vowel/ee#_2 [E-] sv | vowel/ee#_2 [E-] sv | ||||
| [E] sq | |||||
| vowel/ee_3 [&] af | vowel/ee_3 [&] af | ||||
| [&:] af | [&:] af | ||||
| [E] pt | [E] pt | ||||
| [E] vi | [E] vi | ||||
| vowel/ee_4 [E] sq | |||||
| vowel/ee_6 [&] sk | vowel/ee_6 [&] sk | ||||
| [E3] sv | [E3] sv | ||||
| [E] ku | [E] ku | ||||
| [e] sw | [e] sw | ||||
| [e] tr | [e] tr | ||||
| [E] ko | [E] ko | ||||
| [e#] sq | |||||
| [e] kn | [e] kn | ||||
| [E] om | [E] om | ||||
| [E#] om | |||||
| [E] ga | |||||
| vowel/@_fnt [@] en_wi | vowel/@_fnt [@] en_wi | ||||
| [@2] en_wi | [@2] en_wi | ||||
| [@2] hr | [@2] hr | ||||
| [i] ne | [i] ne | ||||
| [i] hy | [i] hy | ||||
| [i:] om | [i:] om | ||||
| [i:] ga | |||||
| vowel/i# [y:] cy | vowel/i# [y:] cy | ||||
| vowel/i_2 [i2] de | vowel/i_2 [i2] de | ||||
| [i:] de | [i:] de | ||||
| [i] hu | [i] hu | ||||
| [I] it | [I] it | ||||
| [i] is | [i] is | ||||
| [i] vi | |||||
| [i] da | [i] da | ||||
| vowel/i_5 [i:] en_sc | vowel/i_5 [i:] en_sc | ||||
| vowel/i#_5 [y] pt_pt | vowel/i#_5 [y] pt_pt | ||||
| [i/] pt_pt | [i/] pt_pt | ||||
| [y] ro | [y] ro | ||||
| vowel/i_6 [i] ta | |||||
| vowel/i_6 [i] hi | |||||
| [i] ta | |||||
| [i] lv | [i] lv | ||||
| [i:] lv | [i:] lv | ||||
| [i] hr | [i] hr | ||||
| [i] kn | [i] kn | ||||
| vowel/i#_6 [i.] zh | vowel/i#_6 [i.] zh | ||||
| vowel/i_7 [i] pl | vowel/i_7 [i] pl | ||||
| [i] sq | |||||
| vowel/i#_7 [i[] zh | vowel/i#_7 [i[] zh | ||||
| vowel/i_en [i:] en | vowel/i_en [i:] en | ||||
| [i:] en_us | [i:] en_us | ||||
| [i] vi | |||||
| vowel/i_fnt [i:] en_wi | vowel/i_fnt [i:] en_wi | ||||
| [i] hi | |||||
| [i:] hi | [i:] hi | ||||
| [i] bn | [i] bn | ||||
| [i:] bn | [i:] bn | ||||
| [I] is | [I] is | ||||
| [i] zhy | [i] zhy | ||||
| [I] ku | [I] ku | ||||
| [I#] sq | |||||
| [I] om | [I] om | ||||
| [I#] om | |||||
| [I] ga | |||||
| vowel/ii# [Y] cy | vowel/ii# [Y] cy | ||||
| [Y] ru | [Y] ru | ||||
| [I] ku | [I] ku | ||||
| [i] sq | [i] sq | ||||
| [e#] sq | |||||
| [y] ml | [y] ml | ||||
| [y] kn | [y] kn | ||||
| vowel/ii_2 [i] zh | vowel/ii_2 [i] zh | ||||
| [I] pt | [I] pt | ||||
| [y] pt | [y] pt | ||||
| [i/] pt | [i/] pt | ||||
| [i] sq | |||||
| [I] sq | |||||
| vowel/ii_en [i] en | vowel/ii_en [i] en | ||||
| [i] sq | [i] sq | ||||
| vowel/ii_final [i] en_us | vowel/ii_final [i] en_us | ||||
| [o:] kn | [o:] kn | ||||
| [o] bn | [o] bn | ||||
| [o] hy | [o] hy | ||||
| [o:] ga | |||||
| vowel/o_2 [o:] cy | vowel/o_2 [o:] cy | ||||
| [o2] fr | [o2] fr | ||||
| [o:] hi | [o:] hi | ||||
| [o:] hu | [o:] hu | ||||
| [o:] la | [o:] la | ||||
| [o:] no | [o:] no | ||||
| [o] vi | |||||
| [o] ko | [o] ko | ||||
| [o] da | [o] da | ||||
| [o:] bn | [o:] bn | ||||
| [o] zhy | [o] zhy | ||||
| [O] tr | [O] tr | ||||
| [O] id | [O] id | ||||
| [O] ga | |||||
| vowel/oo_1 [O:] en_n | vowel/oo_1 [O:] en_n | ||||
| [O:] en_rp | [O:] en_rp | ||||
| [O@] en_rp | [O@] en_rp | ||||
| [o] sk | [o] sk | ||||
| [o:] sk | [o:] sk | ||||
| [o] hr | [o] hr | ||||
| [o] vi | |||||
| [O/] sq | [O/] sq | ||||
| vowel/oo_2 [0] en_sc | vowel/oo_2 [0] en_sc | ||||
| [O] cy | [O] cy | ||||
| [O] it | [O] it | ||||
| [O] bn | [O] bn | ||||
| [O] om | [O] om | ||||
| [O#] om | |||||
| vowel/oo_5 [O] pl | vowel/oo_5 [O] pl | ||||
| [O] is | [O] is | ||||
| [O] sq | [O] sq | ||||
| vowel/u_5 [u] lv | vowel/u_5 [u] lv | ||||
| [u:] lv | [u:] lv | ||||
| [u] sw | [u] sw | ||||
| vowel/u#_5 [y] vi | |||||
| vowel/u_6 [U] pt_pt | vowel/u_6 [U] pt_pt | ||||
| [u] pt_pt | [u] pt_pt | ||||
| [u] ku | [u] ku | ||||
| [u] rw | [u] rw | ||||
| [u#] rw | [u#] rw | ||||
| [u] ko | [u] ko | ||||
| [u] sq | |||||
| [u:] bn | [u:] bn | ||||
| [u] ne | [u] ne | ||||
| [u] hy | [u] hy | ||||
| [u:] ga | |||||
| vowel/u_bck2 [u:] la | vowel/u_bck2 [u:] la | ||||
| [u] sq | |||||
| vowel/u_fnt [u:] en_rp | vowel/u_fnt [u:] en_rp | ||||
| vowel/uu [U] en | vowel/uu [U] en | ||||
| [U] en_n | [U] en_n | ||||
| [u] zhy | [u] zhy | ||||
| [U] bn | [U] bn | ||||
| [U] om | [U] om | ||||
| [U#] om | |||||
| [U] ga | |||||
| vowel/u_unr [u-] ko | vowel/u_unr [u-] ko | ||||
| vowel/V [3] en_sc | vowel/V [3] en_sc | ||||
| vowel/V_2 [V] en | vowel/V_2 [V] en | ||||
| [V] ta | [V] ta | ||||
| [V] bn | [V] bn | ||||
| vowel/V_4 [V] en_sc | vowel/V_4 [V] en_sc | ||||
| [@:] vi | |||||
| [V] da | [V] da | ||||
| vowel/V_6 [V] en_us | vowel/V_6 [V] en_us | ||||
| [@] sq | |||||
| [V] sq | |||||
| vowel/y [y:] en | vowel/y [y:] en | ||||
| [y:] de | [y:] de | ||||
| [y] fi | [y] fi | ||||
| [Y:] hu | [Y:] hu | ||||
| [8] nl | [8] nl | ||||
| [Y] ro | [Y] ro | ||||
| [y] vi | |||||
| [oe] zhy | [oe] zhy | ||||
| [Y] ko | [Y] ko | ||||
| vowel/y## [y#] is | vowel/y## [y#] is | ||||
| [y] grc | [y] grc | ||||
| [y] is | [y] is | ||||
| [y] hy | [y] hy | ||||
| vweak/@ [@#] om | |||||
| vwl_af/@ [@] af | vwl_af/@ [@] af | ||||
| vwl_af/I [I] af | vwl_af/I [I] af | ||||
| vwl_af/r@ [@] af | vwl_af/r@ [@] af | ||||
| vwl_no/y# [Y:] no | vwl_no/y# [Y:] no | ||||
| vwl_no/y#y [Yy] no | vwl_no/y#y [Yy] no | ||||
| vwl_ro/ii- [I^] ro | vwl_ro/ii- [I^] ro | ||||
| [I#] om | |||||
| vwl_ro/li [I^] ro | vwl_ro/li [I^] ro | ||||
| vwl_ro/mi [I^] ru | vwl_ro/mi [I^] ru | ||||
| [I^] ro | [I^] ro | ||||
| [w] pl | [w] pl | ||||
| [w] sk | [w] sk | ||||
| [w] pt_pt | [w] pt_pt | ||||
| [w] sq | |||||
| w/wa [(a)] base | w/wa [(a)] base | ||||
| w/we [(e)] base | w/we [(e)] base | ||||
| w/wi [(i)] base | w/wi [(i)] base | ||||
| [d] id | [d] id | ||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d`] om | |||||
| [d] en_klatt | [d] en_klatt | ||||
| [d[] ga | |||||
| x/d_dnt [d[] base | x/d_dnt [d[] base | ||||
| [d] base2 | [d] base2 | ||||
| [d] fi | [d] fi | ||||
| [d;] ro | [d;] ro | ||||
| [d] sw | [d] sw | ||||
| [d] bn | [d] bn | ||||
| [d[] ga | |||||
| x/d_pzd [d;] pl | x/d_pzd [d;] pl | ||||
| [d;] ru | [d;] ru | ||||
| x/dzh [J] base | x/dzh [J] base |
| ENVELOPE | ENVELOPE | ||||
| 0 100 | |||||
| 34 100 | |||||
| 50 63 | |||||
| 66 100 | |||||
| 100 100 | |||||
| 0 95 | |||||
| 33 95 | |||||
| 49 55 | |||||
| 65 95 | |||||
| 100 95 |
| ENVELOPE | ENVELOPE | ||||
| 0 100 | 0 100 | ||||
| 34 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 | |||||
| 0 @2 NULL 0 a | 0 @2 NULL 0 a | ||||
| 0 @3 NULL 0 a | 0 @3 NULL 0 a | ||||
| 0 @4 NULL 0 a | 0 @4 NULL 0 a | ||||
| 0 i NULL 0 ii | |||||
| 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 e | 0 e NULL 0 e | ||||
| 0 E: NULL 0 ai | 0 E: NULL 0 ai | ||||
| 0 a: NULL 0 aa | 0 a: NULL 0 aa | ||||
| 0 o: NULL 0 o | 0 o: NULL 0 o | ||||
| 0 o NULL 0 o | 0 o NULL 0 o | ||||
| 0 O NULL 0 o | |||||
| 0 O: NULL 0 au | 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 u: NULL 0 uu | 0 u: NULL 0 uu | ||||
| 0 aI NULL 0 ai | 0 aI NULL 0 ai | ||||
| 0 aU NULL 0 au | 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 H NULL 0 h | ||||
| 0 t. NULL 0 T | 0 t. NULL 0 T | ||||
| 0 t.h NULL 0 Th | 0 t.h NULL 0 Th | ||||
| 0 j NULL 0 y | 0 j NULL 0 y | ||||
| 0 S NULL 0 sh | 0 S NULL 0 sh | ||||
| 0 s. NULL 0 sh | 0 s. NULL 0 sh | ||||
| 0 l. NULL 0 l | |||||
| phoneme aI@ | phoneme aI@ | ||||
| vowel starttype (a) endtype (@) | vowel starttype (a) endtype (@) | ||||
| length 260 | |||||
| length 300 | |||||
| formants vwl_en_us/ai@ | formants vwl_en_us/ai@ | ||||
| linkout r- | linkout r- | ||||
| endphoneme | endphoneme | ||||
| phoneme aU@ | phoneme aU@ | ||||
| vowel starttype (a) endtype (@) | vowel starttype (a) endtype (@) | ||||
| length 260 | |||||
| length 270 | |||||
| formants vwl_en/aU@ | formants vwl_en/aU@ | ||||
| linkout r- | linkout r- | ||||
| endphoneme | endphoneme |
| phoneme i // as [i:] but not marked as 'long' | phoneme i // as [i:] but not marked as 'long' | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 230 | length 230 | ||||
| formants vowel/i_fnt | |||||
| formants vowel/i_6 | |||||
| linkout ; | linkout ; | ||||
| endphoneme | endphoneme | ||||
| formants vowel/e_mid | formants vowel/e_mid | ||||
| endphoneme | endphoneme | ||||
| phoneme E~ | |||||
| vowel starttype (e) endtype (e) | |||||
| length 230 | |||||
| formants vnasal/ee_n2 | |||||
| endphoneme | |||||
| phoneme &: | phoneme &: | ||||
| vowel long starttype (a) endtype (a) | vowel long starttype (a) endtype (a) | ||||
| length 220 | length 220 | ||||
| formants vowel/oo_4 | formants vowel/oo_4 | ||||
| endphoneme | 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 | phoneme O | ||||
| vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
| endphoneme | 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~ | phoneme u~ | ||||
| vowel long starttype (u) endtype (u) | vowel long starttype (u) endtype (u) | ||||
| length 230 | length 230 | ||||
| endphoneme | 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 | |||||
| phoneme th // dental variant of /t/ | phoneme th // dental variant of /t/ | ||||
| vls dnt stop | 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 | vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | ||||
| lengthmod 2 | lengthmod 2 | ||||
| wave ustop/t_dnt%50 | wave ustop/t_dnt%50 | ||||
| endphoneme | 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 | |||||
| vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | 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 | vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1 | ||||
| lengthmod 2 | lengthmod 2 | ||||
| wave ustop/ts_pzd2%80 | |||||
| wave ustop/ts_pzd2%90 | |||||
| before _ ustop/ts_pzd_ | before _ ustop/ts_pzd_ | ||||
| switchvoicing J | switchvoicing J | ||||
| endphoneme | endphoneme | ||||
| switchvoicing g | switchvoicing g | ||||
| endphoneme | endphoneme | ||||
| phoneme kh // this is english [k] | |||||
| phoneme kh | |||||
| vls vel stop | vls vel stop | ||||
| vowelin f1=0 f2=2300 200 300 f3=-150 80 | vowelin f1=0 f2=2300 200 300 f3=-150 80 | ||||
| vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | ||||
| lengthmod 2 | lengthmod 2 | ||||
| wave ustop/k | |||||
| before _ ustop/k_ | |||||
| wave ustop/k_asp%90 | |||||
| before _ ustop/k_asp%50 | |||||
| before r ustop/kr | before r ustop/kr | ||||
| before l ustop/kl | before l ustop/kl | ||||
| switchvoicing g | switchvoicing g | ||||
| endphoneme | endphoneme | ||||
| phoneme g // | |||||
| phoneme g | |||||
| vcd vel stop | vcd vel stop | ||||
| vowelin f1=1 f2=2300 200 300 f3=-300 80 | vowelin f1=1 f2=2300 200 300 f3=-300 80 | ||||
| vowelout f1=1 f2=2300 250 300 f3=-300 80 brk | vowelout f1=1 f2=2300 250 300 f3=-300 80 brk | ||||
| lengthmod 5 | lengthmod 5 | ||||
| endphoneme | 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 | |||||
| phoneme : // Lengthen previous vowel by "length" | phoneme : // Lengthen previous vowel by "length" | ||||
| virtual | virtual | ||||
| length 40 | |||||
| length 50 | |||||
| endphoneme | endphoneme | ||||
| // CONSONANTS | // 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 | phoneme t | ||||
| vls dnt stop | vls dnt stop | ||||
| vowelin f1=0 f2=1600 -300 300 f3=-100 80 | vowelin f1=0 f2=1600 -300 300 f3=-100 80 |
| endphoneme | 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 | phoneme R^ // Czech r-caron | ||||
| vcd pla frc sibilant | vcd pla frc sibilant |
| //==================================================== | //==================================================== | ||||
| phoneme 1 // tone: level | |||||
| phoneme 1 // ngang tone: level | |||||
| stress | stress | ||||
| length 11 | length 11 | ||||
| tone 28 32 envelope/p_level NULL | tone 28 32 envelope/p_level NULL | ||||
| endphoneme | endphoneme | ||||
| phoneme 2 // tone: low falling | |||||
| phoneme 2 // huyền tone: low falling | |||||
| stress | stress | ||||
| length 12 | length 12 | ||||
| tone 20 8 envelope/p_fall NULL | tone 20 8 envelope/p_fall NULL | ||||
| endphoneme | endphoneme | ||||
| phoneme 3 // tone rising | |||||
| phoneme 3 // sắc tone rising | |||||
| stress | stress | ||||
| length 13 | length 13 | ||||
| tone 28 43 envelope/p_rise NULL | |||||
| tone 25 50 envelope/p_rise NULL | |||||
| endphoneme | endphoneme | ||||
| phoneme 4 // tone curve (dipping rising) | |||||
| phoneme 4 // hỏi tone curve (dipping rising) | |||||
| stress | stress | ||||
| length 14 | length 14 | ||||
| tone 28 5 envelope/p_fallrise NULL | |||||
| tone 30 5 envelope/p_fallrise NULL | |||||
| endphoneme | endphoneme | ||||
| phoneme 5 // tone: broken (creaking rising) | |||||
| phoneme 5 // ngã tone: broken (creaking rising) | |||||
| stress | stress | ||||
| length 15 | length 15 | ||||
| tone 28 45 envelope/vi_5 envelope/vi_5amp | |||||
| tone 30 55 envelope/p_214 envelope/vi_5amp | |||||
| endphoneme | endphoneme | ||||
| phoneme 6 // tone drop (constricted) | |||||
| phoneme 6 // nặng tone drop (constricted) | |||||
| stress | stress | ||||
| length 16 | length 16 | ||||
| tone 30 5 envelope/vi_6 envelope/vi_6amp | |||||
| tone 40 20 envelope/p_512 envelope/vi_6amp | |||||
| endphoneme | endphoneme | ||||
| phoneme 7 // tone 1 at end of clause | |||||
| phoneme 7 // tone 1 (ngang) at end of clause | |||||
| stress | stress | ||||
| length 17 | length 17 | ||||
| tone 30 20 envelope/p_fall NULL | |||||
| tone 40 20 envelope/p_fall NULL | |||||
| endphoneme | endphoneme | ||||
| phoneme 8 // TEST | |||||
| stress | |||||
| length 18 | |||||
| tone 30 6 envelope/p_512 NULL | |||||
| endphoneme | |||||
| // Vowels | // Vowels | ||||
| //======= | //======= | ||||
| phoneme a: | phoneme a: | ||||
| vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
| length 280 | length 280 | ||||
| formants vowel/a_2 | |||||
| formants vowel/a_6 | |||||
| endphoneme | endphoneme | ||||
| phoneme i | phoneme i | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 190 | length 190 | ||||
| formants vowel/i_en | |||||
| formants vowel/i_4 | |||||
| after w w/wi | after w w/wi | ||||
| linkout ; | linkout ; | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
| length 200 | length 200 | ||||
| formants vowel/oo_1 | |||||
| formants vowel/o_2 | |||||
| endphoneme | endphoneme | ||||
| phoneme y | phoneme y | ||||
| vowel starttype (u) endtype (u) | vowel starttype (u) endtype (u) | ||||
| length 200 | length 200 | ||||
| formants vowel/y# | |||||
| formants vowel/u#_5 | |||||
| endphoneme | endphoneme | ||||
| phoneme @ | phoneme @ | ||||
| vowel starttype (@) endtype (a) | vowel starttype (@) endtype (a) | ||||
| length 130 | length 130 | ||||
| formants vowel/a#_3 | |||||
| formants vowel/@_2 | |||||
| endphoneme | endphoneme | ||||
| phoneme @: | phoneme @: | ||||
| vowel starttype (@) endtype (@) | vowel starttype (@) endtype (@) | ||||
| length 280 | length 280 | ||||
| formants vowel/V_4 | |||||
| formants vowel/@_2 | |||||
| endphoneme | endphoneme | ||||
| phoneme @I | phoneme @I | ||||
| vowel starttype (@) endtype (i) | vowel starttype (@) endtype (i) | ||||
| length 250 | length 250 | ||||
| formants vdiph/@i_4 | |||||
| formants vdiph/@i | |||||
| endphoneme | endphoneme | ||||
| phoneme @:I | phoneme @:I | ||||
| vowel starttype (@) endtype (i) | vowel starttype (@) endtype (i) | ||||
| length 250 | length 250 | ||||
| formants vdiph/Vi | |||||
| formants vdiph/@i | |||||
| endphoneme | endphoneme | ||||
| phoneme aU | phoneme aU | ||||
| vowel starttype (a) endtype (u) | vowel starttype (a) endtype (u) | ||||
| length 230 | |||||
| length 210 | |||||
| formants vdiph/aau_4 | formants vdiph/aau_4 | ||||
| endphoneme | endphoneme | ||||
| phoneme a:U | phoneme a:U | ||||
| vowel starttype (a) endtype (u) | vowel starttype (a) endtype (u) | ||||
| length 260 | |||||
| length 270 | |||||
| formants vdiph/au | formants vdiph/au | ||||
| endphoneme | endphoneme | ||||
| phoneme @U | phoneme @U | ||||
| vowel starttype (@) endtype (u) | vowel starttype (@) endtype (u) | ||||
| length 200 | length 200 | ||||
| formants vdiph/Vu_4 | |||||
| formants vdiph/@u | |||||
| endphoneme | endphoneme | ||||
| phoneme @:U | phoneme @:U | ||||
| vowel starttype (@) endtype (u) | vowel starttype (@) endtype (u) | ||||
| length 260 | |||||
| formants vdiph/Vu_4 | |||||
| length 270 | |||||
| formants vdiph/@u | |||||
| endphoneme | endphoneme | ||||
| phoneme y@ | phoneme y@ | ||||
| vowel starttype (i) endtype (@) | vowel starttype (i) endtype (@) | ||||
| length 200 | length 200 | ||||
| formants vdiph2/u-@ | |||||
| formants vdiph2/y-y# | |||||
| endphoneme | endphoneme | ||||
| phoneme u@ | phoneme u@ | ||||
| switchvoicing Q | switchvoicing Q | ||||
| endphoneme | endphoneme | ||||
| phoneme l | |||||
| liquid | |||||
| length 100 | |||||
| lengthmod 7 | |||||
| beforenotvowel l/ | |||||
| formants l/l_vi | |||||
| endphoneme | |||||
| endphoneme | 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 | phoneme l | ||||
| liquid | liquid | ||||
| vcd pla afr sibilant | vcd pla afr sibilant | ||||
| vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70 | 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 | 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 | before _ dzh/dz_pzd_+x/dzh%35 | ||||
| after _ NULL | after _ NULL | ||||
| after @ dzh/xdz_pzd | after @ dzh/xdz_pzd | ||||
| vcd pla frc sibilant | vcd pla frc sibilant | ||||
| vowelin f1=0 f2=2000 0 300 f3=-200 80 | vowelin f1=0 f2=2000 0 300 f3=-200 80 | ||||
| vowelout f1=2 f2=2000 0 300 f3=-200 80 brk | 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 | before _ voc/zh_+vocw/zh | ||||
| lengthmod 6 | lengthmod 6 | ||||
| switchvoicing S | switchvoicing S | ||||
| switchvoicing x | switchvoicing x | ||||
| endphoneme | 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 | |||||
| //******************************************************************* | //******************************************************************* | ||||
| phonemetable da is | phonemetable da is | ||||
| include ph_danish | include ph_danish | ||||
| phonemetable sq base2 | |||||
| phonemetable sq base | |||||
| include ph_albanian | include ph_albanian | ||||
| phonemetable ml hi | phonemetable ml hi | ||||
| phonemetable en_klatt en | phonemetable en_klatt en | ||||
| include ph_english_klatt | include ph_english_klatt | ||||
| ] | |||||
| phonemetable ga base | |||||
| include ph_irish |
| /*************************************************************************** | |||||
| * 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); | |||||
| //#define __cdecl // define as null, needed for Borland compiler ? | //#define __cdecl // define as null, needed for Borland compiler ? | ||||
| //#define USE_PORTAUDIO | //#define USE_PORTAUDIO | ||||
| //#define USE_NANOSLEEP | //#define USE_NANOSLEEP | ||||
| #define INCLUDE_KLATT | |||||
| // will look for espeak_data directory here, and also in user's home directory | // will look for espeak_data directory here, and also in user's home directory | ||||
| #define PATH_ESPEAK_DATA "/usr/share/espeak-data" | #define PATH_ESPEAK_DATA "/usr/share/espeak-data" | ||||
| #define N_PATH_HOME 120 | |||||
| #define N_PATH_HOME 220 | |||||
| extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | ||||
| extern void strncpy0(char *to,const char *from, int size); | extern void strncpy0(char *to,const char *from, int size); |
| {"f4", 0x300000a}, | {"f4", 0x300000a}, | ||||
| {"paus", 0x300000b}, | {"paus", 0x300000b}, | ||||
| {"colr=",0x300000c}, | {"colr=",0x300000c}, | ||||
| {"amp=", 0x300000d}, | |||||
| {"amp=", 0x300000d}, // set rms of 1st frame as fraction of rms of 2nd frame (1/30ths) | |||||
| {"", -1} | {"", -1} | ||||
| }; | }; | ||||
| vcolour = NextItem(tNUMBER); | vcolour = NextItem(tNUMBER); | ||||
| break; | break; | ||||
| case 13: | 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; | rms = (Range(NextItem(tNUMBER), 1, 0, 31) & 0x1f) | 0x20; | ||||
| flags |= 1; | flags |= 1; | ||||
| break; | break; |
| {"$alt2", 21}, | {"$alt2", 21}, | ||||
| {"$max3", 27}, // limit to 3 repetitions | |||||
| {"$brk", 28}, // a shorter $pause | {"$brk", 28}, // a shorter $pause | ||||
| {"$text", 29}, // word translates to replcement text, not phonemes | {"$text", 29}, // word translates to replcement text, not phonemes | ||||
| // match the word against a list of utf-8 strings | // match the word against a list of utf-8 strings | ||||
| char *p; | char *p; | ||||
| char *w; | char *w; | ||||
| int len; | |||||
| p = letterGroups[group]; | p = letterGroups[group]; | ||||
| if(p == NULL) | if(p == NULL) | ||||
| while(*p != RULE_GROUP_END) | while(*p != RULE_GROUP_END) | ||||
| { | { | ||||
| w = word; | |||||
| if(pre) | |||||
| { | |||||
| len = strlen(p); | |||||
| w = word - len + 1; | |||||
| } | |||||
| else | |||||
| { | |||||
| w = word; | |||||
| } | |||||
| while(*p == *w) | while(*p == *w) | ||||
| { | { | ||||
| w++; | w++; | ||||
| p++; | p++; | ||||
| } | } | ||||
| if(*p == 0) | if(*p == 0) | ||||
| { | |||||
| if(pre) | |||||
| return(len); | |||||
| return(w-word); // matched a complete string | return(w-word); // matched a complete string | ||||
| } | |||||
| while(*p++ != 0); // skip to end of string | while(*p++ != 0); // skip to end of string | ||||
| } | } | ||||
| unsigned char vowel_stress[N_WORD_PHONEMES/2]; | unsigned char vowel_stress[N_WORD_PHONEMES/2]; | ||||
| char syllable_weight[N_WORD_PHONEMES/2]; | char syllable_weight[N_WORD_PHONEMES/2]; | ||||
| char vowel_length[N_WORD_PHONEMES/2]; | |||||
| unsigned char phonetic[N_WORD_PHONEMES]; | 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}; | static char consonant_types[16] = {0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0}; | ||||
| // long vowel, increase syllable weight | // long vowel, increase syllable weight | ||||
| weight++; | weight++; | ||||
| } | } | ||||
| vowel_length[ix] = weight; | |||||
| if(lengthened) p++; // advance over phonLENGTHEN | if(lengthened) p++; // advance over phonLENGTHEN | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| 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) | if(vowel_stress[stressed_syllable] == 1) | ||||
| { | { | ||||
| } | } | ||||
| p += (wc_bytes-1); | p += (wc_bytes-1); | ||||
| } | } | ||||
| else | |||||
| { | |||||
| phonemes_repeat_count = 0; | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| // any language specific changes ? | // any language specific changes ? | ||||
| ApplySpecialAttribute(phonemes,dict_flags0); | ApplySpecialAttribute(phonemes,dict_flags0); | ||||
| memcpy(p_start,word_copy,strlen(word_copy)); | memcpy(p_start,word_copy,strlen(word_copy)); | ||||
| return(0); | return(0); | ||||
| } /* end of TranslateRules */ | } /* end of TranslateRules */ | ||||
| found = LookupDict2(word, word1, ph_out, flags, end_flags, wtab); | 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)) | if((found == 0) && (flags[1] & FLAG_ACCENT)) | ||||
| { | { | ||||
| int letter; | int letter; |
| FILE *f_text=NULL; | FILE *f_text=NULL; | ||||
| char *p_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 | char *data_path = NULL; // use default path for espeak-data | ||||
| int option_index = 0; | int option_index = 0; | ||||
| int option_linelength = 0; | int option_linelength = 0; | ||||
| int option_waveout = 0; | int option_waveout = 0; | ||||
| char filename[120]; | |||||
| espeak_VOICE voice_select; | |||||
| char filename[200]; | |||||
| char voicename[40]; | char voicename[40]; | ||||
| char voice_mbrola[20]; | char voice_mbrola[20]; | ||||
| char dictname[40]; | char dictname[40]; | ||||
| if(espeak_SetVoiceByName(voicename) != EE_OK) | 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) | if(flag_compile) |
| 0x037e, // Greek question mark (looks like semicolon) | 0x037e, // Greek question mark (looks like semicolon) | ||||
| 0x0387, // Greek semicolon, ano teleia | 0x0387, // Greek semicolon, ano teleia | ||||
| 0x0964, // Devanagari Danda (fullstop) | 0x0964, // Devanagari Danda (fullstop) | ||||
| 0x3001, // ideograph comma | |||||
| 0x3002, // ideograph period | |||||
| 0x0589, // Armenian period | 0x0589, // Armenian period | ||||
| 0x055d, // Armenian comma | 0x055d, // Armenian comma | ||||
| 0x055e, // Armenian question | 0x055e, // Armenian question | ||||
| 0x055b, // Armenian emphasis mark | 0x055b, // Armenian emphasis mark | ||||
| 0x1362, // Ethiopic period | |||||
| 0x1363, | |||||
| 0x1364, | |||||
| 0x1365, | |||||
| 0x1366, | |||||
| 0x1367, | |||||
| 0x1368, | |||||
| 0x3001, // ideograph comma | |||||
| 0x3002, // ideograph period | |||||
| 0xff01, // fullwidth exclamation | 0xff01, // fullwidth exclamation | ||||
| 0xff0c, // fullwidth comma | 0xff0c, // fullwidth comma | ||||
| 0xff0e, // fullwidth period | 0xff0e, // fullwidth period | ||||
| CLAUSE_QUESTION, // Greek question mark | CLAUSE_QUESTION, // Greek question mark | ||||
| CLAUSE_SEMICOLON, // Greek semicolon | CLAUSE_SEMICOLON, // Greek semicolon | ||||
| CLAUSE_PERIOD+0x8000, // Devanagari Danda (fullstop) | CLAUSE_PERIOD+0x8000, // Devanagari Danda (fullstop) | ||||
| CLAUSE_COMMA+0x8000, // ideograph comma | |||||
| CLAUSE_PERIOD+0x8000, // ideograph period | |||||
| CLAUSE_PERIOD+0x8000, // Armenian period | CLAUSE_PERIOD+0x8000, // Armenian period | ||||
| CLAUSE_COMMA, // Armenian comma | CLAUSE_COMMA, // Armenian comma | ||||
| CLAUSE_QUESTION + PUNCT_IN_WORD, // Armenian question | CLAUSE_QUESTION + PUNCT_IN_WORD, // Armenian question | ||||
| CLAUSE_PERIOD + PUNCT_IN_WORD, // Armenian emphasis mark | 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_EXCLAMATION+0x8000, // fullwidth | ||||
| CLAUSE_COMMA+0x8000, | CLAUSE_COMMA+0x8000, | ||||
| CLAUSE_PERIOD+0x8000, | CLAUSE_PERIOD+0x8000, | ||||
| #define SSML_AUDIO 11 | #define SSML_AUDIO 11 | ||||
| #define SSML_EMPHASIS 12 | #define SSML_EMPHASIS 12 | ||||
| #define SSML_BREAK 13 | #define SSML_BREAK 13 | ||||
| #define SSML_METADATA 14 | |||||
| #define SSML_IGNORE_TEXT 14 | |||||
| #define HTML_BREAK 15 | #define HTML_BREAK 15 | ||||
| #define SSML_CLOSE 0x10 // for a closing tag, OR this with the tag type | #define SSML_CLOSE 0x10 // for a closing tag, OR this with the tag type | ||||
| {"audio", SSML_AUDIO}, | {"audio", SSML_AUDIO}, | ||||
| {"emphasis", SSML_EMPHASIS}, | {"emphasis", SSML_EMPHASIS}, | ||||
| {"break", SSML_BREAK}, | {"break", SSML_BREAK}, | ||||
| {"metadata", SSML_METADATA}, | |||||
| {"metadata", SSML_IGNORE_TEXT}, | |||||
| {"br", HTML_BREAK}, | {"br", HTML_BREAK}, | ||||
| {"li", HTML_BREAK}, | {"li", HTML_BREAK}, | ||||
| {"h3", SSML_PARAGRAPH}, | {"h3", SSML_PARAGRAPH}, | ||||
| {"h4", SSML_PARAGRAPH}, | {"h4", SSML_PARAGRAPH}, | ||||
| {"hr", SSML_PARAGRAPH}, | {"hr", SSML_PARAGRAPH}, | ||||
| {"script", SSML_IGNORE_TEXT}, | |||||
| {"style", SSML_IGNORE_TEXT}, | |||||
| {NULL,0}}; | {NULL,0}}; | ||||
| SSML_STACK *sp; | SSML_STACK *sp; | ||||
| const char *v_id; | const char *v_id; | ||||
| int voice_name_specified; | int voice_name_specified; | ||||
| int voice_found; | |||||
| espeak_VOICE voice_select; | espeak_VOICE voice_select; | ||||
| char voice_name[40]; | char voice_name[40]; | ||||
| char language[40]; | char language[40]; | ||||
| voice_select.name = voice_name; | voice_select.name = voice_name; | ||||
| voice_select.languages = language; | voice_select.languages = language; | ||||
| v_id = SelectVoice(&voice_select); | |||||
| v_id = SelectVoice(&voice_select, &voice_found); | |||||
| if(v_id == NULL) | if(v_id == NULL) | ||||
| return("default"); | return("default"); | ||||
| return(v_id); | return(v_id); | ||||
| } | } | ||||
| break; | break; | ||||
| case SSML_METADATA: | |||||
| case SSML_IGNORE_TEXT: | |||||
| ignore_text = 1; | ignore_text = 1; | ||||
| break; | break; | ||||
| case SSML_SUB + SSML_CLOSE: | case SSML_SUB + SSML_CLOSE: | ||||
| case SSML_METADATA + SSML_CLOSE: | |||||
| case SSML_IGNORE_TEXT + SSML_CLOSE: | |||||
| ignore_text = 0; | ignore_text = 0; | ||||
| break; | break; | ||||
| static int optional_argument; | static int optional_argument; | ||||
| static const char *arg_opts = "afklpsvw"; // which options have arguments | static const char *arg_opts = "afklpsvw"; // which options have arguments | ||||
| static char *opt_string=""; | static char *opt_string=""; | ||||
| #define no_argument 0 | |||||
| #define no_argument 0 | |||||
| #define required_argument 1 | #define required_argument 1 | ||||
| #define optional_argument 2 | #define optional_argument 2 | ||||
| #endif | #endif | ||||
| int flag_stdin = 0; | int flag_stdin = 0; | ||||
| int flag_compile = 0; | int flag_compile = 0; | ||||
| int pitch_adjustment = 50; | int pitch_adjustment = 50; | ||||
| char filename[120]; | |||||
| espeak_VOICE voice_select; | |||||
| char filename[200]; | |||||
| char voicename[40]; | char voicename[40]; | ||||
| char dictname[40]; | char dictname[40]; | ||||
| option_endpause = 1; | option_endpause = 1; | ||||
| option_phoneme_input = 1; | option_phoneme_input = 1; | ||||
| option_multibyte = espeakCHARS_AUTO; // auto | option_multibyte = espeakCHARS_AUTO; // auto | ||||
| f_trans = stderr; | |||||
| f_trans = stdout; | |||||
| #ifdef NEED_GETOPT | #ifdef NEED_GETOPT | ||||
| optind = 1; | optind = 1; | ||||
| opt_string = ""; | |||||
| while(optind < argc) | while(optind < argc) | ||||
| { | { | ||||
| int len; | int len; | ||||
| if(SetVoiceByName(voicename) != EE_OK) | 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); | SetParameter(espeakRATE,speed,0); |
| ESPEAK_API espeak_ERROR espeak_SetVoiceByName(const char *name) | ESPEAK_API espeak_ERROR espeak_SetVoiceByName(const char *name) | ||||
| {//=================================================== | |||||
| {//============================================================ | |||||
| ENTER("espeak_SetVoiceByName"); | 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; | espeak_ERROR a_error; | ||||
| if(synchronous_mode) | if(synchronous_mode) | ||||
| ESPEAK_API espeak_ERROR espeak_SetVoiceByProperties(espeak_VOICE *voice_selector) | ESPEAK_API espeak_ERROR espeak_SetVoiceByProperties(espeak_VOICE *voice_selector) | ||||
| {//===================================================================== | |||||
| {//============================================================================== | |||||
| ENTER("espeak_SetVoiceByProperties"); | ENTER("espeak_SetVoiceByProperties"); | ||||
| #ifdef USE_ASYNC | |||||
| //#ifdef USE_ASYNC | |||||
| #ifdef deleted | |||||
| espeak_ERROR a_error; | espeak_ERROR a_error; | ||||
| if(synchronous_mode) | if(synchronous_mode) |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.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; | const int version_phdata = 0x013900; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| int name2 = 0; | int name2 = 0; | ||||
| Translator *tr; | 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}; | 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() | // convert name string into a word of up to 4 characters, for the switch() | ||||
| case L('d','a'): // Danish | 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}; | static const short stress_lengths_da[8] = {160,140, 200,200, 0,0, 220,210}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_da,stress_amps_da); | |||||
| SetupTranslator(tr,stress_lengths_da,NULL); | |||||
| tr->langopts.stress_rule = 0; | tr->langopts.stress_rule = 0; | ||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| } | } | ||||
| break; | 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('h','i'): // Hindi | ||||
| case L('n','e'): // Nepali | case L('n','e'): // Nepali | ||||
| { | { | ||||
| case L('b','s'): // Bosnian | case L('b','s'): // Bosnian | ||||
| case L('s','r'): // Serbian | 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_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}; | static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260}; | ||||
| case L('i','s'): // Icelandic | 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 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' | static const wchar_t is_lettergroup_B[] = {'c','f','h','k','p','t','x',0xfe,0}; // voiceless conants, including 'þ' ?? 's' | ||||
| tr = new Translator(); | 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_rule = 0; | ||||
| tr->langopts.stress_flags = 0x10; | tr->langopts.stress_flags = 0x10; | ||||
| tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels | tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels | ||||
| case L('i','t'): // Italian | 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(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_it,stress_amps_it); | SetupTranslator(tr,stress_lengths_it,stress_amps_it); | ||||
| { | { | ||||
| static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R] | 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}; | 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}; | static const short stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| case L('n','o'): // Norwegian | 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}; | static const short stress_lengths_no[8] = {160,140, 200,200, 0,0, 220,210}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_no,stress_amps_no); | |||||
| SetupTranslator(tr,stress_lengths_no,NULL); | |||||
| tr->langopts.stress_rule = 0; | tr->langopts.stress_rule = 0; | ||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| case L('o','m'): | 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}; | static const short stress_lengths_om[8] = {200,200, 200,200, 0,0, 200,200}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_om,stress_amps_om); | 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; | break; | ||||
| case L('s','q'): // Albanian | 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(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_sq,stress_amps_sq); | 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'); | SetLetterVowel(tr,'y'); | ||||
| tr->langopts.numbers = 0x69 + 0x8000; | tr->langopts.numbers = 0x69 + 0x8000; | ||||
| } | } | ||||
| case L('v','i'): // Vietnamese | 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[] = { | static wchar_t vowels_vi[] = { | ||||
| 0x61, 0xe0, 0xe1, 0x1ea3, 0xe3, 0x1ea1, // a | 0x61, 0xe0, 0xe1, 0x1ea3, 0xe3, 0x1ea1, // a | ||||
| 0x103, 0x1eb1, 0x1eaf, 0x1eb3, 0x1eb5, 0x1eb7, // ă | 0x103, 0x1eb1, 0x1eaf, 0x1eb3, 0x1eb5, 0x1eb7, // ă | ||||
| tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | ||||
| tr->langopts.stress_rule = 0; | 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->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.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() | ||||
| tr->langopts.unstressed_wd1 = 2; | tr->langopts.unstressed_wd1 = 2; | ||||
| tr->langopts.numbers = 0x0049; | |||||
| } | } | ||||
| break; | break; |
| Translator::Translator() | Translator::Translator() | ||||
| {//===================== | {//===================== | ||||
| int ix; | 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 short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280}; | ||||
| static const wchar_t empty_wstring[1] = {0}; | static const wchar_t empty_wstring[1] = {0}; | ||||
| static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words | static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words | ||||
| expect_verb_s=0; | expect_verb_s=0; | ||||
| end_stressed_vowel=0; | end_stressed_vowel=0; | ||||
| prev_dict_flags = 0; | prev_dict_flags = 0; | ||||
| phonemes_repeat_count = 0; | |||||
| sbuf[0] = 0; | sbuf[0] = 0; | ||||
| sbuf[1] = ' '; | sbuf[1] = ' '; |
| #define FLAG_ALT_TRANS 0x100000 // language specific | #define FLAG_ALT_TRANS 0x100000 // language specific | ||||
| #define FLAG_ALT2_TRANS 0x200000 // 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_PAUSE1 0x10000000 // shorter prepause | ||||
| #define FLAG_TEXTMODE 0x20000000 // word translates to replacement text, not phonemes | #define FLAG_TEXTMODE 0x20000000 // word translates to replacement text, not phonemes | ||||
| #define BITNUM_FLAG_TEXTMODE 29 | #define BITNUM_FLAG_TEXTMODE 29 | ||||
| // bit16= Don't diminish consecutive syllables within a word. | // bit16= Don't diminish consecutive syllables within a word. | ||||
| // bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary" | // 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 | // 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 stress_flags; | ||||
| int unstressed_wd1; // stress for $u word of 1 syllable | int unstressed_wd1; // stress for $u word of 1 syllable | ||||
| char phon_out[300]; | char phon_out[300]; | ||||
| char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes | 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[8]; | ||||
| unsigned char stress_amps_r[8]; | unsigned char stress_amps_r[8]; |
| extern voice_t *voice; | extern voice_t *voice; | ||||
| extern int tone_points[12]; | 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); | espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name); | ||||
| voice_t *LoadVoice(const char *voice_name, int control); | voice_t *LoadVoice(const char *voice_name, int control); | ||||
| voice_t *LoadVoiceVariant(const char *voice_name, int variant); | voice_t *LoadVoiceVariant(const char *voice_name, int variant); |
| static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | ||||
| // default is: pitch 82,118 | // 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->formant_factor = 256; | ||||
| voice->echo_delay = 0; | voice->echo_delay = 0; | ||||
| matching_parts += matching; // number of parts which match | matching_parts += matching; // number of parts which match | ||||
| if(matching_parts == 0) | if(matching_parts == 0) | ||||
| break; // no matching parts for this language | |||||
| continue; // no matching parts for this language | |||||
| x = 5; | x = 5; | ||||
| // reduce the score if not all parts of the required language match | // reduce the score if not all parts of the required language match | ||||
| 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 | // Returns a path within espeak-voices, with a possible +variant suffix | ||||
| // variant is an output-only parameter | // variant is an output-only parameter | ||||
| int nv; // number of candidates | int nv; // number of candidates | ||||
| static espeak_VOICE voice_variants[N_VOICE_VARIANTS]; | static espeak_VOICE voice_variants[N_VOICE_VARIANTS]; | ||||
| static char voice_id[50]; | static char voice_id[50]; | ||||
| *found = 1; | |||||
| memcpy(&voice_select2,voice_select,sizeof(voice_select2)); | memcpy(&voice_select2,voice_select,sizeof(voice_select2)); | ||||
| if(n_voices_list == 0) | if(n_voices_list == 0) | ||||
| if(nv == 0) | if(nv == 0) | ||||
| { | { | ||||
| // no matching voice, choose the default | // no matching voice, choose the default | ||||
| *found = 0; | |||||
| if((voices[0] = SelectVoiceByName(voices_list,"default")) != NULL) | if((voices[0] = SelectVoiceByName(voices_list,"default")) != NULL) | ||||
| nv = 1; | nv = 1; | ||||
| } | } | ||||
| espeak_ERROR SetVoiceByProperties(espeak_VOICE *voice_selector) | espeak_ERROR SetVoiceByProperties(espeak_VOICE *voice_selector) | ||||
| {//============================================================ | {//============================================================ | ||||
| const char *voice_id; | 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); | LoadVoiceVariant(voice_id,0); | ||||
| DoVoiceChange(voice); | DoVoiceChange(voice); |
| FILE *f_log = NULL; | FILE *f_log = NULL; | ||||
| int option_waveout = 0; | int option_waveout = 0; | ||||
| int option_harmonic1 = 11; // 10 | |||||
| int option_harmonic1 = 10; // 10 | |||||
| int option_log_frames = 0; | int option_log_frames = 0; | ||||
| static int flutter_amp = 64; | static int flutter_amp = 64; | ||||
| }; | }; | ||||
| // waveform shape table for HF peaks, formants 6,7,8 | // 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_offset=0; | ||||
| static int wavemult_max=0; | static int wavemult_max=0; | ||||
| 218,213,207,201,194,188,181,174,166,159,152,144,136,128,121,113, | 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, | 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, | 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 }; | 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 | // set from y = pow(2,x) * 128, x=-1 to 1 | ||||
| unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { | unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { | ||||
| } | } | ||||
| int WavegenCloseSound() | int WavegenCloseSound() | ||||
| {//==================== | {//==================== | ||||
| PaError active; | PaError active; | ||||
| // check whether speaking has finished, and close the stream | // 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 | #if USE_PORTAUDIO == 18 | ||||
| active = Pa_StreamActive(pa_stream); | active = Pa_StreamActive(pa_stream); | ||||
| #else | #else | ||||
| active = Pa_IsStreamActive(pa_stream); | active = Pa_IsStreamActive(pa_stream); | ||||
| #endif | #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); | return(0); | ||||
| } | } | ||||
| } | } | ||||
| // 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 | // find the nearest harmonic for HF peaks where we don't use shape | ||||
| for(; pk<N_PEAKS; pk++) | for(; pk<N_PEAKS; pk++) | ||||
| if((ix = amp_ix>>8) > 127) ix = 127; | if((ix = amp_ix>>8) > 127) ix = 127; | ||||
| amp = amplitude_env[ix]; | amp = amplitude_env[ix]; | ||||
| amplitude2 = (amplitude2 * amp)/255; | 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 | // introduce roughness into the sound by reducing the amplitude of |