Merge commit '3b2094592c' into android

This commit is contained in:
Reece H. Dunn
2013-03-13 20:26:26 +00:00
56 changed files with 2002 additions and 679 deletions
+16 -3
View File
@@ -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
+217 -128
View File
File diff suppressed because it is too large Load Diff
+148 -76
View File
@@ -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
+848 -13
View File
File diff suppressed because it is too large Load Diff
+34 -17
View File
@@ -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 ّ
+2
View File
@@ -115,6 +115,8 @@ _ე e
ჸ elifi
უ u
v _^_EN // not 'roman'
x _^_EN
% prots#enti $max3
+ pliusi $max3
+81 -17
View File
@@ -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
+106 -70
View File
@@ -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
+13 -9
View File
@@ -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
+114 -61
View File
@@ -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
.group 0xe0a4 // devanagari
0xe0a4 _^_HI // switch to hindi voice
.group 0xe0a5 // devanagari
0xe0a5 _^_HI
// Common symbols
.group
$ do:l@R
$ 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 _^_NE // switch to Nepali voice
.group 0xe0a5 // devanagari
0xe0a5 _^_NE
+46 -24
View File
@@ -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
View File
@@ -1,6 +1,5 @@
name urdu-test
language ur
phonemes hi
stressrule 6
Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

+8 -5
View File
@@ -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
+4 -11
View File
@@ -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
+13 -1
View File
@@ -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
+7 -1
View File
@@ -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
+45
View File
@@ -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.
+145 -29
View File
@@ -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
+4 -1
View File
@@ -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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-133
View File
@@ -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
+43 -22
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2011 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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);
+6 -2
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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;
+34 -19
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2011 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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 & 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 & 0x1000) && (vowel_count == 3))
{
vowel_stress[1] = 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 > 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
+6 -2
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2006 to 2007 by Jonathan Duddington *
* Copyright (C) 2006 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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
+2 -2
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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)
{
+3 -3
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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));
}
+3 -1
View File
@@ -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,
+17 -6
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2011 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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
+3 -2
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2011 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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
+1
View File
@@ -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;
+12 -1
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2011 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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 -1
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2011 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
+4 -4
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* 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
+8 -7
View File
@@ -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;}
+1 -1
View File
@@ -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);
+3 -3
View File
@@ -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;}
+4 -3
View File
@@ -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);
}
//>