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