Browse Source

[1.25.17] Fix rule trace for suffix rules (were omitted in espeakedit).

lang=de  improve de_rules.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@34 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 18 years ago
parent
commit
0fa20438c1

+ 231
- 220
dictsource/de_list View File

@@ -85,225 +85,6 @@ vgl fE*gl'aIC@
z.b tsUmb'aISpi:l


// English words
//==============
// de_rules includes the words ending in "-ing"
access _^_EN
account _^_EN
aid _^_EN // aids
appeal _^_EN
apple _^_EN
baseball _^_EN
bbc _^_EN
beat _^_EN
browser _^_EN
byte _^_EN
camcorder _^_EN
chart _^_EN
coach _^_EN
coke _^_EN
computer _^_EN
cool _^_EN
couch _^_EN
cursor _^_EN
dj _^_EN
email _^_EN
ensemble _^_FR
event _^_EN
firewall _^_EN
foul _^_EN
foyer _^_EN
frame _^_EN
freak _^_EN
gin _^_EN
groupie _^_EN
hip _^_EN
homepage _^_EN
hooligan _^_EN
interface _^_EN
jean _^_EN
jet _^_EN
job _^_EN
joke _^_EN
joystick _^_EN
junkie _^_EN
laptop _^_EN
laser _^_EN
level _^_EN
login _^_EN
look _^_EN
macho _^_EN
mail _^_EN
message _^_EN
offline _^_EN
online _^_EN
out _^_EN
pair _^_EN
penthouse _^_EN
pidgin _^_EN
plot _^_EN
poster _^_EN
receiver _^_EN
remake _^_EN
roadie _^_EN
roastbeef _^_EN
quiz _^_EN
run _^_EN
scanner _^_EN
science _^_EN
server _^_EN
sex _^_EN
sexy _^_EN
shirt _^_EN
show _^_EN
single _^_EN
slip _^_EN
slum _^_EN
small _^_EN
snob _^_EN
song _^_EN
spam _^_EN
spirit _^_EN
squaw _^_EN
suite _^_EN
sweatshirt _^_EN
talk _^_EN
teaser _^_EN
tech _^_EN
terminal _^_EN
trip _^_EN
tuner _^_EN
unix _^_EN
window _^_EN
word _^_EN


// Main exceptions list
//=====================
allein $2
andre and@-*@ // andere
anomalie $2
akazie $alt
arie $alt
arterie $alt
außerdem aUs3de:m

beben be:b@n
beere be:*@
bestie bEstI@
best bEst
beten be:t@n
bronchie $alt

ciao tSaU
coup ku:

dahlie $alt
deshalb $2
dezember $2
duett du:'Et

direkt $2
dritte d@-*It@

einander aIn'and3
einig aInIC
endivie $alt
erde E*d@
erst E*st

furie $alt

geben ge:b@n
geber ge:b3
gegenüber ge:g@n'y:b3
gemein g@maIn
genial ge:nI'al
geranie ge:*'A:nI@
gessen gEs@n
geste ge:st@
gestern gEst3n
gestrig gEst@-*IC
glorie $alt
grazie $alt

handy handI
historie $alt
hm h@m
hostie $alt

immobilie $alt
injurie $alt
insbesondere $3
interess Int@*'Es

januar janu:A:*

kamelie $alt
kastanie $alt
kid kId
kommend kOm'End
komödie $alt
kurie $alt

lappalie $alt
lilie $alt
linie $alt
luetisch lu:'e:tIS

machen max@n
marginalie $alt
materie $alt
menuette mEnu:'Et
mikrofiche maIk@-*o:fIS
miteinander $1
mitte mIt@
mumie $alt

oberen o:b@*@n
oboe o:bo:@
orgie $alt
ok o:k'e:

petersilie $alt
pinie $alt
präsident $3
prämie $alt
problem p@-*Obl'e:m

reliquie $alt
rupie $alt

sagt zA:gt
selbst zElpst
serie se:*I;@
service sE*vIs
sofort $2
sogar $2
soweit $2
sowohl $2
system z%IstEm

tag tA:g
the D@ // English
theater te:'A:t3
tuerei tu:*aI

unten Unt@n

verein fE*'aIn
vielleicht $2
vorbei fO*b'aI

//wahrscheinlich $2
warum vA:*'Um

zoom zu:m
zuerst tsu:'E*st
zudem tsu:'de:m
zurück $2


// definite article
der %dE*
die %di:
@@ -331,7 +112,8 @@ bevor be:f'o:* $pause
also $pause $strend
wenn ,vEn $pause $strend
sowie $2 $pause

obgleich $2 $pause
obwohl $2 $pause
deren ,dE*@n $brk

// prepositions
@@ -526,3 +308,232 @@ sollst ,zOlst
sollte ,zOlt@
sollten ,zOlt@n




// English words
//==============
// de_rules includes the words ending in "-ing"
access _^_EN
account _^_EN
aid _^_EN // aids
appeal _^_EN
apple _^_EN
baseball _^_EN
bbc _^_EN
beat _^_EN
browser _^_EN
byte _^_EN
camcorder _^_EN
chart _^_EN
coach _^_EN
coke _^_EN
computer _^_EN
cool _^_EN
couch _^_EN
cursor _^_EN
dj _^_EN
email _^_EN
ensemble _^_FR
event _^_EN
firewall _^_EN
foul _^_EN
foyer _^_EN
frame _^_EN
freak _^_EN
gin _^_EN
groupie _^_EN
hip _^_EN
homepage _^_EN
hooligan _^_EN
interface _^_EN
jean _^_EN
jet _^_EN
job _^_EN
joke _^_EN
joystick _^_EN
junkie _^_EN
laptop _^_EN
laser _^_EN
level _^_EN
login _^_EN
look _^_EN
macho _^_EN
mail _^_EN
message _^_EN
offline _^_EN
online _^_EN
out _^_EN
pair _^_EN
penthouse _^_EN
pidgin _^_EN
plot _^_EN
poster _^_EN
receiver _^_EN
remake _^_EN
roadie _^_EN
roastbeef _^_EN
quiz _^_EN
run _^_EN
scanner _^_EN
science _^_EN
server _^_EN
sex _^_EN
sexy _^_EN
shirt _^_EN
show _^_EN
single _^_EN
slip _^_EN
slum _^_EN
small _^_EN
snob _^_EN
song _^_EN
spam _^_EN
spirit _^_EN
squaw _^_EN
suite _^_EN
sweatshirt _^_EN
talk _^_EN
teaser _^_EN
tech _^_EN
terminal _^_EN
trip _^_EN
tuner _^_EN
unix _^_EN
window _^_EN
word _^_EN


// Main exceptions list
//=====================
abort ab'O*t
allein $2
andre and@-*@ // andere
anomalie $2
akazie $alt
arie $alt
arterie $alt
außerdem aUs3de:m

beben be:b@n
beere be:*@
bestie bEstI@
best bEst
beten be:t@n
bronchie $alt

ciao tSaU
coup ku:

dahlie $alt
deshalb $2
dezember $2
diadem di:ad'e:m
duett du:'Et

direkt $2
dritte d@-*It@

einander aIn'and3
einig aInIC $only
einige aInIg@ $u+
einiges aInIg@s $u+
endivie $alt
erde E*d@
erst E*st

furie $alt

geben ge:b@n
geber ge:b3
gegenüber ge:g@n'y:b3
gemein g@maIn
genial ge:nI'al
geranie ge:*'A:nI@
gessen gEs@n
geste ge:st@
gestern gEst3n
gestrig gEst@-*IC
glorie $alt
grazie $alt

handy handI
heimat haImat
historie $alt
hm h@m
hostie $alt

immobilie $alt
injurie $alt
insbesondere $3
interess Int@*'Es

januar janu:A:*

kamelie $alt
kastanie $alt
kid kId
kommend kOm'End
komödie $alt
kurie $alt

lappalie $alt
lilie $alt
linie $alt
luetisch lu:'e:tIS

machen max@n
marginalie $alt
materie $alt
menuette mEnu:'Et
mikrofiche maIk@-*o:fIS
miteinander $1
mitte mIt@
mumie $alt

oberen o:b@*@n
oboe o:bo:@
orgie $alt
ok o:k'e:

petersilie $alt
pinie $alt
präsident $3
prämie $alt
problem p@-*Obl'e:m

reliquie $alt
rupie $alt

sabbat zabat
sagt zA:gt
selbst zElpst
serie se:*I;@
service sE*vIs
sofort $2
sogar $2
soweit $2
sowohl $2
system z%IstEm

tag tA:g
the D@ // English
theater te:'A:t3
tuerei tu:*aI

unten Unt@n

woher vo:h'e:r

verein fE*'aIn
vielleicht $2
vorbei fO*b'aI

//wahrscheinlich $2
warum vA:*'Um

zoom zu:m
zuerst tsu:'E*st
zudem tsu:'de:m
zurück $2


+ 74
- 20
dictsource/de_rules View File

@@ -11,15 +11,21 @@
a (C% a
a (CC a
a (sch a
a (x a
&CC) a (_ =A:

ai aI
ay aI
au aU

_) ab (@P2 'ab
_) ab (C@P2 'ap
_) ab (arP2 'ap
_) abb (a %ab
_) abb (rev ab
_) abend A:b@nt
_) ab (er@P2 'ap
_) abge (@ 'abg@
_) ab (i ab
_) abzu 'abtsu:
_) an (@P2 'an
_) an (der an
@@ -34,17 +40,21 @@
@) an (_ 'an
@) ant (_ 'ant
_) anthropo ,ant@-*o:p%o:
@) atisch (_S6 'A:tIS
@) atisieren (_S9 A:tIs'i:*@n
_) anti (@P4 ,anti:
anier (_ 'A:ni:3
arier (_ 'A:*i:3
adier (_ 'A:di:3
@) at (_ 'A:t
@) atisch (_S6 'A:tIS
@) atisieren (_S9 A:tIs'i:*@n
a (tion a

.group b
_) b (_ be:
b b
b) b
b (_N p
b (h p
b (s_ p
bt (_N pt

@@ -68,6 +78,7 @@
_) b (eul b
_) b (eut b

_o) b (C p
baby _^_EN
beten be:t@n
_) bike _^_EN
@@ -86,6 +97,12 @@
u) ch x
äu) ch C
eu) ch C
C) chen (_$4 C@n
ä) chen (_$4 C@n
e) chen (_$4 C@n
i) chen (_$4 C@n
ü) chen (_$4 C@n

_) chr k@-*
chs ks
ck k
@@ -99,10 +116,8 @@
chip _^_EN
_) ch (ol k
_) ch (or k
@) chen (_$4 C@n
bre) ch (en x
spro) ch (en x // not spro-chen
wo) ch (en+ x
nä) chs (t Cs
coat (_ _^_EN
_) code ko:t
@@ -115,6 +130,7 @@
d d
d) d
d (_N t
d (h t
d (s_ t
dt t
ddt t
@@ -122,6 +138,7 @@
_) deal _^_EN
design _^_EN
dge (_ _^_EN
_) dia d,i:a
drive _^_EN
_) drug _^_EN

@@ -135,35 +152,37 @@
e (C% E
e (CC E
e (sch E
e (x E

ei aI
eu OI
ey (_ e:

ell (_ 'El
&) e (_$1 @
&) e (_S1 @
@t) e (_S1 @
&) e (BB_ E2
e (gt_+ e:
&) el (_ @l
&) em (_$2 @m
@) en (_$2 @n
&) eln (_S1 n
&) em (_S2 @m
@) en (_S2 @n
@) er (C 3
@) er (r E*
@) er (nC E*
@) er (_$2 3
&) ere (_$3 @*@
&) erem (_$4 @*@m
&) eren (_$4 @*@n
&) erer (_$4 @*3
&) eres (_$4 @*@s
@) er (_S2 3
&) ere (_S3 @*@
&) erem (_S4 @*@m
&) eren (_S4 @*@n
&) erer (_S4 @*3
&) eres (_S4 @*@s
&) er (C_ @*
&) er (n_ @r
&) er (r_ E
w) er (k_ E*
@) es (_$2 @s
@) es (_S2 @s
&) et (_ @t
Ad) ent (_ 'Ent
@) ent (_ 'Ent
@m) ent (_ 'Ent
@m) ente (_ 'Ent@
&) est (_ @st
@@ -177,6 +196,7 @@

_) ein (@P3 'aIn
ein (and _|%aIn
_) einig aInIg
_) emp (@P3 _|%Emp
_) ent (@P3 _|%Ent
_) enten Ent@n
@@ -190,6 +210,7 @@

_) entert _^_EN
_) erob (er %E*o:b
@) eur (_ 'Y:*


.group f
@@ -207,6 +228,7 @@
g g
g) g
g (_N k
g (h k
gd (_N kt
gt (_N kt

@@ -252,6 +274,7 @@
_) hinge (@P5 h'Ing@

_) haupt (@@P5 h'aUpt
// @) heit (_S4 haIt
_) high _^_EN
_) hinter (@ h,Int3
_) hyper _^_EN
@@ -267,9 +290,12 @@
i (C% I
i (CC I
i (sch I
i (x I

@) i (ng I
&CC) i (_ =i:

@) i (at_ I
&) ie (ll_ i:,E
&) ier (_ 'i:3
r) ien (@ IEn
@@ -284,8 +310,14 @@
ierung 'i:*UN

ig (C IC
ig (m Ig
ig (n Ig
ig (l Ig
ig (r Ig
ig (_N IC
&) ig (_ Ig // -ig + inflexions
@) ik (_ 'i:k
@) ik (el_ 'i:k
@) ie (_ 'i:

bakter) ie =I@
@@ -295,12 +327,16 @@
formal) ie =I@
stud) ie (_ =I@

igh aI
@) ing (_N _^_EN
@) ion (_ j'o:n
@) ional (_ jo:n,al
@) is (_ Is
&) isch (_ =IS
@) ität (_S4 It'e:t
@) ist (_ 'Ist
@) it (_N 'It
@) ite (_ 'i:t@
@) ität (_S4 i:t'E:t

.group j
_) j (_ jOt
@@ -311,9 +347,12 @@
k k
k) k

@) keit (_$4 kaIt
// @) keit (_$4 kaIt

kolleg k%Ole:g
_) ko (mp k%O
_) ko (mpost kO


.group l
_) l (_ El
@@ -321,6 +360,7 @@
l) l
lin (_ l'i:n

_) leit (@P4 l'aIt
@) lich (_$4 lIC
lady _^_EN
@) lo (gisch l'o:
@@ -335,6 +375,7 @@
_) micro _^_EN
_) mit (P3 m'It
mitt (eC mIt
mitt (l mIt
_) ms _^_EN
musik m%u:zi:k

@@ -364,6 +405,7 @@
o (C% O
o (CC O
o (sch O
o (x O
&CC) o (_ =o:

_) ober (@P4 _|,o:b3
@@ -412,11 +454,16 @@
A) s (_N s
A) s (_ z
ss s
sst (@ sSt

p) s (a s
sch S
sch (en_ sC
_) sh S
sh (K S
p) s (i s
t) s (i s
k) s (i s
_) sp Sp
_be) sp Sp
_ge) sp Sp
@@ -477,10 +524,13 @@
u (C% U
u (CC U
u (sch U
u (x U
@) u (ng U

@) u (m_ U
rt) u (m_ u:
_) un Un
_) un (C@P2 Un
_) un (C@P2 'Un
_) unbe (@P4 _|,Unb@
_) unge (@P4 _|,Ung@
_) unver (@P5 _|,UnfE*
@@ -522,6 +572,8 @@
@) wert (_ vE*t
_) wh _^_EN
&) ware (_ _^_EN
_) wo (hin v%o:
_) wohl (@P4 v'o:l
work _^_EN

@@ -535,6 +587,7 @@

y y:
y (CC y
y (x y
y (A j
@) y (_ I
t) y (_ _^_EN
@@ -573,6 +626,7 @@
ü (C% y
ü (CC y
ü (sch y
ü (x y

_) über (@P4 _|,y:b3


+ 6
- 6
dictsource/dict_phonemes View File

@@ -157,7 +157,7 @@ o: u u: y Y y: Y:
* : b c C d dZ f
g h j J k l m n
N n^ p r R s S s2
t tS ts v z Z
t tS ts v z Z z2


Dictionary it_dict
@@ -298,15 +298,15 @@ Dictionary ro_dict

@ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI
iU o Oa oI oU u uI y
Y yI yU
iU o O Oa oI oU u uI
y Y yI yU

* *; b b; c C d d;
dZ f f; g h j k l
l; m m; n N n; p p;
r s S s; S; t T t;
tS ts ts; v v; w w2 z
Z z; Z;
r s S s; S; t t; tS
ts ts; v v; w z Z z;
Z;


Dictionary is_dict

+ 3
- 2
dictsource/en_rules View File

@@ -5152,9 +5152,10 @@
_) ++ (_ plVspl'Vs
\+\+\+) + // ignore + after the first 3

# (\#\#
\#\#) # (\#
\#\#) # (_ _::
A_) # haS
C_) # haS
\#) #

. d0t
D) . (D+ ,pOInt

+ 18
- 19
dictsource/hu_rules View File

@@ -254,25 +254,24 @@ _minde) gy (ik J:
zs Z
zzs Z:

gá) z (sz z|| // don't devoice [z] to [s]
gé) z (sz z
há) z (so z||
há) z (sz z
lá) z (sz z
má) zc (sz z
mé) zc (sz z
nehé) z (sé z||
tű) z (sz z
vi) z (sz z||
ví) z (sz z||

ga) zs (ág zS
_gá) zsz (ámla zs:
_gá) zsz (ámlá zs:
_ré) zs (ó zS
_vá) zs (or zS
_szára) zs (ág zS
_kö) zs (ég zS
gá) z (sz z2 // don't devoice [z] to [s]
gé) z (sz z2
há) z (so z2
há) z (sz z2
lá) z (sz z2
má) zc (sz z2
mé) zc (sz z2
nehé) z (sé z2
tű) z (sz z2
ví) z (sz z2

ga) zs (ág z2S
_gá) zsz (ámla z2s:
_gá) zsz (ámlá z2s:
_ré) zs (ó z2S
_vá) zs (or z2S
_szára) zs (ág z2S
_kö) zs (ég z2S


.group

+ 4
- 0
dictsource/is_list View File

@@ -380,3 +380,7 @@ z se:t&

// MAIN WORD DICTIONARY
//*********************

bolla bOll&
halló h&lloU
mylla mIll&

+ 197
- 23
dictsource/ro_list View File

@@ -161,12 +161,15 @@ această $u+
acel $u+ // that
acea $u+ // that
acei $u+ // those
acele $u1+ // those
acele $u2+ // those

cei $u+ // the, those
cel $u+ // that, he who
cea $u+ // that, she who
cele $u1+ // those
ăia $u1+
ălora $u1+


// pronouns
eu jeU $u+
@@ -195,9 +198,17 @@ mi $u
însuşi $u1+
ânsăşi $u1+
însumi $u1+
nimeni $u1+
nimănui $u3+

care $u $brk // who that which what
ceea $u $brk // that
care $u1 $brk
// who that which what
ceea $u $brk // that
căruia $u1
căreia $u1
cărora $u1
ăltora $u1+


// possessive adjectives
@@ -275,7 +286,7 @@ deşi $2 $pause // although
fie fie $u // either
însă $pause // but, yet, however
atunci $pause // therefore
(de atunci) d%e||at'untSi $pause // since then
(de atunci) d%e||at'untSI^ $pause // since then
nici $pause // neither
deci $pause // therefore, so that
fiindcă $pause // because, since, as
@@ -354,24 +365,27 @@ absolvi $3
afurisi $4
agonisi $4
ameţi $3
amuţi $3

blagoslovi $4
borbi $2
boţi $2
buşi $2

călăuzi $4
căptuşi $2
căptuşi $3
cârmi $2

căzni $2
catadicsi $4
cerşi $2
ciocni $2
citi $2
cloci $2
cuveni $3
dărui d@*w'i
deosebi $3
depăsi $3
depăşi $3
descoperi $4
desluşi $2
desluşi $3
deveni $3
dormi $2
feri $2
@@ -387,34 +401,53 @@ hăcui $3
încreţi $3
înghiţi $3
îngriji $3

înroşi $3
întâlni $3
înteţi $3
învârti $3
învrednici $4
izbi $2
linguşi $3

lipi $2
lovi $2
mânji $2
mirosi $2
mirosi $3
moleşi $3

muri mur'i
necăji $3
oferi $3

opri $2
pândi $2
păşi $2
părăsi $3

păzi $2
plăti $2
pocni $2
povesti $3
prăbuşi $3
prăji $2

primi $2

porni $2
răci $2
râfni $2

rânji $2
răguşi $3
răscoli $3
răspândi $3
răsuci $3
risipi $3
rotunji $2
risipi $3

rosti $2
rostogoli $4
rotunji $3

săvârşi $3
sclifosi $3
sfârşi $2
@@ -427,9 +460,21 @@ ursi $2
urzi $2
veşteji $3
vrăji $2
vorbi $2



// final "a" or "ea" is stressed(verbs)

înroşi $3
învărtejea $4
învărtea $3
învolbura $4
agita $3
apărea $3
amuţea $3
asculta $3
aştepta $3
agonisea $2
agrea ag@-*e'a
ajuta $3
@@ -444,10 +489,14 @@ căsca $2
căuta $2
cerşea $2
continua kontinu'a

conţinea $3
crea k@-*e'a
credea $3
creştea $2
dădea $2

depăsea $3
depista $3
desfunda $2
distra $2
@@ -485,14 +534,22 @@ mângâia $3
memora $2
mergea $2
merita $3

murea $2
negocia negotSi'a
oferea $3

paraliza $4
părea $2
pavea pave'a

palea pale'a
păzea $2
pleca $2

pornea $2
povestea $2
prepara $3
prelungea $3
răbda $2
răcea $2
rămânea $3
@@ -503,9 +560,16 @@ repera $3
respira $3
reuşea $3
revenea $2

rostea $2
săpa $2

sărea $2
semăna $3
scotea $2
sfărâma $3

sosea $2
spăla $2
spera $2
stăpânea $2
@@ -528,7 +592,7 @@ zbura $2
(să l) s@l $u
(să i) s@I $u
(să şi) s@S;I^ $u
(care l) carel $u
(care l) karel $u
(să mi) s@m;I^ $u
(te am) team $u
(te ai) teaj $u
@@ -542,6 +606,11 @@ zbura $2
(l am) lam $u
(l aţi) lats;I^ $u
(v aţi) vats;I^ $u

(v au) vaU $u
(v am) vam $u
(s o) so $u
(nu i) nui $u
(i am) jam $u
(a şi) aS;I^ $u
(într o) ynt@-*o
@@ -556,13 +625,38 @@ abil $2
abzice $2
acelaş $2
adventice $3
africa $1
africii $1

aer aIer
aici a'itSI^

alegem $2
alegeţi $2
altceva $3

altcuiva $3
altcumva $3
amic $2
amici $2
amice $2
amicii $2
amicul $2
amicului $2
amicilor $2
amicelor $2
inamic $3
inamicul $3
inamicului $3
inamicilor $3
america $2
americii $2
americile $2
apoi $2

aprig $1
aprige $1
aprigi $1
artefice $3
asemenea $2
adu $1
@@ -577,15 +671,29 @@ câteva $3
câtorva $3
cerbice $2
ceva $2
cicatrice $3 // @-
cicatrice $3
cineva $3
chimi $alt
chimic $1
complice $2
contrazice $3
consideră $3
creier $1 // @-

creier $1
credem $1
credeţi $1
crivăt $1
crivătul $1
crivătului $1

cuiva $2

cumva $2
dădu $2
deget $1
degetul $1
degetele $1
degetului $1
degetelor $1
deja $2
denzic $2
denzice $2
@@ -600,9 +708,15 @@ edit $1
egale $2
energi $alt
elice $2

expedia $3
exista $3

factice $2
facem $1
faceţi $1
făcu $2

fenicşi $1
fenix $1
ferice $1
@@ -622,9 +736,17 @@ gimnaziu dZimn'azju

imagin $2
înainte yna'inte

întotdeauna yntotdea'una
încăpere $3
încăperea $3
încăperile $3
încăperii $3
încăperilor $3
legături $3
legătură $3
legăturile $3

legăturilor $3
înjurătură $4
înjurături $4
înjurăturile $4
@@ -639,6 +761,9 @@ logic $1
matrice $2
maxim $1
maximum $1

mergem $1
mergeţi $1
merit $1
mia m'ia
mie m'ie
@@ -647,8 +772,14 @@ minimum $1
murdărie murd@*'ie
muzik $1
mării $1
mişto $1
metri met*i
mijloc $1
mijloace $1
mijlocul $1
mijlocului $1
mijloacele $1
mijloacelor $1
minus $1
mişto $2

nimic $2
novice $2
@@ -657,10 +788,20 @@ număr $1
numărul $1

oameni $1
oareşice oa*eSTSe $4

oamenii $1
oamenilor $1
oareşice oa*eStSe $4
obişnuit obiSnw'it
ocol $2

omăt $2
ordin $1

ordinul $1
ordinului $1
ordinelor $1
ordinele $1
dezordine $2
orice o*I^tSe $2
oricare o*I^ka*e $3
@@ -677,6 +818,8 @@ plăcerilor $2
polonic $3
polonicul $3
politic $2

pretutindeni $3
pricin $1
prieten $2
prietenie p@-*jeten'ie
@@ -684,7 +827,16 @@ privi $3
propice $2
protocol $4
promitem $2

promiteţi $2
putere $2
puteri $2
puterea $2
puterii $2
puterilor $2

răcnet $1
răcnete $1
răcnetelor $1
regul $1
reguli $1
repede $1
@@ -706,19 +858,40 @@ secolelor $1
sergiu s'ergju
sigur $1
simbolic $2

singur $1
şosea $2
spaţiu spatsju
spuneţi sp'unetsI^

tanti tanti

târcol $2
târziu tyrz'iu
terapi $alt
terapii $3
trecu $2
trecem $1
treceţi $1
trebuie $1
trebuia $3


ultim $1

ultimul $1
ultimele $1
umăr $1
umărul $1
undeva $3

veder $2
vehicul $2
vehiculul $2
vehicului $2
vehicule $2
vehiculelor $2

vineri $1
vinovăţi $alt
vinovăţii $4
@@ -727,3 +900,4 @@ virus $1

zarzări $1



+ 71
- 19
dictsource/ro_rules View File

@@ -1,4 +1,3 @@

// translation rules for Romanian
// This file is UTF-8 encoded

@@ -29,7 +28,19 @@
ăi (t_ @'i
ăi (ţi_ @'i

&) ă (_S1 @
ăi (te @'i
ăi (n_ @'i
ăi (na_ @'i
ăi (ni_ @'i
ăi (ne_ @'i
@) ăt (_S2t @t
//@) ătă (_S3t @t@
@) ătul (_S4t @tul
@) ătele (_S5t @tele
@) ătului (_S6t @tuluI
@) ătelor (_S6t @telor
&) ă (_S1 @
ări (A_ @*'i
ării (_ @*'iI
ări (AA_ @*'i
@@ -57,8 +68,11 @@
ch k
@@) col (_ =kol
@@) coli (_S1t =I^
@@) cole (_S1t =e
@@) cole (_S1t e


@) cni (_ kn'i
@) cnea (_ kne'a
.group d
d d
@) d (i_ d;
@@ -74,11 +88,16 @@
&) ea (_S2q ea
&) eSi eaj
eau eaw
eoa 'eOa
eo eo
e (AAA e

@) eş (_S2t eS
@) eş (_ =eS

@) eşul (_ =eSul
@) eşi (_ =eSI^
@) eşului (_ =eSuluI
@) eşilor (_ =eSilor
// &) es (_S1q e
&C) e (re_ %e
@@ -94,6 +113,8 @@
i) e (rea_ e



eoa eO'a
.group f
f f
@) f (i_ f;
@@ -118,16 +139,21 @@
&C) i (_N$1q i/
&) i (_N$1q i
&) i (-N$1q i // don't reduce to [I^] if a hyphen follows
&') i (_ i
ţ) i (-Că i
ţ) i (-Ci i
&') i (_ i
ţi-) i (_ _ // combined with previous word as [iI]
Cr) i (_ i
V&) i (_ 'i // verb
ăC) ia (_ 'ia
âC) ia (_ 'ia
ăC) ie (_ 'ie
ăC) ie (_ 'ie
âC) ie (_ 'ie
@) ie (_S1q =ie
iei (_ 'ieI
@) ie (_S1q ie
iei (_ 'ieI
ii iI
&) ii (_S2q iI
iii iji
@@ -144,12 +170,15 @@

i (t_ 'i


ioa iO'a
.group î
î y



@) î (_ 'y

.group j
j Z
@) j (i_ Z;
@@ -181,6 +210,7 @@ i (t_ 'i
-) mi (_ mi/



.group n
_) n (_ ne
n n
@@ -192,6 +222,8 @@ i (t_ 'i
_) n (-a n



-) n (_ n
.group o
o o
oa Oa
@@ -203,6 +235,11 @@ i (t_ 'i
o (AAA o



@) oi (t_ o'i
@) oi (tă_ o'i
@) oi (ţi_ o'i
@) oi (te_ o'i
.group p
p p
@) p (i_ p;
@@ -227,6 +264,11 @@ i (t_ 'i
@u) rile (_S4t rile



C) ri (_ @-*i
@) răm (_S1t m
@) răţi (_S4t *@tsI^

.group s
_) s (_ se
_) s (-a s
@@ -235,19 +277,25 @@ i (t_ 'i

&) sprezece (_S8t sp@-*ez,etSe

@) sem (_S1t sem
@) seră (_S2t se*@
@) serăm (_S3t se*@m
@) serăţi (_S4t se*@tsI^
@) seşi (_S2t seSI^
@) sem (_S1t m
@) seră (_S2t *@
@) serăm (_S3t *@m
@) serăţi (_S4t *@tsI^
@) seşi (_S2t SI^



@) sni (_ sn'i
.group ş
ş S
@) ş (i_ S;




@) şni (_ Sn'i
-) şi (_ SI^
.group t
t t
tt (_ t
@@ -270,11 +318,13 @@ i (t_ 'i
u (A w
ui uI
ui (e wi
V&) ui (_ w2'i
ui (m_ w2'i
ui (t_ w2'i
ui (ţi_ w2'i
&) ul (_S2t ul
V&) ui (_ u'i
ui (m_ u'i
ui (t_ u'i
ui (ţi_ u'i
ui (se_ u'i
&) ul (_S2t ul

@ic) ul (_S2 ul
@ic) uri (_S3 urI^
@@ -282,6 +332,7 @@ i (t_ 'i
@ic) urilor (_S6 urilor



.group v
v v
@) v (i_ v;
@@ -344,3 +395,4 @@ i (t_ 'i
**) * (_ _::




+ 6
- 6
phsource/compile_report View File

@@ -9,13 +9,13 @@
en_wm 30 142
af 37 126
cy 29 121
de 28 118
de 29 119
eo 13 107
fi 40 126
fr 32 117
fr_ca 11 117
hi 49 130
hu 23 112
hu 24 113
nl 26 116
pl 15 106
sk 26 123
@@ -221,7 +221,7 @@
2 ufric/hu_fi fi
2 ufric/ll base is
3 ufric/s base es pt
11 ufric/s_ base fi fr hu es pt ro
13 ufric/s_ base fi fr hu es pt ro
15 ufric/s! base fi hu es pt
2 ufric/s_continue fi hu
2 ufric/sh base pt_pt
@@ -397,8 +397,8 @@
6 vocw/v base ro
4 vocw/zh base ro
2 vocw/zh_rfx base
3 voc/z base fr ro
3 voc/z_ base fr ro
4 voc/z base fr hu ro
4 voc/z_ base fr hu ro
4 voc/zh base sk ro
3 voc/zh_ base ro
1 voc/zh_2 sk
@@ -432,7 +432,7 @@
1 vowel/aa_3 af
2 vowel/aa_4 sv vi
2 vowel/aa_5 en_n
1 vowel/aa_6 de
2 vowel/aa_6 de
1 vowel/aa_7 nl
4 vowel/a_en en fr
1 vowel/@_bck hi

+ 7
- 0
phsource/ph_german View File

@@ -87,6 +87,13 @@ phoneme A:
vowel starttype (a) endtype (a)
length 240
formants vowel/aa_6
reduceto a 4 // ??
endphoneme

phoneme A
vowel starttype (a) endtype (a)
length 200
formants vowel/aa_6
endphoneme



+ 8
- 0
phsource/ph_hungarian View File

@@ -189,4 +189,12 @@ phoneme s2 // second part of geminated [s:]
endphoneme


phoneme z2 // [z] but without switchvoicing
vcd alv frc sibilant
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
formants voc/z+ufric/s_
before _ voc/z_+ufric/s_%80
lengthmod 6
endphoneme



+ 16
- 6
src/dictionary.cpp View File

@@ -1445,10 +1445,12 @@ char *Translator::DecodeRule(const char *group, char *rule)
int match_type;
int finished=0;
int value;
int flags;
int suffix_char;
int condition_num=0;
char buf[60];
char buf_pre[60];
char suffix[12];
char suffix[20];
static char output[60];

static char symbols[] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',
@@ -1495,11 +1497,19 @@ char *Translator::DecodeRule(const char *group, char *rule)
if(rb == RULE_ENDING)
{
if(rule[0] & (SUFX_P>>8))
sprintf(suffix,"P%d",rule[1] & 0x7f);
else
sprintf(suffix,"$%d(%x)",rule[1] & 0x7f,rule[0] & 0x7f);
rule += 2;
static char *flag_chars = "ei vtfq t";
flags = ((rule[0] & 0x7f)<< 8) + (rule[1] & 0x7f);
suffix_char = 'S';
if(flags & (SUFX_P >> 8))
suffix_char = 'P';
sprintf(suffix,"%c%d",suffix_char,rule[2] & 0x7f);
rule += 3;
for(ix=0;ix<9;ix++)
{
if(flags & 1)
sprintf(&suffix[strlen(suffix)],"%c",flag_chars[ix]);
flags = (flags >> 1);
}
strcpy(p,suffix);
p += strlen(suffix);
c = ' ';

+ 2
- 0
src/espeakedit.cpp View File

@@ -209,6 +209,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame)
EVT_MENU(MENU_VOWELCHART2, MyFrame::OnTools)
EVT_MENU(MENU_VOWELCHART3, MyFrame::OnTools)
EVT_MENU(MENU_LEXICON_RU, MyFrame::OnTools)
EVT_MENU(MENU_LEXICON_DE, MyFrame::OnTools)
EVT_MENU(MENU_TO_UTF8, MyFrame::OnTools)
EVT_MENU(MENU_COUNT_WORDS, MyFrame::OnTools)
EVT_MENU(MENU_TEST, MyFrame::OnTools)
@@ -428,6 +429,7 @@ void MyFrame::OnTools(wxCommandEvent& event)
break;

case MENU_LEXICON_RU:
case MENU_LEXICON_DE:
CompareLexicon(event.GetId()); // Compare a lexicon with _rules translation
break;


+ 213
- 0
src/extras.cpp View File

@@ -193,6 +193,216 @@ static const unsigned short KOI8_R[0x60] = {
#define N_CHARS 34
int *p_unicode;
int unicode[80];
#define PH(c1,c2) (c2<<8)+c1 // combine two characters into an integer for phoneme name



void DecodePhonemes2(const char *inptr, char *outptr)
//===================================================
// Translate from internal phoneme codes into phoneme mnemonics
{
unsigned char phcode;
unsigned char c;
unsigned int mnem;
PHONEME_TAB *ph;
const char *p;
int ix;
int j;
int start;
static const char *stress_chars = "==,,'* ";

unsigned int replace_ph[] = {',',PH('@','-'),'W','3','y',PH('A',':'),'*',PH('_','!'),PH('_','|'),PH('O','I'),PH('Y',':'),PH('p','F'),0};
const char *replace_ph2[] = {NULL,NULL, "9","@r","Y", "a:", "r", "?", "?", "OY", "2:", "pf" ,NULL};


start = 1;
for(ix=0; (phcode = inptr[ix]) != 0; ix++)
{
if(phcode == 255)
continue; /* indicates unrecognised phoneme */
if((ph = phoneme_tab[phcode]) == NULL)
continue;
if((ph->type == phSTRESS) && (ph->std_length <= 4) && (ph->spect == 0))
{
if(ph->std_length > 3)
*outptr++ = stress_chars[ph->std_length];
}
else
{
mnem = ph->mnemonic;
if(ph->type == phPAUSE)
{
if(start)
continue; // omit initial [?]

if(inptr[ix+1] == phonSCHWA_SHORT)
continue; // omit [?] before [@-*]
}

start = 0;
p = NULL;

for(j=0;;j++)
{
if(replace_ph[j] == 0)
break;

if(mnem == replace_ph[j])
{
p = replace_ph2[j];
if(p == NULL)
mnem = 0;
break;
}
}

if(p != NULL)
{
while((c = *p++) != 0)
{
*outptr++ = c;
}
}
else
if(mnem != 0)
{
while((c = (mnem & 0xff)) != 0)
{
*outptr++ = c;
mnem = mnem >> 8;
}
}
}
}
*outptr = 0; /* string terminator */
} // end of DecodePhonemes


void Lexicon_De()
{//==============
// Compare eSpeak's translation of German words with a pronunciation lexicon
FILE *f_in;
FILE *f_out;
int ix;
int c;
char *p;
int stress;
int count=0;
int start;
int matched=0;
char buf[120];
char word[80];
char word2[80];
char type[80];
char pronounce[80];
char pronounce2[80];
char phonemes[80];
WORD_TAB winfo;

static char *vowels = "aeiouyAEIOU29@";

wxString fname = wxFileSelector(_T("German Lexicon"),wxString(path_home,wxConvLocal),
_T(""),_T(""),_T("*"),wxOPEN);

strcpy(buf,fname.mb_str(wxConvLocal));
if((f_in = fopen(buf,"r")) == NULL)
{
wxLogError(_T("Can't read file ")+fname);
return;
}
if((f_out = fopen("compare_de","w")) == NULL)
{
wxLogError(_T("Can't write file "));
return;
}
LoadVoice("de",0);

word2[0] = ' ';
while(!feof(f_in))
{
count++;

if(fgets(buf,sizeof(buf),f_in) == NULL)
break;

sscanf(buf,"%s\t%s\t%s",word,type,pronounce);

// convert word to lower-case
for(ix=0, p=&word2[1];;)
{
ix += utf8_in(&c,&word[ix],0);
c = towlower(c);
p += utf8_out(c,p);
if(c == 0)
break;
}
strcpy(word,&word2[1]);
strcat(&word2[1]," ");

// remove | syllable boundaries
stress=0;
start=1;
for(ix=0, p=pronounce2;;ix++)
{
c = pronounce[ix];
if(c == '\'')
{
stress=4;
continue;
}
if(c == ',')
{
stress=3;
continue;
}
if(c == '|')
continue;

if((c == '?') && start)
continue; // omit initial [?]

start =0;
if(stress && (strchr(vowels,c) != NULL))
{
if(stress == 4)
*p++ = '\'';
if(stress == 3)
*p++ = ',';
stress = 0;
}

*p++ = c;
if(c == 0)
break;

if(strchr("eiouy",c) && pronounce[ix+1] != ':')
*p++ = ':'; // ensure [;] after these vowels
}

// translate
memset(&winfo,0,sizeof(winfo));
translator->TranslateWord(&word2[1],0,&winfo);

DecodePhonemes2(translator->word_phonemes,phonemes); // also need to change some phoneme names

if(strcmp(phonemes,pronounce2) == 0)
{
matched++;
}
else
{
if(strlen(word) < 8)
strcat(word,"\t");
fprintf(f_out,"%s\t%s\t%s\n",word,phonemes,pronounce2);
}
}

fclose(f_in);
fclose(f_out);
wxLogStatus(_T("Completed, equal=%d different=%d"),matched,count-matched);
}


void Lexicon_Ru()
@@ -497,6 +707,9 @@ void CompareLexicon(int id)
case MENU_LEXICON_RU:
Lexicon_Ru();
break;
case MENU_LEXICON_DE:
Lexicon_De();
break;
}
} // end of CompareLexicon


+ 1
- 0
src/main.h View File

@@ -157,6 +157,7 @@ enum {
MENU_VOWELCHART3,
MENU_LEXICON,
MENU_LEXICON_RU,
MENU_LEXICON_DE,
MENU_TO_UTF8,
MENU_COUNT_WORDS,
MENU_TEST,

+ 1
- 0
src/menus.cpp View File

@@ -106,6 +106,7 @@ wxMenuBar *MakeMenu(int type)

lexicon_menu = new wxMenu;
lexicon_menu->Append(MENU_LEXICON_RU, _T("Russian (lexicon.dict)"));
lexicon_menu->Append(MENU_LEXICON_DE, _T("German"));

tools_menu = new wxMenu;
tools_menu->Append(MENU_VOWELCHART, _T("Make &Vowels Chart"), vowelchart_menu);

+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.25.16 02.Jun.07";
const char *version_string = "1.25.17 04.Jun.07";
const int version_phdata = 0x012514;

int option_device_number = -1;

Loading…
Cancel
Save