@@ -19,11 +19,11 @@ n Ene | |||
ñ En^e | |||
p pe | |||
q ku | |||
r ERR2e | |||
r ERR2e | |||
s Ese | |||
t te | |||
u u | |||
v ,be||b'aIksa | |||
v ,be||b'aSa | |||
w ,be||d'Ople | |||
x Se | |||
z Teta | |||
@@ -70,7 +70,10 @@ _7C sjEteTj'Entos | |||
_8C gwitoTj'Entos | |||
_9C nowTj'Entos | |||
_0M1 m'il | |||
_0M2 mil^'ones | |||
_0M2 mil^'ons | |||
_1M2 un||mil^'on | |||
_0M4 bil^'ons | |||
_1M4 un||bil^'on | |||
_0and i | |||
_dpt kon | |||
@@ -78,3 +81,13 @@ _dpt kon | |||
// unstressed words | |||
lo $u | |||
la $u | |||
los $u | |||
las $u | |||
ne $u | |||
nes $u | |||
me $u | |||
te $u | |||
se $u | |||
le $u | |||
les $u |
@@ -35,6 +35,8 @@ | |||
.L03 a i o u // vowel, not 'e' | |||
.L05 c g k | |||
.L06 s z | |||
.L07 b d g m n r bE dE lE nE // before voiced s in -sman | |||
.L08 t d s z n x // dental, drop [j] before [u:] | |||
.L10 grap log met scop // scientific endings | |||
@@ -58,6 +60,7 @@ | |||
a (Cee+ a | |||
a (BeCo_ a | |||
a (BerA a | |||
a (BeroA# eI | |||
a (BerC a | |||
a (Bet a | |||
@) a (Bia 'eI | |||
@@ -114,7 +117,7 @@ | |||
m) a (jes a | |||
m) a (jor_ eI | |||
m) a (jore eI | |||
_) a (k@ a# | |||
_) a (ki a# | |||
@) a (ki_ 'a | |||
@) ak (ia ak | |||
aku (_ 'A:ku: | |||
@@ -313,7 +316,7 @@ | |||
acne aknI | |||
acou (st a#ku: | |||
ac (quie ,a | |||
_) acre eIk@ | |||
_) acre eIk3 | |||
mass) acre @k3 | |||
_) ac (ri ak | |||
ac (ro ak | |||
@@ -446,9 +449,9 @@ | |||
@) age (ment I2dZ | |||
g) age (ment 'eIdZ | |||
m) ag (enta @dZ | |||
agh (_ @ | |||
agh (_ A:g | |||
agio (_ 'A:dZIoU | |||
t) agi (o eIdZj | |||
t) agi (o eIdZ | |||
_) ag (l@ a#g | |||
&) ag (on_ @g | |||
dr) agon ag@n | |||
@@ -519,6 +522,7 @@ | |||
_) alexan alIgz'aan | |||
_) alfa alf@ | |||
_) al (g al | |||
_) algo (r alg@ | |||
&) al (iBe @l | |||
&) al (iBati @l | |||
al (ia eIl | |||
@@ -532,7 +536,6 @@ | |||
&) ali (sC_ @lI | |||
&) al (isCic @l | |||
_) al (k al | |||
C) al (k O: | |||
_) all (@ a#l | |||
_) all (C@P3 O:l | |||
_) all (a al | |||
@@ -573,7 +576,6 @@ | |||
_) al (y al | |||
alz alt|s | |||
&) al (_ @L | |||
&) ally (_ @li | |||
?8 &) al (_ a#l | |||
@) ally (_S2 %i | |||
@@c) ally (_S4 l%i | |||
@@ -583,6 +585,7 @@ | |||
b) al (d+ O:l | |||
b) al (k O:l | |||
f) al (k 0l | |||
alkali ak@laI | |||
b) all (K O:l | |||
&b) all (er_ O:l | |||
_c) al (e al | |||
@@ -593,7 +596,7 @@ | |||
?3 h) al (f a | |||
s) al (f 0l | |||
@) algia (_ 'aldZ@ | |||
g) al (i_ 'A:l | |||
al (i_ 'A:l | |||
al (ity 'al | |||
p) al (et al | |||
qu) al (@ 0l | |||
@@ -605,7 +608,9 @@ | |||
qu) al (m A: | |||
equ) al @l | |||
ch) al (k O: | |||
t) al (k O: | |||
w) al (C 0l | |||
w) al (k O: | |||
all (_ O:l | |||
aller (_ O:l3 | |||
allers (_ O:l3z | |||
@@ -673,6 +678,7 @@ | |||
_n) ame eIm | |||
&) am (ent @m | |||
amer (ic a#mEr | |||
c) am (ero am | |||
c) am (el am | |||
am (i_ 'A:m | |||
ami (g a#mi: | |||
@@ -700,6 +706,7 @@ | |||
.group an | |||
@) ana (_ 'A:n@ | |||
_c) an (adi a#n | |||
_) an (aem a#n | |||
ph) an (age @n | |||
C) an (c aan | |||
c) an (c an | |||
@@ -740,6 +747,7 @@ | |||
hum) an (_ @n | |||
&) an (ty_ @n | |||
&) an (t_ @n | |||
&) an (t_$w_alt an | |||
?8 &) an (t_ a#n | |||
_f) an (at a#n | |||
pl) an (t_ an | |||
@@ -871,6 +879,7 @@ | |||
arr (_ A@ | |||
_) arr (@ a#r | |||
_) arr (ant ar | |||
_n) arr (at a#r | |||
_) arr (o ar | |||
_) arro (g ar@ | |||
ar (i_ 'A:r | |||
@@ -929,6 +938,7 @@ | |||
&) ar (dy_ 3 | |||
h) ar (dy_ A@ | |||
are e@ | |||
z) are (_ 'A@reI | |||
%C) ared (_ 3d | |||
%C) aring (_ 3rI2N | |||
area e@ri@ | |||
@@ -945,6 +955,7 @@ | |||
ar (iaC_ 'e@ | |||
ar (ia_ 'e@ | |||
@) arily (_ 'Er@l%I | |||
?3 @) arily (_ 'e@r@l%I | |||
ch) ar (it ar | |||
ph) ar (i ar | |||
m) ar (i @r | |||
@@ -1037,7 +1048,7 @@ | |||
cl) ass (iC as | |||
ass (ag as | |||
&v) ass (_ @s | |||
ass (et as | |||
_) ass (et as | |||
_) ass (h as | |||
ass (on as | |||
ass (u @S | |||
@@ -1222,6 +1233,7 @@ | |||
b b | |||
_) bh b | |||
_) b (L01Y b // allow _bl _br | |||
_) bj (A bj | |||
_) brz (e brz | |||
b (b | |||
@@ -1255,6 +1267,7 @@ | |||
_) be (f bI2 | |||
_) beg (AnK b%Ig | |||
_) be (gg bE | |||
_) belarus bEl@r'u:s | |||
_) be (lC bE | |||
_) be (lli bI2 | |||
_) be (sC bI2 | |||
@@ -1271,6 +1284,7 @@ | |||
beha (v bI2heI | |||
belly bElI2 | |||
be (mu bI2 | |||
_) be (na bE | |||
_) bene bEnI | |||
benevo b@nEv@ | |||
_) be (o beI | |||
@@ -1381,6 +1395,7 @@ | |||
cism (_ sIz@m | |||
c (ish k | |||
e) cua kwa | |||
_) cu (o kw | |||
_) cwm kUm | |||
czech tSEk | |||
@@ -1418,7 +1433,6 @@ | |||
ba) che tS@ | |||
tra) ch k | |||
cre) ch S | |||
e) ch (el S | |||
cli) ch S | |||
fi) ch S | |||
ni) ch S | |||
@@ -1479,6 +1493,7 @@ | |||
colle (gi k@li: | |||
co (llis k@ | |||
co (llid k@ | |||
collo (quiA k@loU | |||
co (llu k@ | |||
co (loss k@ | |||
_) co (m@ k@ | |||
@@ -1501,7 +1516,7 @@ | |||
co (mmerce k0 | |||
co (mmodor k0 | |||
common k0m@n | |||
commun k0mju:n | |||
commun k0#mju:n | |||
commun (a k@mju:n | |||
commun (ic k@mju:n | |||
co (mmuta k0 | |||
@@ -1544,6 +1559,7 @@ | |||
_) co (ngre k0 | |||
?3 _) congress k0ngr@s | |||
congru k0ngru: | |||
_) con (k k0#n | |||
_) co (ni k0 | |||
_) co (njug k0 | |||
_) co (njur kV | |||
@@ -1564,16 +1580,16 @@ | |||
_) co (nsul k0 | |||
_) co (nsult k%0# | |||
_) co (ntact k0 | |||
_) co (ntempl k0 | |||
_) co (ntempl k0# | |||
_) co (ntext k0 | |||
co (ntine k0 | |||
_) co (ntour k0 | |||
_) co (ntrA k0 | |||
_) co (ntrA k0# | |||
_) contra (C@P6 k,0ntr@ | |||
_) contrast k0ntraast | |||
_) contrast k0#ntraast | |||
contrac (t k%0#ntrak | |||
contrar k%0#ntre@ | |||
_) co (ntrib k0 | |||
_) co (ntrib k0# | |||
_) co (ntrov k,0 | |||
co (ntrol+ k@ | |||
conva (l k0nv@ | |||
@@ -1583,7 +1599,7 @@ | |||
_) co (nw k0 | |||
_) copy k0pI | |||
_) copoly k'oUp,0lI | |||
coro (ll k0r0 | |||
coro (ll k0#r0 | |||
co (rrect k@ | |||
correspo k,0rIsp'0 | |||
_) co (rri k0 | |||
@@ -1624,6 +1640,7 @@ | |||
_) du (p du: | |||
?!3 du (pl dju: | |||
dur (A djU@ | |||
?3 dur (A dU@ | |||
dur (_ djU@ | |||
ce) dure dZ3 | |||
_) dye daI | |||
@@ -1697,7 +1714,6 @@ | |||
de (rog dI2 | |||
de (rACatio dE | |||
_) des (@ dI2s | |||
des (ca dE | |||
des (ec dEs | |||
des (eg d%i:s | |||
dese (l d,i:sI2 | |||
@@ -1738,6 +1754,7 @@ | |||
_) dia daI|@ | |||
_) dia (gon daI'a | |||
_) dia (l daI@ | |||
_) diamond daI@m@nd | |||
_) dia (n daI'a | |||
dicho (t daIk'0 | |||
di (chro daI | |||
@@ -1848,6 +1865,7 @@ | |||
ch) eese i:z | |||
eeze (@ i:z | |||
d) e (fault i: | |||
_) e (ffac %I | |||
e (ffec %I | |||
e (ffic %I | |||
efier (_ I2faI3 | |||
@@ -1899,6 +1917,7 @@ | |||
discr) e (tion E | |||
eu ju: | |||
?3 n) eu u: | |||
?3 n) eu (r U@ | |||
r) eu (d OI | |||
eu (m_ 'i:@ | |||
s) eu (m_ 'i@ | |||
@@ -2122,8 +2141,8 @@ | |||
?8 &) el (s_ El | |||
ela (_ 'El@ | |||
ella (_ 'El@ | |||
&C) eller (_ @l@ | |||
&C) eler (_ @l@ | |||
&C) eller (_ @l3 | |||
&C) eler (_ @l3 | |||
@) elli (_ 'ElI | |||
&) elling @lI2N | |||
&) eling @lI2N | |||
@@ -2181,6 +2200,8 @@ | |||
sph) em @m | |||
sph) em (e 'i:m | |||
&) em (y_ @m | |||
yst) em @m | |||
yst) em (i Em | |||
.group en | |||
_) en (@ %En | |||
@@ -2426,7 +2447,7 @@ | |||
&) er (oCe_ =@r | |||
er (se 3: | |||
v) er (sal '3: | |||
@) er (sial '3: | |||
@) ersi (al '3:S | |||
@) er (sy 3: | |||
er (sib 3: | |||
er (sif 3: | |||
@@ -2446,6 +2467,7 @@ | |||
er (ve 3: | |||
s) er (van 3: | |||
ery (_ @r%i | |||
?3 @@AC) ery (_ e@ri | |||
ery (A 3j | |||
_v) ery ErI2 | |||
qu) ery i@rI | |||
@@ -2469,7 +2491,8 @@ | |||
&ph) es (_S1 z | |||
neri) es (_S2i z | |||
&s) es (_S1 I#z | |||
&us) es (_S2e I#z | |||
us) es (_S2e I#z | |||
lus) es (_S2 I#z | |||
&rus) es (_S2 I#z | |||
&tus) es (_S2 I#z | |||
&ss) es (_S2 I#z | |||
@@ -2541,7 +2564,7 @@ | |||
_m) et (ic @t | |||
etry (_S2 rI | |||
etries (_S4 rIz | |||
@) et (_ I2t | |||
&) et (_ I2t | |||
&Ar) et (_ @t | |||
rk) et It | |||
ll) et (_ It | |||
@@ -2647,6 +2670,9 @@ | |||
for (see f%O@ | |||
for (ward f'o@ // straightforward | |||
ft (en f | |||
&) ful (_S3 f@L | |||
&) fully (_S5 f@li | |||
&) fulness (_S7 f@Ln@s | |||
.group g | |||
g g | |||
@@ -2683,9 +2709,11 @@ | |||
gh (an g | |||
gm (_ m | |||
gn (_ n | |||
_poi) gn nj | |||
_) gnu g@nu: | |||
hun) g g | |||
g (ear g | |||
gei (st_ gaI | |||
%A) g (er g | |||
g (et g | |||
g (ette_ dZ | |||
@@ -2694,6 +2722,8 @@ | |||
er) g (et dZ | |||
for) ge (t gE | |||
bo) g (Ey g | |||
_) gia (@@ dZa# | |||
_) g (iant dZ | |||
&) gia (_ dZ@ | |||
&) gia (C_ dZ@ | |||
go) g (ic_ g | |||
@@ -2714,6 +2744,7 @@ | |||
@) guay (_ gwaI | |||
gue (_ g | |||
gu (e g | |||
_) gu (i g | |||
_) g (yn g | |||
o) g (y_ g | |||
g (ynous_ =dZ | |||
@@ -2919,6 +2950,7 @@ | |||
iza (tion aIzeI | |||
?3 iza (tion @zeI | |||
ize (_ aIz | |||
ial) ize (_S3 aIz | |||
ize (d_ aIz | |||
i (zen I2 | |||
iz (er_ aIz | |||
@@ -2936,7 +2968,8 @@ | |||
&) iary =j@r%I | |||
&l) iary =i@r%I | |||
_) ian i@n | |||
@) ia (_ =i|@ | |||
&) ia (_N =i|@ | |||
&) ia (_ =i@ | |||
@@) ia (_ =i@ | |||
@) ian (cy I|@n | |||
l) iais I|eIz | |||
@@ -3028,6 +3061,7 @@ | |||
&) ie (t_ i@ | |||
@) ie (th i@ | |||
iesta i:'Est@ | |||
iessa i:'Es@ | |||
ie (tt I2'E | |||
@) iety 'aI@t%I | |||
l) ieu u: | |||
@@ -3089,7 +3123,7 @@ | |||
l) im Im | |||
_pr) im (a aIm | |||
sh) im (a_ 'i:m | |||
im (age Im | |||
imag (e ImI2dZ | |||
l) ime aIm | |||
d) ime (ns aImE | |||
im (ent+ Im | |||
@@ -3118,7 +3152,8 @@ | |||
im (portu ,Im | |||
impo (ten Imp@ | |||
_) im (pre@P2 %Im | |||
im (pregna ,Im | |||
impreg Impr'Eg | |||
impreg (nat ImprEg | |||
im (presa ,Im | |||
im (provis Im | |||
im (pulse_ Im | |||
@@ -3248,6 +3283,7 @@ | |||
adm) ini InI | |||
m) iniatur InItS3 | |||
m) inera (l In@r@ | |||
in (al_$w_alt 'aIn | |||
&m) in (al_ =In | |||
f) in (a aIn | |||
@g) in (a_ aIn | |||
@@ -3357,8 +3393,7 @@ | |||
ir (able 'aI3 | |||
m) ir (ac Ir | |||
sp) iral aI3r@L | |||
@) ir (ation Ir | |||
ir (at %aIr | |||
@) ir (ation @r | |||
ir (ate =i@r | |||
consp) ira (t Ir@ | |||
ire aI3 | |||
@@ -3403,6 +3438,9 @@ | |||
prAm) is Is | |||
b) is (_ Is | |||
c) is (_ Is | |||
@@m) is (_ Is | |||
am) is (_S1 z | |||
v) is (_ Is | |||
@Cs) is (_ =Is | |||
&) is (abl aIz | |||
isa (tion aIzeI | |||
@@ -3412,6 +3450,7 @@ | |||
v) is (coun aI | |||
v) is (it Iz | |||
_d) is (e I2s | |||
ial) ise (_S3 aIz | |||
ise (_ aIz | |||
ise (d_ aIz | |||
is (er+_ aIz | |||
@@ -3538,7 +3577,8 @@ | |||
jokull (_S6 j3:ku:th | |||
jökull (_S6 j3:ku:th | |||
juan hwA:n | |||
_) juan hwA:n | |||
juan w'A:n | |||
.group k | |||
k k | |||
@@ -3692,6 +3732,7 @@ | |||
mEntary (_ m'Ent@r%I | |||
_) meta (@ m,Et@ | |||
_) metal (C mEt@L | |||
_) metall (ic m@tal | |||
metabo m@t'ab0 | |||
_) meta (llu m%Eta | |||
_) mobile moUbaIl | |||
@@ -3816,6 +3857,7 @@ | |||
.group o | |||
o 0 | |||
_) o 0 | |||
X) o 0# | |||
X) o ($w_alt3 %0# | |||
_) o'(P2 %oU // prefix | |||
@@ -3850,7 +3892,7 @@ | |||
oar o@ | |||
oar (_ o@ | |||
cr) o (at oU | |||
o (ba oU | |||
X) o (ba oU | |||
t) o (bacc @ | |||
o (bed oU | |||
_r) o (ber 0 | |||
@@ -3858,18 +3900,18 @@ | |||
o (bic_ 'oU | |||
n) o (bil oU | |||
_m) o (bil oU | |||
o (bje %0# | |||
o (bje %0 | |||
_) o (bl %0# | |||
n) o (bl oU | |||
o (bliga 0 | |||
o (bligato %0# | |||
o (blo 0 | |||
_r) o (bo oU | |||
_) o (bs %0# | |||
_) obs (er %0#bz | |||
_) o (bs %0 | |||
_) obs (er %0bz | |||
obso (l 0bs@ | |||
o (bstin 0 | |||
_) o (bt %0# | |||
_) o (bt %0 | |||
o (by_ oU | |||
f) o (cA oU | |||
_l) o (cA oU | |||
@@ -3878,7 +3920,7 @@ | |||
l) o (cat %oU | |||
_) o (ccasi @ | |||
_) o (cclu @ | |||
_) o (ct 0 | |||
X) o (ct 0 | |||
occur @k3: | |||
?5 occur @kVR | |||
occurr @k3: | |||
@@ -3897,7 +3939,6 @@ | |||
k) o (dA oU | |||
meth) o (d_ @ | |||
peri) o (d_ @ | |||
o (da_ oU | |||
d) o (dec %oU | |||
m) o (del 0 | |||
m) o (der 0 | |||
@@ -3952,6 +3993,7 @@ | |||
oi (c oUI2 | |||
oi (ce OI | |||
oi (ck OI | |||
oi (zA oUaI | |||
c) o (inci %oU | |||
o (ing oU | |||
d) o (ing u: | |||
@@ -4006,7 +4048,6 @@ | |||
p) o (tenti @ | |||
b) o (th oU | |||
betr) oth oUD | |||
?3 m) o (th O | |||
?3 cl) o (th O | |||
cl) othe oUD | |||
tr) othe oUD | |||
@@ -4106,6 +4147,7 @@ | |||
@) ome (tre '0mI | |||
@) ome (try '0m@ | |||
&) omer (_ @m3 | |||
c) omer (_ Vm3 | |||
gl) om (er 0m | |||
_p) om (e 0m | |||
_s) ome Vm | |||
@@ -4259,12 +4301,14 @@ | |||
nt) or (_ o@ | |||
vent) or (_ 3 | |||
y) or (k O@ | |||
&) or (ation @r | |||
or (arL02 3r | |||
&) or (ation 3r | |||
_) ora (to 0r@ | |||
@) or (ca_ 'O@ | |||
w) orce (st U | |||
&f) or (d_ 3 | |||
ore o@ | |||
&) or (ene_ 3 | |||
or (esis O@ | |||
oresc @r'Es | |||
ora (cl 0r@ | |||
@@ -4302,7 +4346,7 @@ | |||
?3 or (r O: | |||
bb) or (n 3 | |||
f) oreign 0r@n | |||
f) or (ever O@ | |||
f) or (ever 3 | |||
f) or (gAt 3 | |||
_f) org (Av @g | |||
fl) or (i 0r | |||
@@ -4312,7 +4356,7 @@ | |||
pl) or o@ | |||
m) or (al 0r | |||
w) or (K 3: | |||
?5 w) or VR | |||
?5 w) or (K VR | |||
w) or (m 3: | |||
?5 w) or (m VR | |||
w) or (se 3: | |||
@@ -4439,7 +4483,7 @@ | |||
c) ou (pl V | |||
&) our (_ 3 | |||
np) our (_ o@ | |||
&) oured @d | |||
&) oured 3d | |||
ev) our (ed aU@ | |||
our (n 3: | |||
?5 our (n VR | |||
@@ -4656,7 +4700,11 @@ | |||
per (cus p3 | |||
_) peregrin pEr@grIn | |||
per (fec p3 | |||
_) per (iC@@ p,Er | |||
_) perini pErIn'i: | |||
per (iph p3r | |||
_) per (isc pEr | |||
_) per (ish pEr | |||
perme (a p3:mI | |||
per (miss p3 | |||
per (mit p3 | |||
@@ -4667,7 +4715,6 @@ | |||
per (sis p3 | |||
persever p3:sIv'i@3 | |||
per (sp p3 | |||
perspi (ra p3:sp@ | |||
per (su p3 | |||
per (tai p3 | |||
per (tu p3 | |||
@@ -4685,6 +4732,7 @@ | |||
_) pre (C@ pr%I | |||
_) pre (C% prE | |||
_) prea (ch pri: | |||
_) pre (ad pr%i: | |||
_) pre (am pri: | |||
_) pre (cinc pri: | |||
pre (cio prE | |||
@@ -4692,7 +4740,7 @@ | |||
_) pre (coP3 pr,i: | |||
preda (to prEd@ | |||
prede (ces pri:dI | |||
_) pre (diP3 pr%i | |||
_) pre (diP3 pr%i: | |||
_) pre (dic pr%I | |||
_) pre (em pr%i: | |||
_) pre (fec pri: | |||
@@ -4918,10 +4966,11 @@ | |||
re (solu rE | |||
re (son rE | |||
re (stl rE | |||
re (stro rE | |||
res (ult rI2z | |||
re (tail ri: | |||
re (tic rE | |||
re (tina rE | |||
re (ti rE | |||
_) re (tir rI2 | |||
re (trib rE | |||
retro (P5 r,EtroU // prefix | |||
re (vel rE | |||
@@ -5019,7 +5068,7 @@ | |||
w) se z | |||
Co) s (Er z | |||
Co) s (En z | |||
r) s (d z | |||
e) s (d z | |||
_) se (clu sI2 | |||
secur sI2kjU@ | |||
self (_ 'sElf | |||
@@ -5055,13 +5104,13 @@ | |||
A) sion Z@n | |||
?8 C) sion SVn | |||
?8 A) sion ZVn | |||
a) sin (_ s@n | |||
ai) sin (_ z@n | |||
u) sin (_ z@n | |||
A) s (itiv z | |||
_) size (C@ saIz | |||
a) s (m z | |||
o) s (m z | |||
L07) s (mAn_ z | |||
_) socie (t s@saI@ | |||
_) soma (li s@mA: | |||
pri) s (o z | |||
@@ -5072,7 +5121,6 @@ | |||
?8 ssion (_ =SVn | |||
1_) st (_ | |||
_) st (_ s@nt | |||
_) state (@ steIt | |||
stein staIn | |||
ti) ssue Su: | |||
_) s (u s | |||
@@ -5175,28 +5223,8 @@ | |||
_) tera tEr@ | |||
te (rrest t2@ | |||
r) tga (g gI | |||
&) tia (_ S@ | |||
&s) tia (_ tS@ | |||
@) t (ia S | |||
pi) t (ia t | |||
is) t (ian+ t | |||
&) tian (_ =S@n | |||
_) tian tjan | |||
&) tial S@L | |||
&s) tial tj@L | |||
&) ti (ali SI | |||
i) tia (liL06 S@ | |||
&) tien S@n | |||
&) tience S@ns | |||
t (ime_ t2 | |||
&) tion S=@n | |||
&s) tion tS@n | |||
?8 &) tion S=Vn | |||
?8 &s) tion tSVn | |||
tion (al S=@-n | |||
&) tious S=@s | |||
AC) tive (_ =tIv | |||
s) t (l | |||
s) t (l ? | |||
to (morr t@ | |||
_) to (nn tV | |||
t (ooth t2 | |||
@@ -5210,7 +5238,7 @@ | |||
_) tri (g trI | |||
_) tri (ni trI | |||
_) tri (vi trI | |||
_) tri (xA trI | |||
_) tri (xA trI | |||
tsch tS | |||
tse (_ tsi | |||
_) tsk t'@sk | |||
@@ -5218,16 +5246,22 @@ | |||
_) two tu: | |||
ttu (r t@ | |||
@) tu (al tSu: | |||
@) tu (at tSu: | |||
_sta) tu tSu: | |||
?3 _sta) tu (to tS@ | |||
c) tu (al_ =tSu: | |||
r) tue (_ tSu: | |||
?3 tu (la_ tS@ | |||
@) tu (lat =tSU | |||
?3 tu (Ant tSu: | |||
?3 tu (Ancy tSu: | |||
tu (ous tSu: | |||
@) tur (A tS@r | |||
@) tur (al_ tS=@r | |||
@) tur (y tS@r | |||
@) tur (_ tS3 | |||
ture (_ tS3 | |||
&) tur (y tS@r | |||
&) tur (_ tS3 | |||
&) ture (_ tS3 | |||
tz ts | |||
tze (_ tsi | |||
@@ -5281,6 +5315,30 @@ | |||
_) them D%Em | |||
_) the (mA Ti: | |||
.group ti | |||
&) tia (_ S@ | |||
&s) tia (_ tS@ | |||
propi) ti (a tI | |||
ti (ac tI | |||
&) tian (_ =S@n | |||
&s) tian (_ tS@n | |||
_) tian tjan | |||
&) tial S@L | |||
&s) tial tj@L | |||
&) ti (ali SI | |||
i) tia (liL06 S@ | |||
&) tien S@n | |||
&) tience S@ns | |||
ti (me_ t2aI | |||
&) tion S=@n | |||
&s) tion tS@n | |||
?8 &) tion S=Vn | |||
?8 &s) tion tSVn | |||
tion (al S=@-n | |||
&) tious S=@s | |||
AC) tive (_ =tIv | |||
.group u | |||
u V | |||
man) u ju: | |||
@@ -5311,6 +5369,8 @@ | |||
val) u ju: | |||
u (a ju: | |||
l) u (a u: | |||
?3 L08) u (a u: | |||
contin) u ju: | |||
_g) ua wA: | |||
_l) u (a u: | |||
r) u (aC+ u: | |||
@@ -5338,7 +5398,7 @@ | |||
?3 n) uclear u:kli@3 | |||
ucul VkjUl | |||
@) u (da_ 'ju: | |||
?3 @) u (da_ 'u: | |||
?3 @L08) u (da_ 'u: | |||
b) u (ddh U | |||
u (esq ju: | |||
u (ga_ 'u: | |||
@@ -5354,7 +5414,7 @@ | |||
g) u (i w | |||
r) u (i u: | |||
s) u (i u: | |||
?3 t) u (i u: | |||
?3 L08) u (i u: | |||
u (ki_ 'u: | |||
_) u (krain %ju: | |||
ll) u (l ju: | |||
@@ -5388,6 +5448,7 @@ | |||
u (ly u: | |||
d) u (ly ju: | |||
z) u (l_ 'u: | |||
&) um (_ @m | |||
vol) u (m ju: | |||
u (ma_ 'u: | |||
h) u (man ju: | |||
@@ -5434,10 +5495,11 @@ | |||
.group ue | |||
ue ju: | |||
uee ju:i: | |||
?3 L08) ue u: | |||
l) ue u: | |||
r) ue u: | |||
_s) ue u: | |||
?3 t) ue u: | |||
?3 _L08) ue (l u:@ | |||
_C) ue (l ju:@ | |||
_CC) ue (l u:@ | |||
ue (n ju:@ | |||
@@ -5572,7 +5634,7 @@ | |||
@) ur (ation jUr | |||
ure (_ jU@ | |||
ur (ed_ jU@ | |||
g) ured (_ @d | |||
g) ured (_ 3d | |||
b) ur (e jU@r | |||
g) ure (_ 3 | |||
?3 g) ure (_ j3 | |||
@@ -5646,9 +5708,12 @@ | |||
_) x (Y z | |||
xio (n kS@ | |||
xious =kS@s | |||
xas (_ =ks@s | |||
xis (_ =ksIs | |||
xus (_ =ks@s | |||
xu (a =kSu: | |||
lu) x (ur gZ | |||
?3 lu) xu (r gZU@ | |||
xure (_ kS%U@ | |||
.group y | |||
@@ -5776,6 +5841,7 @@ | |||
_) z (wY z | |||
@) zales (_ z'A:l@s | |||
zei zaI | |||
zes (_ zI2z | |||
zh Z | |||
zu (_ =zu: | |||
@@ -5834,7 +5900,8 @@ | |||
?8 Ening (_ EnI2N | |||
Ene (_ i:n | |||
Ened (_ @nd | |||
E (nt_ @ | |||
En (g @n | |||
E (nt @ | |||
E (ning E | |||
E (nti 'E | |||
E (ntu 'E | |||
@@ -5846,6 +5913,7 @@ | |||
Eri (A 'i@rI2 | |||
Er (ie_ @r | |||
Er (ic_ Er | |||
Er (ous_ @r | |||
Er (_ 3 | |||
ad) Er (_S1 3 | |||
ad) Ers (_S2 3z | |||
@@ -5953,8 +6021,11 @@ | |||
// non-ascii characters with specified pronunciations | |||
// List the accented characters in en_list with the $accent attribute | |||
á (X 'A: | |||
à a | |||
é eI | |||
é (X 'eI | |||
é (CA_ 'eI | |||
_) é %I | |||
ée i: | |||
ê E: | |||
@@ -5962,6 +6033,7 @@ | |||
ë E | |||
ï i: | |||
ö 3: | |||
ör 3: | |||
ü u: | |||
ç s | |||
ß s |
@@ -127,6 +127,8 @@ | |||
_) اصغر (آL09L09P4@ asq1aR | |||
_) ابو (L04L09L09P3@ abu | |||
_) ابو (آL09L09P3@ abu | |||
_) ابوال (L04L09L09P5@ abol' | |||
_) ابوال (آL09L09P5@ abol' | |||
// Suffixes ا | |||
L09L04) الله (_Sm4 ollAh | |||
@@ -175,9 +177,6 @@ | |||
L09L04) انداز (_Sm5 andAz | |||
L09L04) انگیز (_Sm5 angiz | |||
L09L04) اباد (_Sm4 AbAd | |||
L09L09) امیر (_Sm4 amiR | |||
L09L09) اکبر (_Sm4 akbaR | |||
L09L09) اصغر (_Sm4 asq1aR | |||
// Special passive pronouns eg. خوابانده | |||
l09l09l03) انده (_Sm4 Ande: | |||
l09l09l03) اندۀ (_Sm4 Andeje | |||
@@ -1150,8 +1149,8 @@ | |||
_) چار (آL09L09P3@ 'tSAR | |||
_) چهار (L04L09L09P4@ 'tSAhAR | |||
_) چهار (آL09L09P4@ 'tSAhAR | |||
_) چند (L04L09L09P3@ 'tSAand | |||
_) چند (آL09L09P3@ 'tSAand | |||
_) چند (L04L09L09P3@ 'tSand | |||
_) چند (آL09L09P3@ 'tSand | |||
// Suffixes چ | |||
L09L09L09) چی (_Sm2 tSi | |||
@@ -1473,6 +1472,12 @@ | |||
_) خویش (آL09L09P4@ xiS | |||
_) خان (L04L09L09P3@ xAn | |||
_) خان (آL09L09P3@ xAn | |||
_) خواهش (L04L09L09P5@ xAheS | |||
_) خواهش (آL09L09P5@ xAheS | |||
_) خواهد (L04L09L09P5@ xAhad | |||
_) خواهد (آL09L09P5@ xAhad | |||
_) خواهید (L04L09L09P6@ xAhid | |||
_) خواهید (آL09L09P6@ xAhid | |||
// suffixes خ | |||
L09L09) خر (_Sm2 xaR | |||
@@ -1488,6 +1493,7 @@ | |||
L09L09) خوش (_Sm3 xoS | |||
L09L09) خیز (_Sm3 xiz | |||
L09L09) خواست (_Sm5 xAst | |||
L09L09) خواب (_Sm4 xAb | |||
// arabic form of words (Babs) خ | |||
//فواعل eg. جوامع | |||
@@ -1663,6 +1669,7 @@ | |||
L09L09) دست (_Sm3 dast | |||
L09L09) درد (_Sm3 daRd | |||
L09L09) دوش (_Sm3 duS | |||
L09L09) دهی (_Sm3 dehi | |||
// arabic form of words (Babs) د | |||
//فواعل eg. جوامع | |||
@@ -2154,6 +2161,7 @@ | |||
L09L09) زده (_+Sm3 zade: | |||
L09L09) زدۀ (_+Sm3 zadeje | |||
L09L09) زدن (_Sm3 zadan | |||
L09L09) زدا (_Sm3 zodA | |||
// arabic form of words (Babs) ز | |||
//فواعل eg. جوامع | |||
@@ -2816,8 +2824,8 @@ | |||
L09L09L09L09) ص (L03L09L09L09_ sa | |||
// Prefixes ص | |||
_) صاحب (L04L09L09P4@ saheb | |||
_) صاحب (آL09L09P4@ saheb | |||
_) صاحب (L04L09L09P4@ sAheb | |||
_) صاحب (آL09L09P4@ sAheb | |||
_) صدر (L04L09L09P5@ sadr | |||
_) صدر (آL09L09P5@ sadr | |||
@@ -3132,6 +3140,7 @@ | |||
// Suffixes ط | |||
L09L09) طلب (_Sm3 talab | |||
L09L09) طلبان (_Sm5 talabAn | |||
// arabic form of words (Babs) ط | |||
//فواعل eg. جوامع | |||
@@ -3433,7 +3442,8 @@ | |||
// Prefixes ع | |||
_) عبد (L04L09L09P3@ 'a:bd | |||
_) عبد (آL09L09P3@ 'a:bd | |||
_) عبدال (L04L09L09P5@ abdol' | |||
_) عبدال (آL09L09P5@ abdol' | |||
_) علی (L04L09L09P3@ a:li | |||
_) علی (آL09L09P3@ a:li | |||
@@ -4081,6 +4091,7 @@ | |||
L09L09) کنان (_Sm4 konAn | |||
L09L09) کننده (_Sm5 konande: | |||
L09L09) کنندۀ (_Sm5 konandeje | |||
L09L09) کنندگان (_Sm7 konandegAn | |||
L09L09) کوچک (_Sm4 kutSak | |||
// arabic form of words (Babs) ک | |||
@@ -4285,6 +4296,7 @@ | |||
L09L09) گرفت (_Sm4 geReft | |||
L09L09) گشا (_Sm3 goSA | |||
L09L09) گریز (_Sm4 goRiz | |||
L09L09) گسار (_Sm4 gosAR | |||
// arabic form of words (Babs) گ | |||
//فواعل eg. جوامع | |||
@@ -4444,8 +4456,8 @@ | |||
// Prefixes ل | |||
// Suffixes ل | |||
L09L09) لوژ (_Sm3 lotZ | |||
L09L09) لوژیک (_Sm5 lotZik | |||
L09L09) لوژ (_Sm3 loZ | |||
L09L09) لوژیک (_Sm5 loZik | |||
L09L09) لوگ (_Sm3 log | |||
// arabic form of words (Babs) ل | |||
@@ -4863,6 +4875,8 @@ | |||
L09L09L03) ند (_NSm2 and | |||
L09L09) نوشت (_Sm4 neveSt | |||
L09L09) نشین (_Sm4 neSin | |||
L09L09) نکردن (_Sm5 nakaRdan | |||
L09L09L09) نشدن (_Sm4 naSodan | |||
// arabic form of words (Babs) ن | |||
//فواعل eg. جوامع | |||
@@ -5189,9 +5203,8 @@ | |||
_) هم (آL09P2@ ham | |||
// suffixes ه | |||
L09L03) ه (_++NSm1 e: | |||
L09L01و) ه (_++NSm1 e: | |||
L09) هٔ (_Sm2 eje | |||
L09L03) ه (_++Sm1 e: | |||
L09L01و) ه (_++Sm1 e: | |||
L09L09) ها (_NSm2 hA | |||
// Plural pronoun ها | |||
L09L09) های (_NSm3 h'Aje | |||
@@ -5286,7 +5299,7 @@ | |||
// Suffixes یی | |||
L09L01) یی (_Sm2 i: | |||
L09L03) یی (_Sm2 ii | |||
L09L03) یی (_Sm1 i | |||
L09L01) ییم (_NSm3 i:m | |||
L09L03) ییم (_NSm3 iim | |||
L09L09L01) یید (_NSm3 i:d | |||
@@ -5322,7 +5335,7 @@ | |||
L09و) ی (L01 j | |||
L09ا) ی (L03 j | |||
L09ا) ی (L01 j | |||
L03) ی (وL03 j | |||
L03) ی (وL03 ij | |||
//otherwise | |||
L02) ی (_ j | |||
_ع) ی (L03_ j | |||
@@ -5361,7 +5374,6 @@ | |||
L09L01) ی (_Sm1 j | |||
L09L09آ) ی (_Sm1 je | |||
L09L09ا) ی (_NSm1 je | |||
L09L09ی) ی (_Sm1 je | |||
L09L01و) ی (_Sm1 i | |||
L09L03و) ی (_Sm1 je | |||
L09L01) یند (_Sm3 jand | |||
@@ -5496,6 +5508,11 @@ | |||
.group ء | |||
ء ? | |||
// suffixes ء | |||
L09L09L04) ء (_Sm1 ? | |||
L09L09ا) ء (_Sm1 | |||
L09L09آ) ء (_Sm1 | |||
//this character "ٔ" is defrent of "ء" and "ۀ" for example "دانشنامهٔ " | |||
@@ -5504,7 +5521,7 @@ | |||
ٔ | |||
// suffixes ٔ | |||
L09L09) ٔ (_Sm1 | |||
L09L03) ٔ (_NSm1 je | |||
.group ّ |
@@ -115,6 +115,8 @@ _ე e | |||
ჸ elifi | |||
უ u | |||
v _^_EN // not 'roman' | |||
x _^_EN | |||
% prots#enti $max3 | |||
+ pliusi $max3 |
@@ -314,12 +314,12 @@ umas $u $nounf | |||
// pronouns | |||
eu $u+ $verbf | |||
tu $u+ | |||
você vos'e $u+ | |||
você vose $u2+ | |||
ele 'ely $u+ | |||
ela $u+ | |||
nós $u+ | |||
vós $u+ | |||
vocês $u+ | |||
vocês $u2+ | |||
eles $u+ | |||
elas $u+ | |||
@@ -493,10 +493,10 @@ era E*& $u1 // .. imperfect | |||
eram E*&U~ $u1 | |||
fui $u // .. preterite | |||
foste $u | |||
foste fostSy $u1 // & fostes | |||
foi $u | |||
fomos $u | |||
fostes $u | |||
fora $u // .. pluperfect | |||
fômamos $u | |||
@@ -646,13 +646,14 @@ governo gov'ernU $noun | |||
abacaxi abakaSy | |||
abordo $alt | |||
aborto $alt $verb | |||
aborto $alt $verb | |||
acerto $alt2 $noun | |||
acertos $alt2 | |||
acervo $alt2 | |||
adepto $alt | |||
adereço $alt2 | |||
adore $alt | |||
adorno $alt $verb | |||
albatrozes $alt | |||
alcateia $alt | |||
alferes $alt | |||
@@ -660,21 +661,26 @@ algozes $alt | |||
alicerce $alt | |||
amanheça $alt2 | |||
amanheço $alt2 | |||
amanhecesse $alt2 | |||
amarelo $alt | |||
ameba $alt | |||
amores $alt2 | |||
anoitecesse $alt2 | |||
anoiteça $alt2 | |||
anoiteço $alt2 | |||
apego $alt2 | |||
apego $alt2 $noun | |||
apelo $alt $verb | |||
aposto $alt $verb | |||
apreço $alt2 | |||
aperto $alt2 $noun | |||
apoio $alt $verb | |||
apoio $alt $verb | |||
aprendeste $alt2 | |||
aprovo $alt | |||
arredores $alt | |||
arremesso $alt2 $noun | |||
arroz $alt2 | |||
assembleia $alt | |||
aterro $alt2 $noun | |||
atmosfera $alt | |||
atrozes $alt | |||
austera $alt | |||
@@ -690,10 +696,14 @@ bezerro $alt2 | |||
bilhete $alt2 | |||
boca $alt2 | |||
bochecha $alt2 | |||
bojo $alt2 | |||
boleia $alt | |||
bolero $alt | |||
bolo $alt2 | |||
bolo $alt $verb | |||
borboleta $alt2 | |||
bordo $alt | |||
boto $alt2 $noun | |||
bromelha $alt | |||
cabeça $alt2 | |||
cabresto $alt2 | |||
@@ -703,35 +713,43 @@ caderneta $alt2 | |||
camiseta $alt2 | |||
cantora $alt2 | |||
caractere $alt | |||
caramelo $alt | |||
careta $alt2 | |||
carreta $alt2 | |||
casebre $alt | |||
castelo $alt | |||
cateto $alt2 | |||
catorze $alt2 | |||
cebola $alt2 | |||
cefaleia $alt | |||
cerca $alt $verb | |||
cerco $alt $verb | |||
cesta $alt | |||
cesta $alt2 | |||
cesto $alt2 | |||
chamego $alt2 | |||
chefe $alt | |||
chinelo $alt | |||
choro $alt2 $noun | |||
chupeta $alt2 | |||
clamores $alt2 | |||
coco $alt2 | |||
cofre $alt | |||
coice $alt2 | |||
colabore $alt | |||
colheste $alt2 | |||
colmeia $alt | |||
colore $alt | |||
começo $alt2 $noun | |||
comodo $alt2 | |||
comera $alt2 | |||
comeres $alt2 | |||
comeste $alt2 | |||
concerto $alt2 $noun | |||
concordo $alt | |||
conforto $alt $verb | |||
conheceste $alt2 | |||
conheço $alt2 | |||
consolo $alt2 $noun | |||
contivermos $alt | |||
copa $alt | |||
copo $alt | |||
@@ -761,7 +779,7 @@ descordo $alt | |||
descova $alt2 | |||
desespero $alt2 $noun | |||
desfecho $alt2 | |||
desprezo $alt $verb | |||
desprezo $alt $verb | |||
deva $alt2 | |||
devo $alt2 | |||
deveras $alt | |||
@@ -771,14 +789,20 @@ discordo $alt | |||
dissermos $alt | |||
dobro $alt2 $noun | |||
doce $alt2 | |||
doutora $alt2 | |||
droga $alt | |||
duelo $alt | |||
dueto $alt2 | |||
elixir eliSir | |||
elo $alt | |||
emprego $alt2 $noun | |||
encosto $alt $verb | |||
endereço $alt2 | |||
endereço $alt $verb | |||
enforco $alt | |||
engordo $alt | |||
enumerem $alt | |||
enredo $alt $verb | |||
enredo $alt $verb | |||
enterro $alt2 $noun | |||
envelope $alt | |||
envolto $alt2 | |||
@@ -787,10 +811,12 @@ epopeia $alt | |||
eritreia $alt | |||
erro $alt2 $noun | |||
erros $alt2 | |||
esboço $alt $verb | |||
escopeta $alt2 | |||
escroto $alt2 | |||
esforço $alt $verb | |||
esforço $alt $verb | |||
esforços $alt | |||
esgoto $alt2 $noun | |||
esperma $alt | |||
espeto $alt2 $noun | |||
espiroqueta $alt2 | |||
@@ -802,13 +828,18 @@ estiverdes $alt | |||
estiveres $alt | |||
estivermos $alt | |||
estrela $alt2 | |||
estremeceste $alt2 | |||
estrofe $alt | |||
estorno $alt $verb | |||
estorvo $alt $verb | |||
etiqueta $alt2 | |||
europa $alt | |||
exagero $alt $verb | |||
expeça $alt2 | |||
expeço $alt2 | |||
explore $alt | |||
faceta $alt2 | |||
farelo $alt | |||
farofa $alt | |||
febre $alt | |||
feitora $alt2 | |||
@@ -829,7 +860,6 @@ fores $alt2 | |||
forro $alt $verb | |||
fosse $alt2 | |||
fossem $alt2 | |||
foste $alt2 | |||
frevo $alt2 | |||
galera $alt | |||
gameta $alt2 | |||
@@ -842,6 +872,7 @@ gonorreia $alt | |||
gorda $alt2 | |||
gota $alt2 | |||
gozo $alt $verb | |||
graveto $alt2 | |||
grego $alt2 | |||
grelha $alt | |||
grega $alt2 | |||
@@ -851,6 +882,7 @@ grozo $alt $verb | |||
hoje $alt2 | |||
houvermos $alt | |||
ideia $alt | |||
insonoro $alt | |||
joga $alt | |||
jogam $alt | |||
jogos $alt | |||
@@ -867,6 +899,7 @@ maleta $alt2 | |||
mantiverdes $alt | |||
mantiveres $alt | |||
mantivermos $alt | |||
marmelo $alt | |||
marreta $alt2 | |||
martelo $alt | |||
merda $alt | |||
@@ -887,6 +920,7 @@ morcego $alt2 | |||
morda $alt2 | |||
moreia $alt | |||
mortos $alt | |||
motora $alt2 | |||
?2 mulher mulj'Er | |||
?4 mulher mul^'Er | |||
mui mwi | |||
@@ -895,6 +929,7 @@ muita mw'iNt& | |||
mulheres $alt | |||
mureta $alt2 | |||
mutreta $alt2 | |||
namoro $alt2 $noun | |||
naquele $alt2 | |||
negra $alt2 | |||
negro $alt2 | |||
@@ -902,23 +937,28 @@ novos $alt | |||
obstetra $alt | |||
obsoleta $alt2 | |||
obsoleto $alt2 | |||
pbvivera $alt | |||
obtivermos $alt | |||
odisseia $alt | |||
onu $1 | |||
opereta $alt2 | |||
ordens $alt | |||
osso $alt2 | |||
ostra $alt2 | |||
ovos $alt | |||
pachorra $alt2 | |||
padeceste $alt2 | |||
paexa paeSa | |||
pangeia $alt | |||
palacete $alt2 | |||
palheta $alt2 | |||
pangeia $alt | |||
pantera $alt | |||
paralelo $alt | |||
parede $alt2 | |||
pastora $alt2 | |||
pedra $alt | |||
pelego $alt2 | |||
pelo $alt $verb | |||
perde $alt | |||
perdem $alt | |||
perede $alt2 | |||
@@ -929,9 +969,11 @@ pesquem $alt | |||
peso $alt | |||
peso $alt2 $noun | |||
piloto $alt2 | |||
pintora $alt2 | |||
pirueta $alt2 | |||
plateia $alt | |||
plebeia $alt | |||
polca $alt | |||
porcos $alt | |||
porrete $alt2 | |||
porra $alt2 | |||
@@ -948,31 +990,42 @@ provo $alt | |||
puder $alt | |||
punheta $alt | |||
puserdes $alt | |||
quarteto $alt2 | |||
quinteto $alt2 | |||
quisermos $alt | |||
recomeço $alt2 $noun | |||
recordo $alt | |||
recorto $alt | |||
rede $alt2 | |||
redor $alt | |||
reembolso $alt $verb | |||
reforços $alt | |||
refresco $alt $verb | |||
reforço $alt $verb | |||
refresco $alt $verb | |||
reitora $alt2 | |||
relevo $alt2 $noun | |||
remorso $alt | |||
reprovo $alt | |||
resolve $alt | |||
resolvem $alt | |||
rixa x'iS& | |||
rocha $alt | |||
rock $alt | |||
rogas $alt | |||
rolo $alt2 $noun | |||
rumores $alt2 | |||
saleta $alt2 | |||
sarjeta $alt | |||
severa $alt | |||
severo $alt | |||
seborreia $alt | |||
seco $alt2 $noun | |||
selo $alt $verb | |||
secos $alt2 | |||
selo $alt $verb | |||
selvagem seUv'aZeIN | |||
sexteto $alt2 | |||
?1 senhora $alt2 | |||
sesta $alt2 | |||
senhores $alt2 | |||
sincera $alt | |||
sincero $alt | |||
sinopse $alt | |||
@@ -987,26 +1040,37 @@ sogra $alt | |||
sopre $alt | |||
soprem $alt | |||
sopro $alt $verb | |||
soro $alt2 | |||
sorvete $alt2 | |||
sossego $alt2 $noun | |||
souberdes $alt | |||
soubermos $alt | |||
suborno $alt $verb | |||
sufoco $alt2 $noun | |||
sufocos $alt2 | |||
sugere $alt | |||
sugerem $alt | |||
suporto $alt | |||
suor swOr | |||
tapete $alt2 | |||
tempero $alt $verb | |||
tempero $alt2 $noun | |||
teta $alt2 | |||
tetra $alt | |||
tiver $alt | |||
tivera $alt | |||
tiveres $alt | |||
tivermos $alt | |||
tocha $alt | |||
toga $alt | |||
tola $alt2 | |||
tolo $alt2 | |||
topo $alt $verb | |||
torno $alt $verb | |||
torres $alt2 | |||
tortos $alt | |||
traqueia $alt | |||
travesso $alt2 | |||
tremores $alt2 | |||
trevo $alt2 | |||
troco $alt2 $noun | |||
tropa $alt |
@@ -21,6 +21,7 @@ | |||
.L04 a am e em o ue uem | |||
.L05 r ra ram re rem rdes | |||
.L06 ra ram ste re rem | |||
.L07 sse ssem ste | |||
.group a | |||
@@ -216,6 +217,8 @@ | |||
@s) e (rAm_ E | |||
sp) e (rA_ E | |||
sp) e (rAm_ E | |||
f) e (re_ E | |||
f) e (rem_ E | |||
e (rgA_ E | |||
e (rgAm_ E | |||
@@ -342,82 +345,110 @@ | |||
sf) e (ra_ E // esfera, biosfera | |||
//sort | |||
qu) e (brL04_ E | |||
_hosp) e (dL03_ E | |||
_estr) ei (L03_ EI | |||
_inv) e (jL04_ E | |||
_dec) e (pL04_ E | |||
_g) e (rL04_ E | |||
_op) e (rL04_ E | |||
_qu) e (rL04_ E | |||
_alt) e (rL04_ E | |||
_inv) e (rtL03_ e | |||
_f) e (rvL03_ e | |||
_p) e (scL03_ E | |||
_m) e (sclL04_ E | |||
_m) e (tL03_ e | |||
_com) e (tL03_ e | |||
_rem) e (tL03_ e | |||
_derr) e (tL03_ e | |||
_prom) e (tL03_ e | |||
_subm) e (tL03_ e | |||
_fiz) e (L05_ E | |||
_exag) e (L05_ E | |||
_houv) e (L05_ E | |||
_perd) e (L05_ e | |||
_soub) e (L05_ E | |||
_rend) e (L06_ e | |||
_vend) e (L06_ e | |||
_atend) e (L06_ e | |||
_compreend) e (L06_ e | |||
_entend) e (L06_ e | |||
_estend) e (L06_ e | |||
respond) e (L06_ e // cor- | |||
com) e (L07_ e | |||
_bat) e (L07_ e | |||
_beb) e (L07_ e | |||
_tem) e (L07_ e | |||
_viv) e (L07_ e | |||
colh) e (L07_ e // & es- | |||
_corr) e (L07_ e | |||
_eleg) e (L07_ e | |||
_morr) e (L07_ e | |||
_perd) e (L07_ e | |||
_sofr) e (L07_ e | |||
_torc) e (L07_ e | |||
_venc) e (L07_ e | |||
_adoec) e (L07_ e | |||
_aperd) e (L07_ e | |||
_merec) e (L07_ e | |||
conhec) e (L07_ e // & re- | |||
entend) e (L07_ e | |||
preend) e (L07_ e // sur- com- | |||
respond) e (L07_ e // cor- | |||
_convenc) e (L07_ e | |||
_entristec) e (L07_ e | |||
_envaidec) e (L07_ e | |||
_escond) e (L07_ e | |||
_obedec) e (L07_ e | |||
interromp) e (L07_ e | |||
intromet) e (L07_ e | |||
qu) e (brL04_ E | |||
_hosp) e (dL03_ E | |||
_estr) ei (L03_ EI | |||
_inv) e (jL04_ E | |||
_dec) e (pL04_ E | |||
_p) e (quL02_ E | |||
_s) e (quL02_ E | |||
l) e (que_ E | |||
_imp) e (rL03_ E | |||
_reit) e (rL03_ E | |||
_g) e (rL04_ E | |||
_op) e (rL04_ E | |||
_qu) e (rL04_ E | |||
_alt) e (rL04_ E | |||
_sup) e (rL04_ E | |||
_tol) e (rL04_ E | |||
_coop) e (rL04_ E | |||
_temp) e (rL04_ E | |||
_) e (rguL02_ E | |||
_alb) e (rguL02_ E | |||
_enx) e (rguL02_ E | |||
_inv) e (rtL03_ e | |||
_f) e (rvL03_ e | |||
_p) e (scL03_ E | |||
_m) e (sclL04 E | |||
_l) e (ssL02_ e | |||
_esp) e (ssL03_ e | |||
_m) e (tL03_ e | |||
_com) e (tL03_ e | |||
_rem) e (tL03_ e | |||
_derr) e (tL03_ e | |||
_prom) e (tL03_ e | |||
_subm) e (tL03_ e | |||
_comprom) e (tL03_ e | |||
_sol) e (trL03_ E | |||
_atr) e (vL03_ e | |||
_escr) e (vL03_ e | |||
_descr) e (vL03_ e | |||
_embel) e (zL04_ E | |||
_pr) e (zL04_ E | |||
_acont) e (çL01_ e | |||
_ado) e (çL03_ e | |||
_aqu) e (çL03_ e | |||
_car) e (çL03_ e | |||
_mer) e (çL03_ e | |||
_pad) e (çL03_ e | |||
_per) e (çL03_ e | |||
_esqu) e (çL03_ e | |||
_obed) e (çL03_ e | |||
_ofer) e (çL03_ e | |||
_aborr) e (çL03_ e | |||
_sol) e (trL03_ E | |||
_pen) e (trL04_ E | |||
scr) e (vL03_ e // e- in- pre- ree- | |||
_atr) e (vL03_ e | |||
_descr) e (vL03_ e | |||
_pr) e (zL04_ E | |||
_embel) e (zL04_ E | |||
par) e (çL01_ e // pareça, apareça | |||
_acont) e (çL01_ e | |||
_arref) e (çL01_ e | |||
_ado) e (çL03_ e | |||
_aqu) e (çL03_ e | |||
_car) e (çL03_ e | |||
_mer) e (çL03_ e | |||
_pad) e (çL03_ e | |||
_per) e (çL03_ e | |||
_esqu) e (çL03_ e | |||
_obed) e (çL03_ e | |||
_ofer) e (çL03_ e | |||
_aborr) e (çL03_ e | |||
_compar) e (çL03_ e | |||
_desapar) e (çL03_ e | |||
_enfraqu) e (çL03_ e | |||
_enriqu) e (çL03_ e | |||
_envaid) e (çL03_ e | |||
_esclar) e (çL03_ e | |||
_esclar) e (çL03_ e | |||
_reapar) e (çL03_ e | |||
_reconh) e (çL03_ e | |||
_coop) e (rL04_ E | |||
_sup) e (rL04_ E | |||
_imp) e (rL03_ E | |||
_temp) e (rL04_ E | |||
_esp) e (ssL03_ e | |||
_l) e (ssL02_ e | |||
_perd) e (L05_ e | |||
_rend) e (L06_ e | |||
_atend) e (L06_ e | |||
_pen) e (trL04_ E | |||
_Xref) e (rL02_ E | |||
_desf) e (rL02_ E | |||
_conf) e (rL02_ E | |||
_reit) e (rL03_ E | |||
par) e (çL01_ e // pareça, apareça | |||
_arref) e (çL01_ e | |||
_beb) e (ssL02_ e | |||
com) e (ssL02_ e | |||
//endsort | |||
_exag) e (L05_ E | |||
_fiz) e (L05_ E | |||
_houv) e (L05_ E | |||
_soub) e (L05_ E | |||
_compreend) e (L06_ e | |||
_correspond) e (L06_ e | |||
_entend) e (L06_ e | |||
_estend) e (L06_ e | |||
_respond)e (L06_ e | |||
_vend) e (L06_ e | |||
.group é | |||
é ''E | |||
@@ -706,22 +737,25 @@ _reconh) e (çL03_ e | |||
//sort | |||
_engl) o (bL01_ O | |||
_esn) o (bL04_ O | |||
_deb) o (chL04_ O | |||
_desabr) o (chL04_ O | |||
_r) o (gL04_ O | |||
_adv) o (gL04_ O | |||
_ref) o (gL04_ O | |||
_ap) oi (L01_ OI | |||
_esc) o (lhL02_ O | |||
_m) o (lhL04_ O | |||
_abs) o (lvL02_ O | |||
_env) o (lvL02_ O | |||
c) o (rrL01_ o // escorra, incorra, corra, recorra | |||
_m) o (rrL01_ o | |||
p) ostos (_ Ost=Us# // dispostos etc. | |||
_esn) o (bL04_ O | |||
_esc) o (lhL02_ O | |||
_rev) o (lvL02_ O | |||
_desenv) o (lvL02_ O | |||
_ent) o (pL02_ O | |||
c) o (rrL01_ o // escorra, incorra, corra, recorra | |||
_m) o (rrL01_ o | |||
_r) o (snL01_ O | |||
_c) o (spL02_ O | |||
p) ostos (_ Ost=Us# // dispostos etc. | |||
//endsort | |||
.group ô | |||
@@ -859,6 +893,7 @@ _desenv) o (lvL02_ O | |||
r) u (_A u | |||
u (A_ 'u | |||
u (am_ 'u | |||
u (em_ 'u | |||
ui uI | |||
ui (_ 'uI | |||
@@ -943,6 +978,7 @@ _desenv) o (lvL02_ O | |||
mo) x (a S | |||
_o) x (A S | |||
_o) x (i ks | |||
_o) x (í ks | |||
pi) x (A S | |||
_pro) x (A S | |||
_pra) x (A S |
@@ -1,9 +1,9 @@ | |||
// This ur_list file is prepared by Him Prasad Gautam (Kathmandu, Nepal) | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme exceptions for Urdu | |||
// Letter Names, Numbers and exceptional pronounciation of Urdu | |||
// Letter names | |||
// The Letter names | |||
ا alIf | |||
ب be: | |||
پ pe: | |||
@@ -51,14 +51,14 @@ | |||
ُ pe:S | |||
// numbers | |||
// The numbers | |||
_0 s'IfaR | |||
_1 'e:k | |||
_2 'do: | |||
_3 t'i:n | |||
_4 c'a:R | |||
_5 p'a:Nc | |||
_6 ch'aI | |||
_6 ch'eh | |||
_7 s'a:t | |||
_8 'a:th | |||
_9 n'aU | |||
@@ -83,9 +83,9 @@ _27 sat:a:'i:s | |||
_28 stha:'i:s | |||
_29 Unt'i:s | |||
_30 t'i:s | |||
_31 ikt'i:s | |||
_31 ikVt'i:s | |||
_32 bat:'i:s | |||
_33 taINt'i:s | |||
_33 t'aINt'i:s | |||
_34 caUNt'i:s | |||
_35 paINt'i:s | |||
_36 chat:'i:s | |||
@@ -93,7 +93,7 @@ _37 saINt'i:s | |||
_38 aRt'i:s | |||
_39 Unta:l'i:s | |||
_40 ca:l'i:s | |||
_41 Ikta:l'i:s | |||
_41 IkVta:l'i:s | |||
_42 baja:l'i:s | |||
_43 te:Nta:l'i:s | |||
_44 cava:l'i:s | |||
@@ -158,6 +158,10 @@ _0M1 Haz'a:R | |||
_0M2 l'a:kh | |||
_0M3 kaR'o:R | |||
_0M4 'aRab | |||
_0M5 'khaRab | |||
_dpt _ISaRI'Ia_ | |||
jonathan dZ'Onathan | |||
// Exception of phonemes | |||
پاکستان p'a:k'i:st'a:n |
@@ -1,7 +1,8 @@ | |||
// This ur_rules file is written by Him Prasad Gautam (Kathmandu, Nepal). | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Urdu | |||
// phoneme rules for Urdu | |||
// Letter group - l01: Vowels | |||
.replace | |||
٠ 0 | |||
@@ -17,9 +18,10 @@ | |||
// vowel signs, alif is silent at start of word if these follow | |||
// vowel signs, alif acts as consonants at start of word if these follow | |||
.L01 َ ِ ُ و ی ع ا | |||
// VOWELS | |||
.group َ | |||
@@ -40,22 +42,25 @@ | |||
ُع O | |||
.group ھ | |||
ھ H | |||
ھ HV | |||
ھ (_ H: | |||
ھ (l01 H | |||
.group ا | |||
ا a: | |||
_) ا (L01 // silent before a vowel | |||
_) ا a | |||
_) او u: | |||
_) ای i: | |||
_) ا (L01 // Acts like Consonants if followed by a vowel but is silent. | |||
_) ا a | |||
_) او u: | |||
_) ای i: | |||
.group آ | |||
آ a: | |||
.group ع | |||
ع a: | |||
عا a: | |||
_) ع a | |||
_) ع a | |||
.group و | |||
@@ -63,13 +68,13 @@ | |||
وُ u: | |||
وٗ u: | |||
و (L01 v | |||
_) و v | |||
_) و v | |||
.group ی | |||
ی e: | |||
ی (L01 j | |||
ی (_ i: | |||
_) ی j | |||
_) ی j | |||
.group ے // yeh barree | |||
@@ -89,111 +94,148 @@ | |||
// CONSONANTS | |||
.group ب | |||
ب b | |||
بھ bh | |||
ب bV | |||
بھ bhV | |||
بھ (L01 bh | |||
ب (L01 b | |||
.group پ | |||
پ p | |||
پھ ph | |||
پ pV | |||
پھ phV | |||
پ (L01 p | |||
پھ (L01 ph | |||
.group ت | |||
ت t | |||
تھ th | |||
ت tV | |||
تھ thV | |||
ت (L01 t | |||
تھ (L01 th | |||
.group ٹ | |||
ٹ t. | |||
ٹھ th. | |||
ٹ t.V | |||
ٹھ th.V | |||
ٹ (L01 t. | |||
ٹھ (L01 th. | |||
.group ث | |||
ث s | |||
ث sV | |||
ث (L01 s | |||
.group ج | |||
ج J | |||
جھ Jh | |||
ج JV | |||
جھ JhV | |||
ج (L01 J | |||
جھ (L01 Jh | |||
.group چ | |||
چ c | |||
چھ ch | |||
چ cV | |||
چھ chV | |||
چ (L01 c | |||
چھ (L01 ch | |||
.group ح | |||
ح H | |||
ح HV | |||
ح (L01 H | |||
.group خ | |||
خ x | |||
خ xV | |||
خ (L01 x | |||
.group د | |||
د d | |||
دھ dh | |||
د dV | |||
دھ dhV | |||
د (L01 d | |||
دھ (L01 dh | |||
.group ڈ | |||
ڈ d. | |||
ڈھ dh. | |||
ڈ d.V | |||
ڈھ dh.V | |||
ڈ (L01 d. | |||
ڈھ (L01 dh. | |||
.group ذ | |||
ذ D | |||
ذ DV | |||
ذ (L01 D | |||
.group ر | |||
ر R | |||
ر RV | |||
ر (L01 R | |||
.group ڑ | |||
ڑ r. | |||
ڑ r.V | |||
ڑ (L01 r. | |||
.group ز | |||
ز z | |||
ز zV | |||
ز (L01 z | |||
.group ژ | |||
ژ Z | |||
ژ ZV | |||
ژ (L01 Z | |||
.group س | |||
س s | |||
س sV | |||
س (L01 s | |||
.group ش | |||
ش S | |||
ش SV | |||
ش (L01 S | |||
.group ص | |||
ص s. | |||
ص s.V | |||
ص (L01 s. | |||
.group ض | |||
ض z | |||
ض zV | |||
ض (L01 z | |||
.group ط | |||
ط t | |||
طھ th | |||
ط tV | |||
طھ thV | |||
ط (L01 t | |||
طھ (L01 th | |||
.group ظ | |||
ظ z. | |||
ظ z.V | |||
ظ (L01 z. | |||
.group غ | |||
غ Q | |||
غ QV | |||
غ (L01 Q | |||
.group ف | |||
ف f | |||
ف fV | |||
ف (L01 f | |||
.group ق | |||
ق q | |||
ق qV | |||
ق (L01 q | |||
.group ک | |||
ک k | |||
کھ kh | |||
ک kV | |||
کھ khV | |||
ک (L01 k | |||
کھ (L01 kh | |||
.group گ | |||
گ g | |||
گھ gh | |||
گ gV | |||
گھ ghV | |||
گ (L01 g | |||
گھ (L01 gh | |||
.group ل | |||
ل l | |||
ل lV | |||
ل (L01 l | |||
.group م | |||
م m | |||
م mV | |||
م (L01 m | |||
.group ن | |||
ن n | |||
ن nV | |||
ن (L01 n | |||
.group ں | |||
ں n // this should nasalize the vowel | |||
@@ -206,10 +248,21 @@ | |||
ہ (_ a | |||
// Common symbols | |||
.group | |||
$ do:l@R | |||
, sVkat.Vh // Sakata سکتہ | |||
! f'iJa:ja //Fijaya فجائیہ | |||
; w'ak't'a //Waqfa وقفہ | |||
: r'a:b'tah//Rabtar رابطہ | |||
? saw'a:l'i:ja:n'is'a:nV // Sawaliya Nishan سوالیہ نشان | |||
% f'i:sVd //Fisad فیصد | |||
.group 0xe0a4 // devanagari | |||
0xe0a4 _^_HI // switch to hindi voice | |||
0xe0a4 _^_NE // switch to Nepali voice | |||
.group 0xe0a5 // devanagari | |||
0xe0a5 _^_HI | |||
0xe0a5 _^_NE | |||
.group | |||
$ do:l@R |
@@ -83,12 +83,12 @@ ỵ ỵ | |||
_) b _b | |||
.group c | |||
c k | |||
c g //k | |||
c (_ kh | |||
ch c // try [tS;] [tS] [c] | |||
.group d | |||
d J // try [z] [J] [dZ] [dZ;] [J^] | |||
d J^ // try [z] [J] [dZ] [dZ;] [J^] | |||
.group đ | |||
đ d | |||
@@ -101,13 +101,13 @@ ỵ ỵ | |||
.group g | |||
g Q // try [g] [Q] | |||
gh Q // or [g] [Q] | |||
g (i D // try [D] [z] [j] [J^] [z;] [J] [dZ] | |||
g (ì D | |||
g (í D | |||
g (ỉ D | |||
g (ĩ D | |||
g (ị D | |||
gi D | |||
g (i J^ // try [D] [z] [j] [J^] [z;] [J] [dZ] | |||
g (ì J^ | |||
g (í J^ | |||
g (ỉ J^ | |||
g (ĩ J^ | |||
g (ị J^ | |||
gi J^ | |||
.group h | |||
h h | |||
@@ -133,7 +133,7 @@ ỵ ỵ | |||
ng N | |||
ngh N | |||
nh n^ | |||
.group ñ | |||
ñ n^ | |||
@@ -144,7 +144,7 @@ ỵ ỵ | |||
.group q | |||
q k | |||
q (_ kh | |||
qu kw | |||
qu w //kw | |||
.group r | |||
r z. // try [z] [z.] [r] [z;] | |||
@@ -183,11 +183,11 @@ ỵ ỵ | |||
aĩ a:I5 | |||
aị a:I6 | |||
ay aI | |||
aỳ aI2 | |||
aỳ aI2 | |||
aý aI3 | |||
aỷ aI4 | |||
aỹ aI5 | |||
aỵ aI6 | |||
aỹ aI5 | |||
aỵ aI6 | |||
ao a:U | |||
aò a:U2 | |||
aó a:U3 | |||
@@ -402,64 +402,81 @@ ỵ ỵ | |||
//========================= | |||
.group o | |||
o O | |||
o (A w | |||
oa o@ // modify oa sound example: hoa,khoa // o (A w | |||
oi OI | |||
oì OI2 | |||
oí OI3 | |||
oỉ OI4 | |||
oĩ OI5 | |||
oị OI6 | |||
ong O# | |||
oe o& // Adding oe sound example: lóe sáng,toét mắt | |||
.group ò | |||
ò O2 | |||
òi OI2 | |||
ò (A w2 | |||
òa o@2 //ò (A w2 | |||
òng O#2 | |||
òe o&2 | |||
.group ó | |||
ó O3 | |||
ói OI3 | |||
ó (A w3 | |||
óa o@3 //ó (A w3 | |||
óng O#3 | |||
óe o&3 | |||
.group ỏ | |||
ỏ O4 | |||
ỏi OI4 | |||
ỏ (A w4 | |||
ỏa o@4 //ỏ (A w4 | |||
ỏng O#4 | |||
ỏe o&4 | |||
.group õ | |||
õ O5 | |||
õi OI5 | |||
õ (A w5 | |||
õa o@5 //õ (A w5 | |||
õng O#5 | |||
õe o&5 | |||
.group ọ | |||
ọ O6 | |||
ọi OI6 | |||
ọ (A w6 | |||
ọa o@6 //ọ (A w6 | |||
ọng O#6 | |||
ọe o&6 | |||
//============================= | |||
.group ô | |||
ô o | |||
ôi oI | |||
ông o# // ông sound | |||
.group ồ | |||
ồ o2 | |||
ồi oI2 | |||
ồng o#2 | |||
.group ố | |||
ố o3 | |||
ối oI3 | |||
ống o#3 | |||
.group ổ | |||
ổ o4 | |||
ổi oI4 | |||
ổng o#4 | |||
.group ỗ | |||
ỗ o5 | |||
ỗi oI5 | |||
ỗng o#5 | |||
.group ộ | |||
ộ o6 | |||
ội oI6 | |||
ộng o#6 | |||
@@ -525,36 +542,41 @@ ỵ ỵ | |||
uổi u@j4 | |||
uỗi u@j5 | |||
uội u@j6 | |||
//ung u# | |||
.group ù | |||
ù u2 | |||
ù (A w2 | |||
ùi uI2 | |||
ùa u@2 | |||
//ùng u#2 | |||
.group ú | |||
ú u3 | |||
ú (A w3 | |||
úi uI3 | |||
úa u@3 | |||
//úng u#3 | |||
.group ủ | |||
ủ u4 | |||
ủ (A w4 | |||
ủi uI4 | |||
ủa u@4 | |||
//ủng u#4 | |||
.group ũ | |||
ũ u5 | |||
ũ (A w5 | |||
ũi uI5 | |||
ũa u@5 | |||
//ũng u#5 | |||
.group ụ | |||
ụ u6 | |||
ụ (A w6 | |||
ụi uI6 | |||
ụa u@6 | |||
//ụng u#6 | |||
//============================= | |||
.group ư | |||
@@ -696,13 +718,13 @@ ỵ ỵ | |||
.group | |||
% f'@2n||tS;'am | |||
% f'@2n||cr'am | |||
! _:c'@3m_|t'a:7n_: | |||
! (\! | |||
// : koUl@n | |||
D_) h (_DD_ D'@:2 // omit colon in time, eg: 2:30 | |||
$ d'o||l'a | |||
!= x,o1N_|_b'a2N_ | |||
!= x'o#_|_b'a2N_ | |||
>= l'@:3n_|h'@:1n_|hw,a6kh_b'a2N | |||
<= n^'O4_|h'@:1n_|hw,a6kh_b'a2N | |||
@@ -1,6 +1,5 @@ | |||
name urdu-test | |||
language ur | |||
phonemes hi | |||
stressrule 6 | |||
@@ -113,6 +113,10 @@ phoneme I2 | |||
CALL I | |||
endphoneme | |||
phoneme I# | |||
vowel starttype #@ endtype #@ | |||
ChangePhoneme(I2) | |||
endphoneme | |||
phoneme i // optional variant of [I] for end of words | |||
vowel starttype #i endtype #e | |||
@@ -171,11 +175,10 @@ endphoneme | |||
phoneme 3: | |||
vowel starttype #e endtype #@ | |||
length 210 | |||
length 230 | |||
ChangeIfNotStressed(VR) // also need "replace 02 3: VR" in voice file | |||
ipa e | |||
AppendPhoneme(r) | |||
FMT(vdiph2/e@) | |||
FMT(vowelr/e_r) | |||
endphoneme | |||
@@ -217,7 +220,7 @@ phoneme o@ | |||
length 230 | |||
ipa o | |||
AppendPhoneme(r) | |||
FMT(vowelr/o_r) | |||
FMT(vowelr/oo_r) | |||
endphoneme | |||
@@ -310,7 +313,7 @@ endphoneme | |||
phoneme i@3 | |||
vowel starttype #i endtype #@ | |||
ipa ɪ | |||
length 220 | |||
length 240 | |||
AppendPhoneme(r) | |||
FMT(vowelr/i_r) | |||
endphoneme |
@@ -41,14 +41,6 @@ phoneme @2 // Schwa, changes to I before a vowel | |||
FMT(vowel/@_low2) | |||
endphoneme | |||
phoneme @L | |||
vowel starttype #@ endtype l | |||
ipa əl | |||
unstressed | |||
length 160 | |||
FMT(vwl_en/@L) | |||
endphoneme | |||
phoneme a | |||
vowel starttype #e endtype #@ | |||
@@ -130,7 +122,6 @@ phoneme 0 | |||
ChangeIfDiminished(@) | |||
IF nextPh(r) THEN | |||
ChangePhoneme(O:) | |||
// FMT(vwl_en_us/oor) | |||
ENDIF | |||
FMT(vowel/aa_8) | |||
endphoneme | |||
@@ -177,6 +168,7 @@ phoneme 3: | |||
vowel starttype #@ endtype #@ | |||
length 240 | |||
IfNextVowelAppend(r-) | |||
ChangeIfDiminished(3) | |||
FMT(vwl_en_us/3_us2) | |||
endphoneme | |||
@@ -266,7 +258,7 @@ endphoneme | |||
phoneme eI | |||
vowel starttype #e endtype #i | |||
length 230 | |||
FMT(vdiph2/ei_4) | |||
FMT(vdiph/eei_5) | |||
endphoneme | |||
@@ -366,7 +358,8 @@ phoneme t | |||
voicingswitch d | |||
lengthmod 2 | |||
IF prevPhW(isVowel) OR prevPhW(n) THEN | |||
// IF prevPhW(isVowel) OR prevPhW(n) THEN | |||
IF prevPhW(isVowel) THEN // test, don't reduce [t] after [n] | |||
IF nextPhW(isVowel) AND nextPh(isUnstressed) THEN | |||
IF next2Ph(n) AND next2Ph(notWordStart) THEN | |||
ELSE |
@@ -113,10 +113,22 @@ phoneme k | |||
import_phoneme consonants/k- | |||
endphoneme | |||
phoneme q | |||
vls uvl stop | |||
lengthmod 2 | |||
Vowelin f1=1 f2=1700 0 200 f3=-300 80 gpaus f4 rms=30 | |||
Vowelout f1=1 f2=1700 -100 200 f3=-300 80 f4 rms=35 | |||
IF nextPh(#i) THEN | |||
WAV(ustop/q2_i, 40) | |||
ENDIF | |||
WAV(ustop/q2, 48) | |||
endphoneme | |||
phoneme Q | |||
import_phoneme base/Q" | |||
import_phoneme base/r" | |||
endphoneme | |||
phoneme r |
@@ -39,7 +39,6 @@ phoneme &~ | |||
vowel starttype #@ endtype #@ | |||
ipa ɐU+0303 | |||
length 180 | |||
// ChangeIfNotStressed(&) | |||
FMT(vnasal/a#_n) | |||
endphoneme | |||
@@ -225,3 +224,10 @@ phoneme * | |||
endphoneme | |||
// TESTING | |||
phoneme &2~ | |||
vowel starttype #@ endtype #@ | |||
ipa ɐU+0303 | |||
length 200 | |||
FMT(vnasal/W_n) | |||
endphoneme |
@@ -0,0 +1,45 @@ | |||
//==================================================== | |||
// Phonemes adjusted for Urdu by Him Prasad Gautam. | |||
//==================================================== | |||
phoneme : // Lengthen the previous vowel by "length" | |||
virtual | |||
length 120 | |||
endphoneme | |||
phoneme @ | |||
vowel flag1 starttype #@ endtype #@ | |||
length 130 | |||
ChangeIfDiminished(@-) | |||
IF nextPh(H) THEN | |||
FMT(vowel/@_low) | |||
ENDIF | |||
FMT(vowel/@_bck) | |||
endphoneme | |||
phoneme V | |||
vowel flag1 starttype #@ endtype #@ | |||
length 150 | |||
CALL hi/V | |||
endphoneme | |||
phoneme @2 | |||
vowel flag1 starttype #@ endtype #@ | |||
length 150 | |||
FMT(vowel/@_low) | |||
endphoneme | |||
phoneme @3 | |||
vowel flag1 starttype #@ endtype #@ | |||
length 150 | |||
ChangeIfDiminished(@-) | |||
FMT(vowel/@_3) | |||
endphoneme | |||
//==================================================== | |||
// The rest Phonemes are inherted from Hindi. |
@@ -12,13 +12,13 @@ endphoneme | |||
phoneme 2 // huyền tone: low falling | |||
stress | |||
Tone(20, 8, envelope/p_fall, NULL) | |||
Tone(20, 8, envelope/p_fall, NULL) //20 | |||
endphoneme | |||
phoneme 3 // sắc Tone(rising | |||
stress | |||
Tone(25, 50, envelope/p_rise, NULL) | |||
Tone(25, 50, envelope/p_rise, NULL) // 25 | |||
endphoneme | |||
@@ -30,13 +30,13 @@ endphoneme | |||
phoneme 5 // ngã tone: broken (creaking rising) | |||
stress | |||
Tone(28, 58, envelope/p_214, envelope/vi_5amp) | |||
Tone(28,58, envelope/p_214, envelope/vi_5amp) // 28,58 | |||
endphoneme | |||
phoneme 6 // nặng Tone(drop (constricted) | |||
stress | |||
length 75 // reduce the length of the vowel | |||
//length 150 // ignore because it make too short sound 75 // reduce the length of the vowel | |||
Tone(40, 20, envelope/p_512, envelope/vi_6amp) | |||
endphoneme | |||
@@ -54,14 +54,14 @@ endphoneme | |||
phoneme a | |||
vowel starttype #@ endtype #@ | |||
length 130 | |||
FMT(vowel/a_4) | |||
length 120 | |||
FMT(vowel/a_6) //a_4) | |||
endphoneme | |||
phoneme a: | |||
vowel starttype #a endtype #a | |||
length 280 | |||
FMT(vowel/a_6) | |||
length 200 //280 | |||
FMT(vietnam/a) //FMT(vowel/a_6) | |||
endphoneme | |||
@@ -91,26 +91,42 @@ endphoneme | |||
phoneme O | |||
vowel starttype #o endtype #o | |||
length 200 | |||
FMT(vowel/aa_4) | |||
IF nextPh(kh) THEN | |||
length 95 | |||
ELSE | |||
length 200 | |||
ENDIF | |||
FMT(vowel/aa_4) | |||
endphoneme | |||
phoneme o | |||
vowel starttype #o endtype #o | |||
length 200 | |||
IF nextPh(kh) THEN | |||
length 95 | |||
ELSE | |||
length 200 | |||
ENDIF | |||
FMT(vowel/o_2) | |||
endphoneme | |||
phoneme u | |||
vowel starttype #u endtype #u | |||
length 200 | |||
FMT(vowel/u_7) | |||
IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound | |||
length 120 | |||
ELSE | |||
length 200 | |||
ENDIF | |||
FMT(vnasal/u_n) //vowel/u_7) | |||
endphoneme | |||
phoneme y | |||
vowel starttype #u endtype #u | |||
length 200 | |||
IF nextPh(kh) OR nextPh(N) THEN | |||
length 120 | |||
ELSE | |||
length 200 | |||
ENDIF | |||
FMT(vowel/u#_5) | |||
endphoneme | |||
@@ -118,8 +134,12 @@ endphoneme | |||
phoneme @ | |||
vowel starttype #@ endtype #a | |||
length 130 | |||
FMT(vowel/@_2) | |||
IF nextPh(kh) OR nextPh(N) THEN | |||
length 120 | |||
ELSE | |||
length 170 | |||
ENDIF | |||
FMT(vowel/V) //vowel/@_2) | |||
endphoneme | |||
@@ -136,28 +156,28 @@ endphoneme | |||
phoneme aI | |||
vowel starttype #a endtype #i | |||
length 250 | |||
FMT(vdiph/&i_3) | |||
length 200 //250 | |||
FMT(vdiph/&y) | |||
endphoneme | |||
phoneme a:I | |||
vowel starttype #a endtype #i | |||
length 250 | |||
length 200 //250 | |||
FMT(vdiph/ai) | |||
endphoneme | |||
phoneme @I | |||
vowel starttype #@ endtype #i | |||
length 250 | |||
length 200 //250 | |||
FMT(vdiph/@i) | |||
endphoneme | |||
phoneme @:I | |||
vowel starttype #@ endtype #i | |||
length 250 | |||
length 200 //250 | |||
FMT(vdiph/@i) | |||
endphoneme | |||
@@ -214,7 +234,7 @@ endphoneme | |||
phoneme a:U | |||
vowel starttype #a endtype #u | |||
length 270 | |||
length 230 //270 | |||
FMT(vdiph/au) | |||
endphoneme | |||
@@ -241,7 +261,7 @@ endphoneme | |||
phoneme @U | |||
vowel starttype #@ endtype #u | |||
length 200 | |||
FMT(vdiph/@u) | |||
FMT(vdiph/@u_3) | |||
endphoneme | |||
phoneme @:U | |||
@@ -270,27 +290,123 @@ phoneme u@ | |||
FMT(vdiph2/uu@) | |||
endphoneme | |||
// Addition Dipthongs | |||
phoneme o# // ông | |||
vowel starttype #o endtype #o | |||
length 200 | |||
FMT(vnasal/a#u_n) | |||
endphoneme | |||
phoneme O# // ong | |||
vowel starttype #o endtype #o | |||
length 200 | |||
FMT(vnasal/&u_n) | |||
endphoneme | |||
phoneme o@ | |||
vowel starttype #o endtype #o | |||
length 160 | |||
FMT(vdiph2/oa) | |||
endphoneme | |||
phoneme o& | |||
vowel starttype #o endtype #o | |||
length 160 | |||
FMT(vietnam/oe) | |||
endphoneme | |||
phoneme kh | |||
vls vel frc | |||
lengthmod 3 | |||
Vowelin f1=0 f2=2300 200 400 f3=200 80 | |||
Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20 | |||
WAV(ufric/x, 50) | |||
WAV(vietnam/_c,5) //ufric/x, 50) | |||
endphoneme | |||
phoneme l | |||
liquid | |||
lengthmod 7 | |||
//IF nextPh(isNotVowel) THEN | |||
// ChangePhoneme(l/2) | |||
//ENDIF | |||
IF nextPh(isNotVowel) THEN | |||
ChangePhoneme(l/2) | |||
ENDIF | |||
CALL vowelstart_l | |||
//CALL vowelstart_l | |||
FMT(l/l_vi) | |||
endphoneme | |||
phoneme t | |||
vls alv stop | |||
//voicingswitch d | |||
lengthmod 2 | |||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | |||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||
WAV(vietnam/th, 50) | |||
endphoneme | |||
phoneme cr | |||
vls pla afr sibilant | |||
//voicingswitch dZ | |||
lengthmod 2 | |||
Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||
WAV(vietnam/tr,10) | |||
endphoneme | |||
phoneme d | |||
vcd alv stop | |||
lengthmod 5 | |||
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 | |||
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk | |||
WAV(vietnam/dd) | |||
endphoneme | |||
phoneme c | |||
vls pal stop palatal | |||
//voicingswitch J | |||
lengthmod 2 | |||
length 75 | |||
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1 | |||
WAV(vietnam/ch,5) | |||
endphoneme | |||
phoneme p | |||
vls blb stop | |||
lengthmod 2 | |||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 | |||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | |||
WAV(ustop/p_unasp_,10) | |||
endphoneme | |||
phoneme n | |||
vcd alv nasal | |||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 | |||
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk | |||
lengthmod 4 | |||
FMT(n/n#_) | |||
endphoneme | |||
phoneme t[ // dental variant of /t/ | |||
vls dnt stop | |||
voicingswitch d[ | |||
lengthmod 2 | |||
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 | |||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | |||
IF nextPh(isPause2) THEN | |||
WAV(ustop/t_unasp2, 5) | |||
ENDIF | |||
WAV(ustop/t_hi, 70) | |||
endphoneme |
@@ -1727,6 +1727,9 @@ include ph_kannada | |||
phonemetable ml hi | |||
include ph_malayalam | |||
phonemetable ur hi | |||
include ph_urdu | |||
phonemetable hu base | |||
include ph_hungarian | |||
@@ -1809,7 +1812,7 @@ phonemetable is base | |||
include ph_icelandic | |||
phonemetable vi base | |||
include ph_vi | |||
include ph_vietnam | |||
phonemetable zhy base | |||
include ph_zh_yue |
@@ -1,133 +0,0 @@ | |||
//==================================================== | |||
// Nepali (inherits from Hindi) | |||
//==================================================== | |||
phoneme V | |||
vowel starttype #@ endtype #@ | |||
length 160 | |||
ChangeIfNotStressed(@) | |||
IF nextPh(H) THEN | |||
FMT(vowel/@_low) | |||
ENDIF | |||
FMT(vowel/@_bck) | |||
endphoneme | |||
phoneme @3 // use a more front [@] after palatal consonants | |||
vowel starttype #@ endtype #@ | |||
length 140 | |||
FMT(vowel/@_3) | |||
endphoneme | |||
phoneme @/ | |||
vowel starttype #@ endtype #@ | |||
length 130 | |||
IF nextPh(H) THEN | |||
FMT(vowel/@_low) | |||
ENDIF | |||
FMT(vowel/@_bck) | |||
endphoneme | |||
phoneme i | |||
vowel starttype #i endtype #i | |||
length 160 | |||
IfNextVowelAppend(;) | |||
FMT(vowel/i) | |||
endphoneme | |||
phoneme e | |||
vowel starttype #e endtype #e | |||
length 180 | |||
FMT(vowel/e) | |||
endphoneme | |||
phoneme a | |||
vowel long starttype #a endtype #a | |||
length 230 | |||
FMT(vowel/aa_9) | |||
endphoneme | |||
phoneme o | |||
vowel starttype #o endtype #o | |||
length 180 | |||
FMT(vowel/o_mid) | |||
endphoneme | |||
phoneme u | |||
vowel starttype #u endtype #u | |||
length 160 | |||
FMT(vowel/u_bck) | |||
endphoneme | |||
// Diphthongs | |||
//=========== | |||
phoneme aI | |||
vowel long starttype #a endtype #i | |||
length 240 | |||
long | |||
FMT(vdiph/aai) | |||
endphoneme | |||
phoneme aU | |||
vowel long starttype #a endtype #u | |||
length 240 | |||
long | |||
FMT(vdiph/aau_3) | |||
endphoneme | |||
phoneme eI | |||
vowel long starttype #e endtype #i | |||
length 240 | |||
long | |||
FMT(vdiph/eei) | |||
endphoneme | |||
phoneme eU | |||
vowel long starttype #e endtype #u | |||
length 240 | |||
long | |||
FMT(vdiph/eu) | |||
endphoneme | |||
phoneme VI | |||
vowel long starttype #@ endtype #i | |||
length 240 | |||
long | |||
FMT(vdiph/Vi) | |||
endphoneme | |||
phoneme VU | |||
vowel long starttype #@ endtype #u | |||
length 240 | |||
long | |||
FMT(vdiph/Vu) | |||
endphoneme | |||
phoneme oI | |||
vowel long starttype #o endtype #i | |||
length 240 | |||
long | |||
FMT(vdiph/oi) | |||
endphoneme | |||
phoneme oU | |||
vowel long starttype #o endtype #u | |||
length 240 | |||
long | |||
FMT(vdiph/ou) | |||
endphoneme | |||
phoneme uI | |||
vowel long starttype #u endtype #i | |||
length 240 | |||
long | |||
FMT(vdiph/ui) | |||
endphoneme | |||
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2011 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -630,6 +630,7 @@ static FILE *f_phtab; | |||
static FILE *f_phcontents; | |||
static FILE *f_errors = stderr; | |||
static FILE *f_prog_log = NULL; | |||
static FILE *f_report; | |||
static FILE *f_in; | |||
@@ -642,6 +643,7 @@ static int count_references = 0; | |||
static int duplicate_references = 0; | |||
static int count_frames = 0; | |||
static int error_count = 0; | |||
static int resample_count = 0; | |||
static int then_count = 0; | |||
static int after_if = 0; | |||
@@ -661,9 +663,9 @@ static REF_HASH_TAB *ref_hash_tab[256]; | |||
#define N_ENVELOPES 30 | |||
static int n_envelopes = 0; | |||
static char envelope_paths[N_ENVELOPES][80]; | |||
static unsigned char envelope_dat[N_ENVELOPES][ENV_LEN]; | |||
int n_envelopes = 0; | |||
char envelope_paths[N_ENVELOPES][80]; | |||
unsigned char envelope_dat[N_ENVELOPES][ENV_LEN]; | |||
typedef struct { | |||
@@ -733,27 +735,21 @@ static void CompileReport(void) | |||
int n; | |||
REF_HASH_TAB *p; | |||
REF_HASH_TAB **list; | |||
FILE *f_report; | |||
const char *data_path; | |||
int prev_table; | |||
int prev_mnemonic; | |||
char fname[sizeof(path_source)+20]; | |||
if(f_report == NULL) | |||
return; | |||
// make a list of all the references and sort it | |||
list = (REF_HASH_TAB **)malloc((count_references)* sizeof(REF_HASH_TAB *)); | |||
if(list == NULL) | |||
return; | |||
sprintf(fname,"%scompile_report",path_source); | |||
f_report = fopen(fname,"w"); | |||
if(f_report == NULL) | |||
{ | |||
free(list); | |||
return; | |||
} | |||
fprintf(f_report,"%d phoneme tables\n",n_phoneme_tabs); | |||
fprintf(f_report," new total\n"); | |||
fprintf(f_report,"\n%d phoneme tables\n",n_phoneme_tabs); | |||
fprintf(f_report," new total\n"); | |||
for(ix=0; ix<n_phoneme_tabs; ix++) | |||
{ | |||
fprintf(f_report,"%8s %3d %4d\n",phoneme_tab_list2[ix].name, phoneme_tab_list2[ix].n_phonemes, n_phcodes_list[ix]+1); | |||
@@ -1824,20 +1820,31 @@ static int LoadWavefile(FILE *f, const char *fname) | |||
if((fd_temp = mkstemp(fname_temp)) >= 0) | |||
{ | |||
close(fd_temp); | |||
sprintf(command,"sox \"%s%s.wav\" -r %d -c 1 -w %s polyphase\n",path_source,fname,samplerate_native,fname_temp); | |||
sprintf(command,"sox \"%s%s.wav\" -c1 -t wav %s rate -h %d\n",path_source,fname,fname_temp,samplerate_native); | |||
if(system(command) < 0) | |||
{ | |||
error("Failed to resample: %s",command); | |||
remove(fname_temp); | |||
return(0); | |||
} | |||
} | |||
if(GetFileLength(fname_temp) <= 0) | |||
{ | |||
error("Failed to resample: %s",command); | |||
remove(fname_temp); | |||
return(0); | |||
} | |||
f = fopen(fname_temp,"rb"); | |||
if(f == NULL) | |||
{ | |||
error("Can't read temp file: %s",fname_temp); | |||
return(0); | |||
} | |||
if(f_report != NULL) | |||
fprintf(f_report, "resampled %s\n", fname); | |||
resample_count++; | |||
resample_wav = 1; | |||
fseek(f,40,SEEK_SET); // skip past the WAV header, up to before "data length" | |||
} | |||
@@ -3475,6 +3482,10 @@ memset(markers_used,0,sizeof(markers_used)); | |||
if((f_errors = fopen_log(f_errors,fname,"w")) == NULL) | |||
f_errors = stderr; | |||
sprintf(fname,"%s%s",path_source,"compile_report"); | |||
f_report = fopen_log(f_errors, fname,"w"); | |||
sprintf(fname,"%s/%s",path_home,"phondata-manifest"); | |||
if((f_phcontents = fopen_log(f_phcontents,fname,"w")) == NULL) | |||
f_phcontents = stderr; | |||
@@ -3538,8 +3549,6 @@ memset(markers_used,0,sizeof(markers_used)); | |||
fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references); | |||
fclose(f_in); | |||
fclose(f_phdata); | |||
if(f_errors != stderr) | |||
fclose(f_errors); | |||
if(f_prog_log != NULL) | |||
fclose(f_prog_log); | |||
fclose(f_phindex); | |||
@@ -3549,18 +3558,30 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references | |||
LoadPhData(); | |||
LoadVoice(voice_name2,0); | |||
CompileReport(); | |||
report_dict = CompileAllDictionaries(); | |||
//#ifdef deleted | |||
DrawEnvelopes(); | |||
//#endif | |||
if(gui_flag) | |||
{ | |||
delete progress; | |||
} | |||
report.Printf(_T("Compiled phonemes: %d errors."),error_count); | |||
if(resample_count > 0) | |||
{ | |||
fprintf(f_errors, "\n%d WAV files resampled to %d Hz\n", resample_count, samplerate_native); | |||
report.Printf(_T("Compiled phonemes: %d errors, %d files resampled to %d Hz. "),error_count, resample_count, samplerate_native); | |||
} | |||
else | |||
{ | |||
report.Printf(_T("Compiled phonemes: %d errors."),error_count); | |||
} | |||
if(f_errors != stderr) | |||
fclose(f_errors); | |||
if(error_count > 0) | |||
{ | |||
report += _T(" See file: 'phsource/error_log'."); | |||
@@ -3738,6 +3759,7 @@ void CompileIntonation() | |||
char buf[sizeof(path_source)+120]; | |||
error_count = 0; | |||
resample_count = 0; | |||
sprintf(fname_errors,"%s%s",path_source,"error_intonation"); | |||
if((f_errors = fopen(fname_errors,"w")) == NULL) | |||
@@ -4006,7 +4028,6 @@ void CompileIntonation() | |||
fwrite(tune_data, n_tune_names, sizeof(TUNE), f_out); | |||
fclose(f_in); | |||
fclose(f_out); | |||
fclose(f_errors); | |||
report.Printf(_T("Compiled %d intonation tunes: %d errors."),n_tune_names, error_count); | |||
wxLogStatus(report); |
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2010 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -51,11 +51,15 @@ static char letterGroupsDefined[N_LETTER_GROUPS]; | |||
MNEM_TAB mnem_rules[] = { | |||
{"unpr", 0x01}, | |||
{"w_alt1", 0x11}, | |||
{"w_alt2", 0x12}, | |||
{"w_alt3", 0x13}, | |||
// {"w_alt4", 0x14}, | |||
{"w_alt", 0x11}, // note: put longer names before their sub-strings | |||
{"p_alt1", 0x21}, | |||
{"p_alt2", 0x22}, | |||
{"p_alt3", 0x23}, | |||
// {"p_alt4", 0x24}, | |||
{"p_alt", 0x21}, | |||
{NULL, -1} }; | |||
@@ -1586,7 +1590,7 @@ static int compile_lettergroup(char *input, FILE *f_out) | |||
items[n_items] = p_start = p; | |||
while((*p & 0xff) > ' ') | |||
{ | |||
if (*p == '_') *p = ' '; // allow '_' for word break | |||
if (*p == '_') *p = ' '; // allow '_' for word break | |||
p++; | |||
} | |||
*p++ = 0; |
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2011 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -1499,21 +1499,24 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, | |||
stress = 3; | |||
if((stressflags & 0x1000) && (vowel_count == 2)) | |||
if(unstressed_word == 0) | |||
{ | |||
// Two syllable word, if one syllable has primary stress, then give the other secondary stress | |||
if(vowel_stress[1] == 4) | |||
vowel_stress[2] = 3; | |||
if(vowel_stress[2] == 4) | |||
vowel_stress[1] = 3; | |||
} | |||
if((stressflags & 0x1000) && (vowel_count == 3)) | |||
{ | |||
// Two syllable word, if one syllable has primary stress, then give the other secondary stress | |||
if(vowel_stress[1] == 4) | |||
vowel_stress[2] = 3; | |||
if(vowel_stress[2] == 4) | |||
vowel_stress[1] = 3; | |||
} | |||
if((stressflags & 0x2000) && (vowel_stress[1] < 0)) | |||
{ | |||
// If there is only one syllable before the primary stress, give it a secondary stress | |||
if((vowel_count > 2) && (vowel_stress[2] >= 4)) | |||
if((stressflags & 0x2000) && (vowel_stress[1] < 0)) | |||
{ | |||
vowel_stress[1] = 3; | |||
// If there is only one syllable before the primary stress, give it a secondary stress | |||
if((vowel_count > 3) && (vowel_stress[2] >= 4)) | |||
{ | |||
vowel_stress[1] = 3; | |||
} | |||
} | |||
} | |||
@@ -2737,6 +2740,12 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c | |||
if(word_flags & FLAG_UNPRON_TEST) | |||
return(match1.end_type | 1); | |||
#ifdef deleted | |||
// ?? allow $unpr while translating rules, not just on initial FLAG_UNPRON_TEST | |||
if((match1.end_type & SUFX_UNPRON) && !(word_flags & FLAG_SUFFIX_REMOVED)) | |||
return(match1.end_type); | |||
#endif | |||
if((match1.phonemes[0] == phonSWITCH) && ((word_flags & FLAG_DONT_SWITCH_TRANSLATOR)==0)) | |||
{ | |||
// an instruction to switch language, return immediately so we can re-translate | |||
@@ -2877,13 +2886,15 @@ int TransposeAlphabet(Translator *tr, char *text) | |||
int max; | |||
const char *map; | |||
char *p = text; | |||
char *p2 = text; | |||
char *p2; | |||
int all_alpha=1; | |||
int bits; | |||
int acc; | |||
int pairs_start; | |||
const short *pairs_list; | |||
char buf[N_WORD_BYTES]; | |||
p2 = buf; | |||
offset = tr->transpose_min - 1; | |||
min = tr->transpose_min; | |||
max = tr->transpose_max; | |||
@@ -2930,8 +2941,8 @@ int TransposeAlphabet(Translator *tr, char *text) | |||
acc=0; | |||
bits=0; | |||
p = text; | |||
p2 = text; | |||
p = buf; | |||
p2 = buf; | |||
while((c = *p++) != 0) | |||
{ | |||
if((pairs_list = tr->frequent_pairs) != NULL) | |||
@@ -2962,9 +2973,13 @@ int TransposeAlphabet(Translator *tr, char *text) | |||
*p2++ = (acc << (8-bits)); | |||
} | |||
*p2 = 0; | |||
return((p2 - text) | 0x40); // bit 6 indicates compressed characters | |||
strcpy(text, buf); | |||
return((p2 - buf) | 0x40); // bit 6 indicates compressed characters | |||
} | |||
else | |||
{ | |||
return(strlen(text)); | |||
} | |||
return(p2 - text); | |||
} // end of TransposeAlphabet | |||
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2006 to 2007 by Jonathan Duddington * | |||
* Copyright (C) 2006 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -768,7 +768,11 @@ int main (int argc, char **argv) | |||
fclose(f_text); | |||
} | |||
espeak_Synchronize(); | |||
if(espeak_Synchronize() != EE_OK) | |||
{ | |||
fprintf(stderr, "espeak_Synchronize() failed, maybe error when opening output device\n"); | |||
exit(4); | |||
} | |||
if(f_phonemes_out != stdout) | |||
fclose(f_phonemes_out); // needed for WinCE |
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2010 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -685,7 +685,7 @@ void DisplayErrorFile(const char *fname) | |||
if(len > 0) | |||
{ | |||
if(len > 1500) | |||
len = 1500; // restrict length to pppppevent crash in wxLogMessage() | |||
len = 1500; // restrict length to prevent crash in wxLogMessage() | |||
msg = (char *)malloc(len+1); | |||
if(msg != NULL) | |||
{ |
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2007 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -162,8 +162,8 @@ void ProsodyDisplay::SelectPh(int index) | |||
} | |||
y1 = p->pitch1; | |||
y2 = p->pitch2; | |||
sprintf(buf,"Stress %s%d Amp %2d LenMod %2d Pitch %3d %3d %s PhFlags %.2x ", | |||
emphasized,p->stresslevel&0x7,p->amp,p->length,y1,y2,name,p->ph->phflags); | |||
sprintf(buf,"Stress %s%d Amp %2d StdLength %2d LengthMod %2d Pitch %3d %3d %s PhFlags %.2x ", | |||
emphasized,p->stresslevel&0x7,p->amp,p->std_length*2, p->length,y1,y2,name,p->ph->phflags); | |||
wxLogStatus(wxString(buf,wxConvLocal)); | |||
} | |||
@@ -90,8 +90,9 @@ static const unsigned short punct_chars[] = {',','.','?','!',':',';', | |||
0x055e, // Armenian question | |||
0x055b, // Armenian emphasis mark | |||
0x0b1b, // Arabic ; | |||
0x061b, // Arabic ; | |||
0x061f, // Arabic ? | |||
0x06d4, // Arabic . | |||
0x0f0d, // Tibet Shad | |||
0x0f0e, | |||
@@ -138,6 +139,7 @@ static const unsigned int punct_attributes [] = { 0, | |||
CLAUSE_SEMICOLON, // Arabic ; | |||
CLAUSE_QUESTION, // Arabic question mark | |||
CLAUSE_PERIOD, // Arabic full stop | |||
CLAUSE_PERIOD+0x8000, // Tibet period | |||
CLAUSE_PARAGRAPH, |
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2011 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -60,6 +60,7 @@ static espeak_AUDIO_OUTPUT my_mode=AUDIO_OUTPUT_SYNCHRONOUS; | |||
static int synchronous_mode = 1; | |||
static int out_samplerate = 0; | |||
static int voice_samplerate = 22050; | |||
static espeak_ERROR err = EE_OK; | |||
t_espeak_callback* synth_callback = NULL; | |||
int (* uri_callback)(int, const char *, const char *) = NULL; | |||
@@ -114,7 +115,11 @@ static int dispatch_audio(short* outbuf, int length, espeak_EVENT* event) | |||
sleep(1); | |||
} | |||
out_samplerate = voice_samplerate; | |||
wave_init(voice_samplerate); | |||
if(!wave_init(voice_samplerate)) | |||
{ | |||
err = EE_INTERNAL_ERROR; | |||
return(-1); | |||
} | |||
wave_set_callback_is_output_enabled( fifo_is_command_enabled); | |||
my_audio = wave_open("alsa"); | |||
event_init(); | |||
@@ -166,8 +171,8 @@ static int dispatch_audio(short* outbuf, int length, espeak_EVENT* event) | |||
} | |||
SHOW_TIME("LEAVE dispatch_audio\n"); | |||
return (a_wave_can_be_played==0); // 1 = stop synthesis | |||
return (a_wave_can_be_played==0); // 1 = stop synthesis, -1 = error | |||
} | |||
@@ -373,6 +378,7 @@ static int initialise(int control) | |||
int param; | |||
int result; | |||
err = EE_OK; | |||
LoadConfig(); | |||
WavegenInit(22050,0); // 22050 | |||
if((result = LoadPhData()) != 1) | |||
@@ -487,6 +493,8 @@ static espeak_ERROR Synthesize(unsigned int unique_identifier, const void *text, | |||
{ | |||
#ifdef USE_ASYNC | |||
finished = create_events((short *)outbuf, length, event_list, a_write_pos); | |||
if(finished < 0) | |||
return EE_INTERNAL_ERROR; | |||
length = 0; // the wave data are played once. | |||
#endif | |||
} | |||
@@ -516,7 +524,8 @@ static espeak_ERROR Synthesize(unsigned int unique_identifier, const void *text, | |||
#ifdef USE_ASYNC | |||
if (my_mode==AUDIO_OUTPUT_PLAYBACK) | |||
{ | |||
dispatch_audio(NULL, 0, NULL); // TBD: test case | |||
if(dispatch_audio(NULL, 0, NULL) < 0) // TBD: test case | |||
return err = EE_INTERNAL_ERROR; | |||
} | |||
else | |||
{ | |||
@@ -1198,6 +1207,7 @@ ESPEAK_API int espeak_IsPlaying(void) | |||
ESPEAK_API espeak_ERROR espeak_Synchronize(void) | |||
{//============================================= | |||
espeak_ERROR berr = err; | |||
#ifdef USE_ASYNC | |||
SHOW_TIME("espeak_Synchronize > ENTER"); | |||
while (espeak_IsPlaying()) | |||
@@ -1205,8 +1215,9 @@ ESPEAK_API espeak_ERROR espeak_Synchronize(void) | |||
usleep(20000); | |||
} | |||
#endif | |||
err = EE_OK; | |||
SHOW_TIME("espeak_Synchronize > LEAVE"); | |||
return EE_OK; | |||
return berr; | |||
} // end of espeak_Synchronize | |||
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2011 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.46.32 30.Jan.13"; | |||
const char *version_string = "1.46.35 14.Feb.13"; | |||
const int version_phdata = 0x014631; | |||
int option_device_number = -1; | |||
@@ -1215,6 +1215,7 @@ void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_ | |||
memcpy(&worddata->prev_vowel, &plist[0], sizeof(PHONEME_LIST)); | |||
} | |||
plist->std_length = phdata->pd_param[i_SET_LENGTH]; | |||
} // end of InterpretPhoneme | |||
@@ -220,6 +220,7 @@ typedef struct { | |||
unsigned char newword; // bit 0=start of word, bit 1=end of clause, bit 2=start of sentence | |||
unsigned char pitch1; | |||
unsigned char pitch2; | |||
unsigned char std_length; | |||
} PHONEME_LIST; | |||
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2011 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -1139,6 +1139,17 @@ if((wmark > 0) && (wmark < 8)) | |||
return(0); | |||
} | |||
#ifdef deleted | |||
// ?? allow $unpr while translating rules, not just on initial FLAG_UNPRON_TEST | |||
if(end_type & SUFX_UNPRON) | |||
{ | |||
phonemes[0] = 0; // discard and retranslate as individual letters | |||
SpeakIndividualLetters(tr, wordx, phonemes, 0); | |||
strcpy(word_phonemes, phonemes); | |||
return(0); | |||
} | |||
#endif | |||
if((phonemes[0] == 0) && (end_phonemes[0] == 0)) | |||
{ | |||
int wc; |
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2011 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * |
@@ -1,5 +1,5 @@ | |||
/*************************************************************************** | |||
* Copyright (C) 2005 to 2007 by Jonathan Duddington * | |||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||
* email: [email protected] * | |||
* * | |||
* This program is free software; you can redistribute it and/or modify * | |||
@@ -670,9 +670,9 @@ void MakeVowelLists(void) | |||
#define N_ENVELOPES 30 | |||
int n_envelopes = 0; | |||
char envelope_paths[N_ENVELOPES][80]; | |||
unsigned char envelope_dat[N_ENVELOPES][ENV_LEN]; | |||
extern int n_envelopes; | |||
extern char envelope_paths[N_ENVELOPES][80]; | |||
extern unsigned char envelope_dat[N_ENVELOPES][ENV_LEN]; | |||
#define HT_ENV 140 | |||
#define WD_ENV 128*2 |
@@ -62,7 +62,7 @@ enum {ONE_BILLION=1000000000}; | |||
static int pulse_running; | |||
// wave.cpp (this file) | |||
void wave_port_init(int); | |||
int wave_port_init(int); | |||
void* wave_port_open(const char* the_api); | |||
size_t wave_port_write(void* theHandler, char* theMono16BitsWaveBuffer, size_t theSize); | |||
int wave_port_close(void* theHandler); | |||
@@ -77,7 +77,7 @@ int wave_port_get_remaining_time(uint32_t sample, uint32_t* time); | |||
// wave_pulse.cpp | |||
int is_pulse_running(); | |||
void wave_pulse_init(int); | |||
int wave_pulse_init(int); | |||
void* wave_pulse_open(const char* the_api); | |||
size_t wave_pulse_write(void* theHandler, char* theMono16BitsWaveBuffer, size_t theSize); | |||
int wave_pulse_close(void* theHandler); | |||
@@ -91,13 +91,13 @@ void* wave_pulse_test_get_write_buffer(); | |||
int wave_pulse_get_remaining_time(uint32_t sample, uint32_t* time); | |||
// wrappers | |||
void wave_init(int srate) { | |||
int wave_init(int srate) { | |||
pulse_running = is_pulse_running(); | |||
if (pulse_running) | |||
wave_pulse_init(srate); | |||
return wave_pulse_init(srate); | |||
else | |||
wave_port_init(srate); | |||
return wave_port_init(srate); | |||
} | |||
void* wave_open(const char* the_api) { | |||
@@ -756,7 +756,7 @@ void wave_set_callback_is_output_enabled(t_wave_callback* cb) | |||
//<wave_init | |||
// TBD: the arg could be "alsa", "oss",... | |||
void wave_init(int srate) | |||
int wave_init(int srate) | |||
{ | |||
ENTER("wave_init"); | |||
PaError err; | |||
@@ -773,6 +773,7 @@ void wave_init(int srate) | |||
{ | |||
SHOW_TIME("wave_init > Failed to initialise the PortAudio sound"); | |||
} | |||
return err == paNoError; | |||
} | |||
//> | |||
@@ -1194,7 +1195,7 @@ void *wave_test_get_write_buffer() | |||
// notdef USE_PORTAUDIO | |||
void wave_init(int srate) {} | |||
int wave_init(int srate) {} | |||
void* wave_open(const char* the_api) {return (void *)1;} | |||
size_t wave_write(void* theHandler, char* theMono16BitsWaveBuffer, size_t theSize) {return theSize;} | |||
int wave_close(void* theHandler) {return 0;} |
@@ -7,7 +7,7 @@ | |||
extern int option_device_number; | |||
extern void wave_init(int samplerate); | |||
extern int wave_init(int samplerate); | |||
// TBD: the arg could be "alsa", "oss",... | |||
extern void* wave_open(const char* the_api); | |||
@@ -660,14 +660,14 @@ void wave_set_callback_is_output_enabled(t_wave_callback* cb) | |||
//> | |||
//<wave_init | |||
void wave_init(int srate) | |||
int wave_init(int srate) | |||
{ | |||
ENTER("wave_init"); | |||
stream = NULL; | |||
wave_samplerate = srate; | |||
pulse_open(); | |||
return pulse_open() == PULSE_OK; | |||
} | |||
//> | |||
@@ -870,7 +870,7 @@ void *wave_test_get_write_buffer() | |||
// notdef USE_PULSEAUDIO | |||
void wave_init() {} | |||
int wave_init() {} | |||
void* wave_open(const char* the_api) {return (void *)1;} | |||
size_t wave_write(void* theHandler, char* theMono16BitsWaveBuffer, size_t theSize) {return theSize;} | |||
int wave_close(void* theHandler) {return 0;} |
@@ -78,7 +78,7 @@ static uint32_t wave_samplerate; | |||
// | |||
//<wave_init | |||
void wave_init(int srate) { | |||
int wave_init(int srate) { | |||
ENTER("wave_init"); | |||
audio_info_t ainfo; | |||
@@ -104,7 +104,7 @@ void wave_init(int srate) { | |||
SHOW("wave_init() sun_audio_fd: %d\n", sun_audio_fd); | |||
if (sun_audio_fd < 0) { | |||
return; | |||
return(0); | |||
} | |||
ioctl(sun_audio_fd, AUDIO_GETINFO, &ainfo); | |||
@@ -117,8 +117,9 @@ void wave_init(int srate) { | |||
if (ioctl(sun_audio_fd, AUDIO_SETINFO, &ainfo) == -1) { | |||
SHOW("wave_init() failed to set audio params: %s\n", strerror(errno)); | |||
close(sun_audio_fd); | |||
return; | |||
return(0); | |||
} | |||
return(1); | |||
} | |||
//> |