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

z.b tsUmb'aISpi:l 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 // definite article
der %dE* der %dE*
die %di: die %di:
also $pause $strend also $pause $strend
wenn ,vEn $pause $strend wenn ,vEn $pause $strend
sowie $2 $pause sowie $2 $pause

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


// prepositions // prepositions
sollte ,zOlt@ sollte ,zOlt@
sollten ,zOlt@n 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

a (C% a a (C% a
a (CC a a (CC a
a (sch a a (sch a
a (x a
&CC) a (_ =A: &CC) a (_ =A:


ai aI ai aI
ay aI ay aI
au aU au aU


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


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


_) b (eul b _) b (eul b
_) b (eut b _) b (eut b


_o) b (C p
baby _^_EN baby _^_EN
beten be:t@n beten be:t@n
_) bike _^_EN _) bike _^_EN
u) ch x u) ch x
äu) ch C äu) ch C
eu) 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@-* _) chr k@-*
chs ks chs ks
ck k ck k
chip _^_EN chip _^_EN
_) ch (ol k _) ch (ol k
_) ch (or k _) ch (or k
@) chen (_$4 C@n
bre) ch (en x bre) ch (en x
spro) ch (en x // not spro-chen
wo) ch (en+ x
nä) chs (t Cs nä) chs (t Cs
coat (_ _^_EN coat (_ _^_EN
_) code ko:t _) code ko:t
d d d d
d) d d) d
d (_N t d (_N t
d (h t
d (s_ t d (s_ t
dt t dt t
ddt t ddt t
_) deal _^_EN _) deal _^_EN
design _^_EN design _^_EN
dge (_ _^_EN dge (_ _^_EN
_) dia d,i:a
drive _^_EN drive _^_EN
_) drug _^_EN _) drug _^_EN


e (C% E e (C% E
e (CC E e (CC E
e (sch E e (sch E
e (x E


ei aI ei aI
eu OI eu OI
ey (_ e: ey (_ e:


ell (_ 'El ell (_ 'El
&) e (_$1 @
&) e (_S1 @
@t) e (_S1 @ @t) e (_S1 @
&) e (BB_ E2 &) e (BB_ E2
e (gt_+ e: e (gt_+ e:
&) el (_ @l &) el (_ @l
&) em (_$2 @m
@) en (_$2 @n
&) eln (_S1 n
&) em (_S2 @m
@) en (_S2 @n
@) er (C 3 @) er (C 3
@) er (r E* @) er (r E*
@) er (nC 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 (C_ @*
&) er (n_ @r &) er (n_ @r
&) er (r_ E &) er (r_ E
w) er (k_ E* w) er (k_ E*
@) es (_$2 @s
@) es (_S2 @s
&) et (_ @t &) et (_ @t
Ad) ent (_ 'Ent
@) ent (_ 'Ent
@m) ent (_ 'Ent @m) ent (_ 'Ent
@m) ente (_ 'Ent@ @m) ente (_ 'Ent@
&) est (_ @st &) est (_ @st


_) ein (@P3 'aIn _) ein (@P3 'aIn
ein (and _|%aIn ein (and _|%aIn
_) einig aInIg
_) emp (@P3 _|%Emp _) emp (@P3 _|%Emp
_) ent (@P3 _|%Ent _) ent (@P3 _|%Ent
_) enten Ent@n _) enten Ent@n


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




.group f .group f
g g g g
g) g g) g
g (_N k g (_N k
g (h k
gd (_N kt gd (_N kt
gt (_N kt gt (_N kt


_) hinge (@P5 h'Ing@ _) hinge (@P5 h'Ing@


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

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


@) i (at_ I
&) ie (ll_ i:,E &) ie (ll_ i:,E
&) ier (_ 'i:3 &) ier (_ 'i:3
r) ien (@ IEn r) ien (@ IEn
ierung 'i:*UN ierung 'i:*UN


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


bakter) ie =I@ bakter) ie =I@
formal) ie =I@ formal) ie =I@
stud) ie (_ =I@ stud) ie (_ =I@


igh aI
@) ing (_N _^_EN @) ing (_N _^_EN
@) ion (_ j'o:n @) ion (_ j'o:n
@) ional (_ jo:n,al @) ional (_ jo:n,al
@) is (_ Is @) is (_ Is
&) isch (_ =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 .group j
_) j (_ jOt _) j (_ jOt
k k k k
k) k k) k


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


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



.group l .group l
_) l (_ El _) l (_ El
l) l l) l
lin (_ l'i:n lin (_ l'i:n


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


o (C% O o (C% O
o (CC O o (CC O
o (sch O o (sch O
o (x O
&CC) o (_ =o: &CC) o (_ =o:


_) ober (@P4 _|,o:b3 _) ober (@P4 _|,o:b3
A) s (_N s A) s (_N s
A) s (_ z A) s (_ z
ss s ss s
sst (@ sSt


p) s (a s
sch S sch S
sch (en_ sC sch (en_ sC
_) sh S _) sh S
sh (K S sh (K S
p) s (i s
t) s (i s
k) s (i s
_) sp Sp _) sp Sp
_be) sp Sp _be) sp Sp
_ge) sp Sp _ge) sp Sp
u (C% U u (C% U
u (CC U u (CC U
u (sch U u (sch U
u (x U
@) u (ng U @) u (ng U


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




y y: y y:
y (CC y y (CC y
y (x y
y (A j y (A j
@) y (_ I @) y (_ I
t) y (_ _^_EN t) y (_ _^_EN
ü (C% y ü (C% y
ü (CC y ü (CC y
ü (sch y ü (sch y
ü (x y


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



+ 6
- 6
dictsource/dict_phonemes View File

* : b c C d dZ f * : b c C d dZ f
g h j J k l m n g h j J k l m n
N n^ p r R s S s2 N n^ p r R s S s2
t tS ts v z Z
t tS ts v z Z z2




Dictionary it_dict Dictionary it_dict


@ @- @I @U a aI aU e @ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI 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; * *; b b; c C d d;
dZ f f; g h j k l dZ f f; g h j k l
l; m m; n N n; p p; 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 Dictionary is_dict

+ 3
- 2
dictsource/en_rules View File

_) ++ (_ plVspl'Vs _) ++ (_ plVspl'Vs
\+\+\+) + // ignore + after the first 3 \+\+\+) + // ignore + after the first 3


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


. d0t . d0t
D) . (D+ ,pOInt D) . (D+ ,pOInt

+ 18
- 19
dictsource/hu_rules View File

zs Z zs Z
zzs 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 .group

+ 4
- 0
dictsource/is_list View File



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

bolla bOll&
halló h&lloU
mylla mIll&

+ 197
- 23
dictsource/ro_list View File

acel $u+ // that acel $u+ // that
acea $u+ // that acea $u+ // that
acei $u+ // those acei $u+ // those
acele $u1+ // those
acele $u2+ // those


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



// pronouns // pronouns
eu jeU $u+ eu jeU $u+
însuşi $u1+ însuşi $u1+
ânsăşi $u1+ ânsăşi $u1+
însumi $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 // possessive adjectives
fie fie $u // either fie fie $u // either
însă $pause // but, yet, however însă $pause // but, yet, however
atunci $pause // therefore atunci $pause // therefore
(de atunci) d%e||at'untSi $pause // since then
(de atunci) d%e||at'untSI^ $pause // since then
nici $pause // neither nici $pause // neither
deci $pause // therefore, so that deci $pause // therefore, so that
fiindcă $pause // because, since, as fiindcă $pause // because, since, as
afurisi $4 afurisi $4
agonisi $4 agonisi $4
ameţi $3 ameţi $3
amuţi $3

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

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

căzni $2
catadicsi $4 catadicsi $4
cerşi $2 cerşi $2
ciocni $2
citi $2 citi $2
cloci $2 cloci $2
cuveni $3 cuveni $3
dărui d@*w'i dărui d@*w'i
deosebi $3 deosebi $3
depăsi $3
depăşi $3
descoperi $4 descoperi $4
desluşi $2
desluşi $3
deveni $3 deveni $3
dormi $2 dormi $2
feri $2 feri $2
încreţi $3 încreţi $3
înghiţi $3 înghiţi $3
îngriji $3 îngriji $3

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

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

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

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

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

primi $2 primi $2

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

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

rosti $2
rostogoli $4
rotunji $3

săvârşi $3 săvârşi $3
sclifosi $3 sclifosi $3
sfârşi $2 sfârşi $2
urzi $2 urzi $2
veşteji $3 veşteji $3
vrăji $2 vrăji $2
vorbi $2





// final "a" or "ea" is stressed(verbs) // 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 agonisea $2
agrea ag@-*e'a agrea ag@-*e'a
ajuta $3 ajuta $3
căuta $2 căuta $2
cerşea $2 cerşea $2
continua kontinu'a continua kontinu'a

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

depăsea $3
depista $3 depista $3
desfunda $2 desfunda $2
distra $2 distra $2
memora $2 memora $2
mergea $2 mergea $2
merita $3 merita $3

murea $2
negocia negotSi'a negocia negotSi'a
oferea $3

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

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

pornea $2
povestea $2 povestea $2
prepara $3 prepara $3
prelungea $3
răbda $2 răbda $2
răcea $2 răcea $2
rămânea $3 rămânea $3
respira $3 respira $3
reuşea $3 reuşea $3
revenea $2 revenea $2

rostea $2
săpa $2 săpa $2

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

sosea $2
spăla $2 spăla $2
spera $2 spera $2
stăpânea $2 stăpânea $2
(să l) s@l $u (să l) s@l $u
(să i) s@I $u (să i) s@I $u
(să şi) s@S;I^ $u (să şi) s@S;I^ $u
(care l) carel $u
(care l) karel $u
(să mi) s@m;I^ $u (să mi) s@m;I^ $u
(te am) team $u (te am) team $u
(te ai) teaj $u (te ai) teaj $u
(l am) lam $u (l am) lam $u
(l aţi) lats;I^ $u (l aţi) lats;I^ $u
(v aţi) vats;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 (i am) jam $u
(a şi) aS;I^ $u (a şi) aS;I^ $u
(într o) ynt@-*o (într o) ynt@-*o
abzice $2 abzice $2
acelaş $2 acelaş $2
adventice $3 adventice $3
africa $1
africii $1

aer aIer aer aIer
aici a'itSI^ aici a'itSI^

alegem $2
alegeţi $2
altceva $3 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 america $2
americii $2 americii $2
americile $2 americile $2
apoi $2 apoi $2

aprig $1
aprige $1
aprigi $1
artefice $3 artefice $3
asemenea $2 asemenea $2
adu $1 adu $1
câtorva $3 câtorva $3
cerbice $2 cerbice $2
ceva $2 ceva $2
cicatrice $3 // @-
cicatrice $3
cineva $3 cineva $3
chimi $alt chimi $alt
chimic $1 chimic $1
complice $2 complice $2
contrazice $3 contrazice $3
consideră $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 deja $2
denzic $2 denzic $2
denzice $2 denzice $2
egale $2 egale $2
energi $alt energi $alt
elice $2 elice $2

expedia $3
exista $3 exista $3


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

fenicşi $1 fenicşi $1
fenix $1 fenix $1
ferice $1 ferice $1


imagin $2 imagin $2
înainte yna'inte î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ături $3
legătură $3
legăturile $3 legăturile $3

legăturilor $3
înjurătură $4 înjurătură $4
înjurături $4 înjurături $4
înjurăturile $4 înjurăturile $4
matrice $2 matrice $2
maxim $1 maxim $1
maximum $1 maximum $1

mergem $1
mergeţi $1
merit $1 merit $1
mia m'ia mia m'ia
mie m'ie mie m'ie
murdărie murd@*'ie murdărie murd@*'ie
muzik $1 muzik $1
mării $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 nimic $2
novice $2 novice $2
numărul $1 numărul $1


oameni $1 oameni $1
oareşice oa*eSTSe $4

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

omăt $2
ordin $1 ordin $1

ordinul $1
ordinului $1
ordinelor $1
ordinele $1
dezordine $2 dezordine $2
orice o*I^tSe $2 orice o*I^tSe $2
oricare o*I^ka*e $3 oricare o*I^ka*e $3
polonic $3 polonic $3
polonicul $3 polonicul $3
politic $2 politic $2

pretutindeni $3
pricin $1 pricin $1
prieten $2 prieten $2
prietenie p@-*jeten'ie prietenie p@-*jeten'ie
propice $2 propice $2
protocol $4 protocol $4
promitem $2 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 regul $1
reguli $1 reguli $1
repede $1 repede $1
sergiu s'ergju sergiu s'ergju
sigur $1 sigur $1
simbolic $2 simbolic $2

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


tanti tanti tanti tanti

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



ultim $1 ultim $1

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


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

vineri $1 vineri $1
vinovăţi $alt vinovăţi $alt
vinovăţii $4 vinovăţii $4


zarzări $1 zarzări $1




+ 71
- 19
dictsource/ro_rules View File


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


ăi (t_ @'i ăi (t_ @'i
ăi (ţi_ @'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 ări (A_ @*'i
ării (_ @*'iI ării (_ @*'iI
ări (AA_ @*'i ări (AA_ @*'i
ch k ch k
@@) col (_ =kol @@) col (_ =kol
@@) coli (_S1t =I^ @@) coli (_S1t =I^
@@) cole (_S1t =e
@@) cole (_S1t e



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


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

@) eşul (_ =eSul
@) eşi (_ =eSI^
@) eşului (_ =eSuluI
@) eşilor (_ =eSilor
// &) es (_S1q e // &) es (_S1q e
&C) e (re_ %e &C) e (re_ %e
i) e (rea_ e i) e (rea_ e





eoa eO'a
.group f .group f
f f f f
@) f (i_ f; @) f (i_ f;
&C) i (_N$1q i/ &C) i (_N$1q i/
&) i (_N$1q i &) i (_N$1q i
&) i (-N$1q i // don't reduce to [I^] if a hyphen follows &) 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] ţi-) i (_ _ // combined with previous word as [iI]
Cr) i (_ i Cr) i (_ i
V&) i (_ 'i // verb V&) i (_ 'i // verb
ăC) ia (_ 'ia ăC) ia (_ 'ia
âC) ia (_ 'ia âC) ia (_ 'ia
ăC) ie (_ 'ie
ăC) ie (_ 'ie
âC) ie (_ 'ie âC) ie (_ 'ie
@) ie (_S1q =ie
iei (_ 'ieI
@) ie (_S1q ie
iei (_ 'ieI
ii iI ii iI
&) ii (_S2q iI &) ii (_S2q iI
iii iji iii iji


i (t_ 'i i (t_ 'i



ioa iO'a
.group î .group î
î y î y






@) î (_ 'y @) î (_ 'y

.group j .group j
j Z j Z
@) j (i_ Z; @) j (i_ Z;
-) mi (_ mi/ -) mi (_ mi/





.group n .group n
_) n (_ ne _) n (_ ne
n n n n
_) n (-a n _) n (-a n





-) n (_ n
.group o .group o
o o o o
oa Oa oa Oa
o (AAA o o (AAA o





@) oi (t_ o'i
@) oi (tă_ o'i
@) oi (ţi_ o'i
@) oi (te_ o'i
.group p .group p
p p p p
@) p (i_ p; @) p (i_ p;
@u) rile (_S4t rile @u) rile (_S4t rile





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

.group s .group s
_) s (_ se _) s (_ se
_) s (-a s _) s (-a s


&) sprezece (_S8t sp@-*ez,etSe &) 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 ş .group ş
ş S ş S
@) ş (i_ S; @) ş (i_ S;







@) şni (_ Sn'i
-) şi (_ SI^
.group t .group t
t t t t
tt (_ t tt (_ t
u (A w u (A w
ui uI ui uI
ui (e wi 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) ul (_S2 ul
@ic) uri (_S3 urI^ @ic) uri (_S3 urI^
@ic) urilor (_S6 urilor @ic) urilor (_S6 urilor





.group v .group v
v v v v
@) v (i_ v; @) v (i_ v;
**) * (_ _:: **) * (_ _::






+ 6
- 6
phsource/compile_report View File

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

+ 7
- 0
phsource/ph_german View File

vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 240 length 240
formants vowel/aa_6 formants vowel/aa_6
reduceto a 4 // ??
endphoneme

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





+ 8
- 0
phsource/ph_hungarian View File

endphoneme 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

int match_type; int match_type;
int finished=0; int finished=0;
int value; int value;
int flags;
int suffix_char;
int condition_num=0; int condition_num=0;
char buf[60]; char buf[60];
char buf_pre[60]; char buf_pre[60];
char suffix[12];
char suffix[20];
static char output[60]; static char output[60];


static char symbols[] = {' ',' ',' ',' ',' ',' ',' ',' ',' ', static char symbols[] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',
if(rb == RULE_ENDING) 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); strcpy(p,suffix);
p += strlen(suffix); p += strlen(suffix);
c = ' '; c = ' ';

+ 2
- 0
src/espeakedit.cpp View File

EVT_MENU(MENU_VOWELCHART2, MyFrame::OnTools) EVT_MENU(MENU_VOWELCHART2, MyFrame::OnTools)
EVT_MENU(MENU_VOWELCHART3, MyFrame::OnTools) EVT_MENU(MENU_VOWELCHART3, MyFrame::OnTools)
EVT_MENU(MENU_LEXICON_RU, 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_TO_UTF8, MyFrame::OnTools)
EVT_MENU(MENU_COUNT_WORDS, MyFrame::OnTools) EVT_MENU(MENU_COUNT_WORDS, MyFrame::OnTools)
EVT_MENU(MENU_TEST, MyFrame::OnTools) EVT_MENU(MENU_TEST, MyFrame::OnTools)
break; break;


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



+ 213
- 0
src/extras.cpp View File

#define N_CHARS 34 #define N_CHARS 34
int *p_unicode; int *p_unicode;
int unicode[80]; 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() void Lexicon_Ru()
case MENU_LEXICON_RU: case MENU_LEXICON_RU:
Lexicon_Ru(); Lexicon_Ru();
break; break;
case MENU_LEXICON_DE:
Lexicon_De();
break;
} }
} // end of CompareLexicon } // end of CompareLexicon



+ 1
- 0
src/main.h View File

MENU_VOWELCHART3, MENU_VOWELCHART3,
MENU_LEXICON, MENU_LEXICON,
MENU_LEXICON_RU, MENU_LEXICON_RU,
MENU_LEXICON_DE,
MENU_TO_UTF8, MENU_TO_UTF8,
MENU_COUNT_WORDS, MENU_COUNT_WORDS,
MENU_TEST, MENU_TEST,

+ 1
- 0
src/menus.cpp View File



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


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

+ 1
- 1
src/synthdata.cpp View File

#include "translate.h" #include "translate.h"
#include "wave.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; const int version_phdata = 0x012514;


int option_device_number = -1; int option_device_number = -1;

Loading…
Cancel
Save