Browse Source

[1.26.02] SelectVoice(), make voice_variants[] static.

lang=de  many translation improvements.
TranslateWord(), check that a prefix rule is still allowed after a suffix has been removed.


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

+ 55
- 16
dictsource/de_list View File

das %das das %das
den %de:n den %de:n
dem %de:m dem %de:m
des %dEz
des %dEs


derselb $2 derselb $2
desselb dEss'Elb desselb dEss'Elb
ab ap $u+ $brk ab ap $u+ $brk
an an $u+ $brk an an $u+ $brk
am am $u+ $brk am am $u+ $brk
auf aUf $u+ $brk
auf aUf $u+ $pause
aus ,aUs $brk $strend aus ,aUs $brk $strend
bei baI $u+ $pause $only bei baI $u+ $pause $only
beim baIm $u+ $brk
bis bIs $u+ $pause bis bIs $u+ $pause
da $u+ da $u+
durch $u+ $pause durch $u+ $pause
vom fOm $u+ $brk vom fOm $u+ $brk
vor ,fO* $strend vor ,fO* $strend
zu tsu: $u+ $brk zu tsu: $u+ $brk
zum tsUm $u+ $brk
zur tsu:* $u+ $brk
zum tsUm $u+ $pause
zur tsu:* $u+ $pause
über ,yb3 $pause $strend über ,yb3 $pause $strend
unter ,Unt3 $pause $strend unter ,Unt3 $pause $strend
um Um $u+ $brk um Um $u+ $brk
(noch nicht) n'Ox||n,ICt $brk (noch nicht) n'Ox||n,ICt $brk
(nicht mehr) n'ICt||,me:* (nicht mehr) n'ICt||,me:*
(nicht mehr) n,ICt||m'e:* $atend (nicht mehr) n,ICt||m'e:* $atend
(nicht nur) nICt||nu:* $pause
(nicht nur) n'ICt||n'u:* $pause
(gar nicht) g,A:*n'ICt (gar nicht) g,A:*n'ICt


// should these be in the Rules because they can be a prefix in a // should these be in the Rules because they can be a prefix in a
sind %zInt sind %zInt
seit %zaIt $only seit %zaIt $only


gehen ge:@n $only
geht ge:t $only
gehe ge:@ $only

habe %hA:b@ $only habe %hA:b@ $only
habst %habst $only habst %habst $only
hast %hast $only hast %hast $only
byte _^_EN byte _^_EN
camcorder _^_EN camcorder _^_EN
chart _^_EN chart _^_EN
chat _^_EN
coach _^_EN coach _^_EN
coke _^_EN coke _^_EN
computer _^_EN computer _^_EN
plot _^_EN plot _^_EN
poster _^_EN poster _^_EN
receiver _^_EN receiver _^_EN
research _^_EN
remake _^_EN remake _^_EN
roadie _^_EN roadie _^_EN
roastbeef _^_EN roastbeef _^_EN
// Main exceptions list // Main exceptions list
//===================== //=====================
abort ab'O*t abort ab'O*t
absentier apzEnt'i:*
abstinent $3
achsig 'aksIC2
akazie $alt
allein $2 allein $2
andre and@-*@ // andere andre and@-*@ // andere
anomalie $2 anomalie $2
akazie $alt
antik ant'i:k
archaik a*k'A:Ik
arie $alt arie $alt
arterie $alt arterie $alt
asphalt $2
außerdem aUs3de:m außerdem aUs3de:m
aventurin avEntu:*'i:n
avenue av@n'y:


balkan $1
balkon $2
beben be:b@n beben be:b@n
beere be:*@ beere be:*@
bestie bEstI@ bestie bEstI@
best bEst best bEst
beten be:t@n beten be:t@n
bizarr $2
bronchie $alt bronchie $alt


changier SaNZ'i:*
ciao tSaU ciao tSaU
coup ku: coup ku:


direkt $2 direkt $2
dritte d@-*It@ dritte d@-*It@


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

endlich EntlIC
episkopal e:pIsko:p'A:l
erde e:*d@
erst e:*st
ersten e:*st@n
erstmal e:*stma:l
extrem Ekstr'e:m

feuerrot $3
furie $alt furie $alt


geben ge:b@n geben ge:b@n
geber ge:b3
gebt ge:bt
gegenüber ge:g@n'y:b3 gegenüber ge:g@n'y:b3
gemein g@maIn gemein g@maIn
genial ge:nI'al genial ge:nI'al
hostie $alt hostie $alt


immobilie $alt immobilie $alt
indem Ind'e:m
inden Ind'e:n
inder Ind3
indes Ind'Es
indessen Ind'Es@n
injurie $alt injurie $alt
insbesondere $3 insbesondere $3
interess Int@*'Es interess Int@*'Es
kamelie $alt kamelie $alt
kastanie $alt kastanie $alt
kid kId kid kId
kommend kOm'End
kommend kOm'@nd
komödie $alt komödie $alt
konkret k%ONk@-*e:t konkret k%ONk@-*e:t
kurie $alt kurie $alt
marginalie $alt marginalie $alt
materie $alt materie $alt
menuette mEnu:'Et menuette mEnu:'Et
minut $2
mikrofiche maIk@-*o:fIS mikrofiche maIk@-*o:fIS
miteinander $1 miteinander $1
mitte mIt@ mitte mIt@
modell mo:d'El
mumie $alt mumie $alt


nebulos $3

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


passage pas'aZ@
petersilie $alt petersilie $alt
pinie $alt pinie $alt
planet plan'Et
pochier pOS'i:*
pochs pOxs
präsident $3 präsident $3
prämie $alt prämie $alt
problem p@-*Obl'e:m problem p@-*Obl'e:m
sogar $2 sogar $2
soweit $2 soweit $2
sowohl $2 sowohl $2
spinozaisch spi:n'o:tsaIS
stalagmit stalagm'It
system z%IstEm system z%IstEm


tag tA:g tag tA:g
the D@ // English the D@ // English
theater te:'A:t3 theater te:'A:t3
train t@-*e:n
tuerei tu:*aI tuerei tu:*aI


unten Unt@n unten Unt@n
woher vo:h'e:r woher vo:h'e:r


verein fE*'aIn verein fE*'aIn
vielbesprochen $3
vielleicht $2 vielleicht $2
vorbei fO*b'aI
vorbei fo:*b'aI
vorher fo:*h'e:*
vorherig fo:*h'e:*IC
vorig fo:*IC


//wahrscheinlich $2 //wahrscheinlich $2
warum vA:*'Um warum vA:*'Um

+ 330
- 72
dictsource/de_rules View File



.group a .group a
_) a (_ A: _) a (_ A:
a A:
a A
aa A: aa A:
ah (+ A: ah (+ A:
ael A:El ael A:El
ay aI ay aI
au aU au aU


ab (t_ A:p
ag (t_ A:k

_) ab (C@P2 _!'ap _) ab (C@P2 _!'ap
_) ab (arP2 _!'ap _) ab (arP2 _!'ap
_) ab (nor %ap
_) ab (or ap_|
_) ab (sor %ap
_) ab (str %ap
_) ab (sur %ap
_) abb (a %ab _) abb (a %ab
_) abb (rev ab _) abb (rev ab
_) abd (+ apd
_) abend A:b@nt _) abend A:b@nt
_) aberr ab_|E*
_) ab (er@P2 'ap _) ab (er@P2 'ap
_) abge (@ 'abg@
_) ab (i ab
_) abzu 'abtsu:
_) ab (i ap
_) ab (j ap
_) ab (se ap
_) ab (so %ap
_) ab (sz ap
_) abzu 'aptsu:
_) ac (et ats
_) ad (ju at
_) an (@P2 _!'an _) an (@P2 _!'an
_) an (aly %an
_) an (a %an
_) a (natioP1 'A:
_) anath anat
_) an (der an _) an (der an
_) anti (@P4 ,antI _) anti (@P4 ,antI
_) an (tw an _) an (tw an
_) auf (@P3 _!'aUf _) auf (@P3 _!'aUf
_) aus (@P3 _!'aUs _) aus (@P3 _!'aUs


a (_ A:
a (C_ A:
s) a (g A:
@l) a (g A:
scl) a (g A:
s) a (m_ A:
s) a (mkeit A:
a (isier a
_) achs (@P4 'aks
_) achs (el 'aks
_) air _^_EN _) air _^_EN
ai (sch A:I
tr) ain En
akqu %akv akqu %akv
@A) al (_ 'al
@) an (_ 'an
@A) al (_ 'A:l
k) al (_ 'A:l
n) al (_ 'A:l
&kan) al (_ ,A:l
&sign) al (_ ,A:l
@) an (_ 'A:n
ein) an (der 'an
@) ant (_ 'ant @) ant (_ 'ant
_) anthropo ,ant@-*o:p%o: _) anthropo ,ant@-*o:p%o:
_) anti (@P4 ,anti: _) anti (@P4 ,anti:
anier (_ 'A:ni:3
arier (_ 'A:*i:3
adier (_ 'A:di:3
anier (_N 'A:ni:3
_) appe (ll@ ,apE
_) archa (i %a*CA
arier (_N 'A:*i:3
@l) ar (_ 'A:*
@t) ar (_ 'A:*
a (rch_ 'A:
@) at (_ 'A:t @) at (_ 'A:t
@) atisch (_S6 'A:tIS @) atisch (_S6 'A:tIS
@) atisieren (_S9 A:tIs'i:*@n @) atisieren (_S9 A:tIs'i:*@n
a (tion a a (tion a
_) au (Ceinand aU
_) aufent aUf@nt
_) authen aUtEn


.group b .group b
_) b (_ be: _) b (_ be:


_) be (@P2 b@ _) be (@P2 b@
&Cen) be (C@ b@ &Cen) be (C@ b@
ungs) be (C@ b@
_) b (eHC b _) b (eHC b
_) be (C% bE _) be (C% bE
_) bei (P3 b'aI _) bei (P3 b'aI
_) bei (de baI _) bei (de baI
_) bei (ne baI
_) bei (ß baI
_) beo (b b,@o: _) beo (b b,@o:


_) ba (lA b%a
_) ba (ll@ b%a
&) bar (_S3 bA:*
_) b (ebC b _) b (ebC b
_) b (ecC b _) b (ecC b
_) b (eet b _) b (eet b
_) b (esen b _) b (esen b
_) b (ess b _) b (ess b
_) b (esten b _) b (esten b
bestia bEsti:'A:
_) b (eug b _) b (eug b
_) b (eul b _) b (eul b
_) b (eut b _) b (eut b
_) blue _^_EN _) blue _^_EN
board _^_EN board _^_EN
_) boom _^_EN _) boom _^_EN
bo (sh bo:


.group c .group c
_) c (_ se: _) c (_ se:
a) ch x a) ch x
o) ch x o) ch x
u) ch x u) ch x
fu) ch (s k
äu) ch C äu) ch C
eu) ch C eu) ch C
C) chen (_$4 C@n C) chen (_$4 C@n
ä) chen (_$4 C@n ä) chen (_$4 C@n
e) chen (_$4 C@n e) chen (_$4 C@n
i) chen (_$4 C@n
// i) chen (_$4 C@n
ü) chen (_$4 C@n ü) chen (_$4 C@n


_) chr k@-* _) chr k@-*
chs ks
chs ks (_
ck k ck k


_) c (el S _) c (el S
_) cey tsaI _) cey tsaI
chat _^_EN
chef SEf chef SEf
_) c (ent ts _) c (ent ts
_) ch (il S _) ch (il S
chip _^_EN
chip (_ _^_EN
_) ch (ol k _) ch (ol k
_) ch (or k _) ch (or k


d) d d) d
d (_N t d (_N t
d (h t d (h t
d (s_ t
ds (_ ts
dt t dt t
ddt t ddt t


_) deal _^_EN _) deal _^_EN
_) deme de:mE
demo (g de:mo:
demo (k de:mo:
design _^_EN design _^_EN
dge (_ _^_EN dge (_ _^_EN
_) dia d,i:a _) dia d,i:a
eu OI eu OI
ey (_ e: ey (_ e:


eb (t_ e:p
eg (t_ e:k

ell (_ 'El ell (_ 'El
&) e (_S1 @ &) e (_S1 @
@t) e (_S1 @ @t) e (_S1 @
e (gt_+ e: e (gt_+ e:
&) el (_ @l &) el (_ @l
&) eln (_S1 n &) eln (_S1 n
&) em (_S2 @m
&) e (lt_ @
&) em (_NS2 @m
&) em (_ 'e:m
_) end (C@P3 'Ent
_) endo (@ ,Endo:
@) en (_S2 @n @) en (_S2 @n
&) end (_N @nt &) end (_N @nt
&) end (_ @nd &) end (_ @nd
ier) end (_NS3 @nt
ier) end (_ @nd
@) ent (_ 'Ent @) ent (_ 'Ent
@) entlich @ntl%IC
@m) ent (_ 'Ent @m) ent (_ 'Ent
@m) ente (_ 'Ent@ @m) ente (_ 'Ent@
@) er (C 3 @) er (C 3
&) erer (_S4 @*3 &) erer (_S4 @*3
&) eres (_S4 @*@s &) eres (_S4 @*@s
&) er (C_ @* &) er (C_ @*
&) er (n_ @r
er (d_ e:*
&) er (n_ @*
&) er (r_ E &) er (r_ E
w) er (k_ E* w) er (k_ E*
&) er (nd_ @*
@) erin (_ @rIn
@) es (_S2 @s @) es (_S2 @s
&) et (_ @t &) et (_ @t
ig) et (_S2 @t ig) et (_S2 @t
&t) et (_S2 @t &t) et (_S2 @t
ier) et (_S2 @t
&) est (_S3 @st &) est (_S3 @st
&) este (_S4 @st@ &) este (_S4 @st@
&) estem (_S5 @st@m &) estem (_S5 @st@m
&) en (@ E2n // [E2] can reduce to [@] &) en (@ E2n // [E2] can reduce to [@]
// &) er (C@ E2* // &) er (C@ E2*
&) el (@ E2l &) el (@ E2l
m) e (nt E


@) ei (_ 'aI @) ei (_ 'aI
@@) erisch @*IS @@) erisch @*IS
&) erung (_ =@*UN &) erung (_ =@*UN


_) eil (aP3 'aIl
_) eil (fP3 'aIl
_) ein (@P3 _!'aIn _) ein (@P3 _!'aIn
ein (and _|%aIn ein (and _|%aIn
_) eine (r@ aIn@
_) einig aInIg _) einig aInIg
mod) e (l@ E
s) e (lig e:
_) emp (@P3 _|%Emp _) emp (@P3 _|%Emp
_) emph (@ %Emf
_) emp (ir %Emp
_) ene (rg %e:nE
_) ent (@P3 _|%Ent _) ent (@P3 _|%Ent
_) enten Ent@n _) enten Ent@n
_) ent (er Ent _) ent (er Ent
_) epi (@ ,e:pi:
_) epi (sk e:pI
_) er (@P2 _|%E* _) er (@P2 _|%E*
_) er (gie E*
_) er (beK E*
_) er (HC E* // lC, mC, nC, rC _) er (HC E* // lC, mC, nC, rC
_) ergeb (nis E*g'e:b _) ergeb (nis E*g'e:b
_) er (stC E* _) er (stC E*
_) er (ste E* _) er (ste E*
_) er (ste@@P2 _|%E* _) er (ste@@P2 _|%E*
mod) er (n E*


_) entert _^_EN _) entert _^_EN
er (dig e:* er (dig e:*
_) erob (er %E*o:b _) erob (er %E*o:b
@) eur (_ 'Y:* @) eur (_ 'Y:*
euse (_ 'Y:z@
eusen (_ 'Y:z@n




.group f .group f
f f f f
f) f f) f


_) fest (P4 f'Est
_) faks (i f%akz
_) farb (C@P4 f'a*p
_) farb (l@P4 f'a*b
_) fein (@P4 f'aIn
_) fest (@P4 f'Est
_) flug fl'u:g _) flug fl'u:g
foto fo:to:
_) free _^_EN _) free _^_EN

_) feudal f%OIdA:l
_) feuer (@ fOI@*


.group g .group g
_) g (_ ge: _) g (_ ge:


_) g (eHC g // hC, lC, mC, nC, rC _) g (eHC g // hC, lC, mC, nC, rC
_) ge (@P2 g@ _) ge (@P2 g@
g (ei+ g
ungs) ge (C@ g@
_) ge (beX ge:
g (ei+ g


_) gn (A g@-n _) gn (A g@-n
B) gn (A g@-n B) gn (A g@-n
gegen (_ ge:g@n gegen (_ ge:g@n
gegn ge:gn gegn ge:gn
gehen ge:@n gehen ge:@n
_) geh (eX ge:
general ge:nE*'al general ge:nE*'al
_) g (ener g _) g (ener g
_) g (eo+ g _) g (eo+ g
_) ge (orP2 g@
ge (rman gE
ge (rät g@
@) ght (_ _^_EN @) ght (_ _^_EN
graph g@-*A:f
graph (_ g@-*'A:f
green _^_EN green _^_EN
guide _^_EN guide _^_EN


h) h h) h
ch) h h ch) h h


_) herauf (P6 hE*'aUf
_) herab (P5 hE*'ab _) herab (P5 hE*'ab
_) heran (P5 hE*'an
_) herauf (P6 hE*'aUf
_) heraus (P6 hE*'aUs _) heraus (P6 hE*'aUs
_) herbei (P6 hE*'baI _) herbei (P6 hE*'baI
_) herein (P6 hE*'aIn
_) herüber (P7 hE*'y:b3
_) herum (P5 hE*'Um _) herum (P5 hE*'Um
_) herunter (P8 hE*'Unt3
_) hervor (P6 hE*f'Or _) hervor (P6 hE*f'Or
_) hier (@ h%i:* _) hier (@ h%i:*

_) hinab (P5 hIn'ab _) hinab (P5 hIn'ab
_) hinan (P5 hIn'an
_) hinauf (P6 hIn'aUf _) hinauf (P6 hIn'aUf
_) hinaus (P6 hIn'aUs _) hinaus (P6 hIn'aUs
_) hinein (P6 hIn'aIn _) hinein (P6 hIn'aIn
_) hinunter (P8 hIn'Unt3
_) hinweg (P6 hInv'e:g _) hinweg (P6 hInv'e:g
_) hinzu (P5 hInts'u: _) hinzu (P5 hInts'u:

_) hinge (@P5 h'Ing@ _) hinge (@P5 h'Ing@
_) hinter (@P6 h,Int3


_) haupt (@@P5 h'aUpt _) haupt (@@P5 h'aUpt
// @) heit (_S4 haIt // @) heit (_S4 haIt
_) hero h%e:*o:
_) high _^_EN _) high _^_EN
_) hinter (@ h,Int3 _) hinter (@ h,Int3
_) hoch (@P4 h'o:x
hoch ho:x
_) hyper _^_EN _) hyper _^_EN




.group i .group i
_) i ( i: _) i ( i:
i i: i i:
ie i:
ih (+ i: ih (+ i:
ieh i:


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


@) i (at_ I
&) ie (ll_ i:,E
&) ier (_ 'i:3
r) ien (@ IEn
&) ien (_S1 n
&n) ien (_ I@n
&) iens (_ =I;@ns
&) ient (_ =I;@nt
sch) ie (n i:
@) ieren 'i:*@n
@) iere (_ 'i:*@
@) ieret (_ 'i:*@t
@) ierest (_ 'i:*@st
@) ierst (_ 'i:*st
@) iert (_ 'i:*t
ierungs 'i:*UNs
ierung 'i:*UN
ib (t_ i:p


@) i (at_ I
i (d_ 'i:
i (erin =i:
ig (C IC ig (C IC
ig (m Ig ig (m Ig
ig (n Ig ig (n Ig
ig (l Ig ig (l Ig
ig (r Ig ig (r Ig
ig (ung Ig
ig (end_ Ig ig (end_ Ig
igh aI
igtet Ikt@t igtet Ikt@t
igtest Ikt@st igtest Ikt@st
&) ig (_N IC &) ig (_N IC
@) igsten (_ ICst@n @) igsten (_ ICst@n
@) igster (_ ICst3 @) igster (_ ICst3
@) igstes (_ ICst@s @) igstes (_ ICst@s

i (i i:_!

@) ik (_ 'i:k @) ik (_ 'i:k
@t) ik (_ =i:k @t) ik (_ =i:k
polit) ik 'i:k polit) ik 'i:k
@) ik (el_ 'i:k @) ik (el_ 'i:k
@) ie (_ 'i:


bakter) ie =I@
famil) ie =I@
fer) ie (n =I@
fol) ie (_ =I@
formal) ie =I@
stud) ie (_ =I@

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


@s) i (v_ 'i:
@t) i (v_ 'i:


.group ie
ie i:
ieh i:
@) ie (_ 'i:

&) ie (ll_ i:,E
&) ie (r_ 'i:
&) ie (rlich 'i:
r) ien (@ IEn
&) ien (_ =I@n
&b) ien (_ =i:@n
g) ien (_ 'i:@n
m) ien (_ 'i:@n
ph) ien (_ 'i:@n
&n) ien (_ I@n
p) ien (_ 'i:@n
&r) ien (_ =i:@n
s) ien (_ 'i:@n
t) ien (_ 'i:@n
&) iens (_ =I;@ns
&) ient (_ =I;@nt
sch) ie (n i:
// @) ieren 'i:*@n
@) ie (reX 'i:
// @) iere (_ 'i:*@
// @) ierer (_ 'i:*3
// @) ieret (_ 'i:*@t
// @) ierest (_ 'i:*@st
// @) ierst (_ 'i:*st
// @) iert (_ 'i:*t
ierungs 'i:*UNs
ierung 'i:*UN
bakter) ie =I@
famil) ie =I@
fer) ie (n =I@
fol) ie (_ =I@
formal) ie =I@
stud) ie (_ =I@


.group j .group j
_) j (_ jOt _) j (_ jOt
j j j j
lin (_ l'i:n lin (_ l'i:n
l) lin (_ 'i:n l) lin (_ 'i:n


lady _^_EN
_) land (C@P4 l'ant _) land (C@P4 l'ant
_) landes (@P6 l'and@s _) landes (@P6 l'and@s
_) lang (C@P4 l'aN _) lang (C@P4 l'aN
_) lang (t@ l'aN
langsam l'aNzA:m langsam l'aNzA:m
_) leb (C le:p
_) leb (C@@P3 'le:p
_) leben (dig le:b'En
_) lehr (CP4 l'e:*
_) leit (@P4 l'aIt _) leit (@P4 l'aIt
_) lern (@@P4 l'E*n
_) lexi (@ lEksi:
@) lich (_$4 lIC @) lich (_$4 lIC
lady _^_EN
@) liche (_$5 lIC@
@) lichem (_$6 lIC@m
@) lichen (_$6 lIC@n
@) licher (_$6 lIC3
@) liches (_$6 lIC@s
@) lichere (_$7 lIC@*@
@) licherem (_$8 lIC@*@m
@) licheren (_$8 lIC@*@n
@) licherer (_$8 lIC@*@3
@) licheres (_$8 lIC@*@s
@) lichste (_$7 lICst@
@) lichstem (_$8 lICst@m
@) lichsten (_$8 lICst@n
@) lichster (_$8 lICst@r
@) lichstes (_$8 lICst@s
@) lichkeit (_$8 lICk%aIt
@) lichung (_$7 lIC%UN
@) lo (gisch l'o: @) lo (gisch l'o:


.group m .group m
nk (A nk nk (A nk


nce (_ _^_EN nce (_ _^_EN
nebeneina (nd n,e:b@n_|aIn'a
&in) nen (_S3 @n
&) ness _^_EN &) ness _^_EN
news _^_EN news _^_EN
nieder ni:d3 nieder ni:d3
o (x O o (x O
&CC) o (_ =o: &CC) o (_ =o:


ob (t_ o:p
og (t_ o:k

_) ober (@P4 _|,o:b3 _) ober (@P4 _|,o:b3
_) ober (ste o:b3 _) ober (ste o:b3

@A) on (_ 'o:n
_) ob (jek %Op
_) obst (reP4 'o:pst
@) o (g_ 'o:
@) o (gin_ 'o:
o (m_ 'o:
@A) o (n_ 'o:
@) oo (_ u: @) oo (_ u:
r) oo (m u:
z) oo (m u:
&t) or (_ =o:* &t) or (_ =o:*




pf pF pf pF
ph f ph f


passagie pasaZ'i:
_) pay _^_EN _) pay _^_EN
_) peri p,e:*i:
_) periphe p,e:*i:fe:

philie f'i:li: philie f'i:li:
_) pro (@ %p@-*o: _) pro (@ %p@-*o:


_) po (e p%o: _) po (e p%o:
_) poe (sc pY: _) poe (sc pY:
_) poly (@P4 p,o:ly:
partei p%a*taI partei p%a*taI
_) perfe (k p%E*fE
pool _^_EN pool _^_EN
power _^_EN power _^_EN
_) preß (@P4 p@-*'Es _) preß (@P4 p@-*'Es
&) schaft (_S6 Saft &) schaft (_S6 Saft
schein (lich S'aIn schein (lich S'aIn
schwer Sve:* schwer Sve:*
_) sechs (P5 z'Eks
_) selbst (@@P6 z'Elpst _) selbst (@@P6 z'Elpst
shop _^_EN shop _^_EN
_) sky _^_EN _) sky _^_EN
soldat z%OldA:t soldat z%OldA:t
so (rt_ s_|O

sound _^_EN sound _^_EN
speed _^_EN speed _^_EN
_) street _^_EN _) street _^_EN
K) th t K) th t
tz ts tz ts


// &B) te (_$2 t@
&t) te (_ @ &t) te (_ @
// &B) ten (_$3 t@n
// &t) ten (_ @n // &t) ten (_ @n
// &B) tet (_$3 t@t

ier) t (_S1 t
ier) te (_S2 t@
ier) tem (_S3 t@m
ier) ten (_S3 t@n
ier) ter (_S3 t3
ier) tes (_S3 t@s
ier) tet (_S3 t@t
ier) tere (_S4 t@*@
ier) terem (_S5 t@*@m
ier) teren (_S5 t@*@n
ier) terer (_S5 t@*3
ier) teres (_S5 t@*@s
ier) tst (_S3 tst
ier) tste (_S4 tst@
ier) tstem (_S5 tst@m
ier) tsten (_S5 tst@n
ier) tster (_S5 tst3
ier) tstes (_S5 tst@s
ier) test (_S4 t@st
ier) teste (_S5 t@st@
ier) testem (_S6 t@st@m
ier) testen (_S6 t@st@n
ier) tester (_S6 t@st3
ier) testes (_S6 t@st@s


tch tS tch tS
_) teen _^_EN _) teen _^_EN
thrill _^_EN thrill _^_EN
_pa) th t
@) tient (_ tsI'Ent @) tient (_ tsI'Ent
@) tion tsI,o:n
@) tion (_ tsI'o:n @) tion (_ tsI'o:n
@) ti (v_ t'i:
_) trail _^_EN _) trail _^_EN
_) train _^_EN
_) tranqu _^_EN _) tranqu _^_EN
_) tw _^_EN _) tw _^_EN


u (x U u (x U
@) u (ng U @) u (ng U


ub (t_ u:p
ug (t_ u:k

@) u (m_ U @) u (m_ U
rt) u (m_ u: rt) u (m_ u:
_) un Un _) un Un
_) un (C@P2 'Un
_) unbe (@P4 _|,Unb@
_) unge (@P4 _|,Ung@
_) unver (@P5 _|,UnfE*
_) un (iv u:n
_) un (@P2 _|'Un
_) unab (@P4 _|,Un_|'ap
_) unan (@P4 _|,Un_|'an
_) unauf (@P5 _|,Un_|'aUf
_) unaus (@P5 _|,Un_|'aUs
_) unbe (@P4 _|'Unb@
_) unein (@P5 _|,Un_|'aIn
_) unge (@P4 _|'Ung@
_) unver (@P5 _|'UnfE*
_) un (i u:n
_) un (in@P2 _|'Un
_) unum (@P4 _|,Un_|'Um
_) under _^_EN _) under _^_EN
_) unter (@P5 _|%Unt3
_) unter (@P5 _|,Unt3



rep) u (bl u:
s) u (ch u:
&) uela (_ u:,e:la &) uela (_ u:,e:la
@) uerisch (_ 'u:*IS @) uerisch (_ 'u:*IS
_) ultra (@P5 ,Ultra
um (_ Um
t) um (_ u:m
&) ungs (A %UNs_| // upto "ungs" is a prefix?
_) u (rk u:
_) u (rl u:
_) u (rv u:
us (_ Us
_) user _^_EN _) user _^_EN
ol) u (t_ u:


_) ueber (@P5 _|,y:b3 _) ueber (@P5 _|,y:b3


_) v (_ faU _) v (_ faU
v v v v
v) v v) v
v (_N f


_) v f _) v f
_) vie fi: _) vie fi:
_) vi (et v,i:
_) vi (CC vI _) vi (CC vI
_) vi vi: _) vi vi:


_) v v
_) v (ater f
_) v (ie f
_) v (iet v
_) v (iz f
_) v (oll f
_) v (olk f
_) v (on f

_) vehe ve:he:
_) ver (@P3 f%E* _) ver (@P3 f%E*
_) vor (@P3 'fO*
_) ver (bal v%E*
_) viel (@P4 f'i:l
_) vier (g@P4 f'i:*
_) viet vIEt
_) voll (C@P4 f'Ol
_) voll (br f%Ol
_) voll (end f%Ol_|
_) voll (ko f%Ol
_) voll (stre f%Ol
_) voll (z f%Ol
_) vorder fO*d@*
-) vorha (nd fo:*h'a
_) vor (ne 'fO* _) vor (ne 'fO*
_) vorbei (@P6 fO*'baI



voraus fO*'aUs
vorüber fO*'yb3
_) vor (@P3 'fo:*
_) voraus (@P6 fo:*'aUs
_) vorbei (@P6 fo:*'baI
_) vorher (@P6 fo:*h'e:*
_) vorüber (@P7 fo:*'yb3


.group w .group w
_) w (_ ve: _) w (_ ve:
@) wert (_ vE*t @) wert (_ vE*t
_) wh _^_EN _) wh _^_EN
&) ware (_ _^_EN &) ware (_ _^_EN
_) wasch (@P5 v'aS
_) wo (hin v%o: _) wo (hin v%o:
_) wohl (@P4 v'o:l _) wohl (@P4 v'o:l
work _^_EN work _^_EN
y y: y y:
y (CC y y (CC y
y (x y y (x y
y (A j
_) y (A j
A) y (A j
@) y (_ I @) y (_ I
t) y (_ _^_EN t) y (_ _^_EN




_) zer (@ %tsE* _) zer (@ %tsE*
_) zu (C@P2 ts%u: _) zu (C@P2 ts%u:
_) zu (nC tsU
_) zurück (@P6 tsu:*'yk
_) zyklo (@P5 ,tsy:klo:
zylin ts%i:lIn


.group ä .group ä
ä E: ä E:
äh (+ e: äh (+ e:
äu OI


ä (C% E ä (C% E
ä (CC E ä (CC E
ä (sch E ä (sch E


äu OI
äb (t_ E:p
äg (t_ E:k
t) ät (_ 'E:t


.group ö .group ö
ö Y: ö Y:
ü (sch y ü (sch y
ü (x y ü (x y


üb (t_ y:p
üg (t_ y:k

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


.group ß .group ß

+ 8
- 8
dictsource/dict_phonemes View File



Dictionary de_dict Dictionary de_dict


3 @ @- a A: aI aU E
E2 E: e: I i: O o: OI
U u: W y y: Y:
* ; b C d D f g
h j k l m n N p
pF r s S t tS ts v
x z
3 @ @- a A A: aI aU
E E2 E: e: I i: O o:
OI U u: W y y: Y:
* : ; b C C2 d D
f g h j k l m n
N p pF r s S t tS
ts v x z Z




Dictionary el_dict Dictionary el_dict

+ 2
- 3
dictsource/hr_rules View File

e E e E
j) e e j) e e
e (j e e (j e
r) e e
._) exe (%ekse // filetype
._) exe %ekse // filetype


.group f .group f
f f f f


.group i .group i
i i i i
._) ini (%ini // filetype
._) ini %ini // filetype


.group j .group j
j j j j

+ 2
- 2
phsource/compile_report View File

en_wm 30 144 en_wm 30 144
af 37 127 af 37 127
cy 29 122 cy 29 122
de 29 120
de 30 121
eo 13 108 eo 13 108
fi 40 127 fi 40 127
fr 32 118 fr 32 118
9 r/tr base en_sc pt_pt 9 r/tr base en_sc pt_pt
30 r/trr base af de fi nl ru ro sv sw 30 r/trr base af de fi nl ru ro sv sw
11 r/xr base 11 r/xr base
1 ufric/ch base
2 ufric/ch base de
3 ufric/f base de ro 3 ufric/f base de ro
2 ufric/f_ base ro 2 ufric/f_ base ro
4 ufric/h_ base fi hi 4 ufric/h_ base fi hi

+ 14
- 3
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 endphoneme


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






phoneme e: phoneme e:
vowel starttype (e) endtype (e) vowel starttype (e) endtype (e)
length 200
length 190
formants vowel/e_2 formants vowel/e_2
before * DFT+40 before * DFT+40
endphoneme endphoneme
wave ufric/f // could replace this with a [pf] wav file wave ufric/f // could replace this with a [pf] wav file
endphoneme endphoneme


phoneme C2 // for "ig" -> [IC] or [Ig]
vls pal frc palatal
beforevowel g
vowelin f1=0 f2=2700 400 600 f3=200 70
vowelout f1=0 f2=2700 400 600 f3=200 70 rms=20
length 100
lengthmod 3
wave ufric/ch
endphoneme


phoneme l/ // used for [l] when not before a vowel phoneme l/ // used for [l] when not before a vowel
liquid liquid
length 100 length 100

+ 3
- 3
src/compiledict.cpp View File

case '$': // obsolete, replaced by S case '$': // obsolete, replaced by S
case 'S': case 'S':
output[ix++] = RULE_ENDING; output[ix++] = RULE_ENDING;
value = 0x80;
value = 0;
while(!isspace2(c = *p++) && (c != 0)) while(!isspace2(c = *p++) && (c != 0))
{ {
switch(c) switch(c)
break; break;
default: default:
if(isdigit(c)) if(isdigit(c))
value = (c - '0') + 0x80;
value = (value*10) + (c - '0');
break; break;
} }
} }
p--; p--;
output[ix++] = sxflags >> 16; output[ix++] = sxflags >> 16;
output[ix++] = sxflags >> 8; output[ix++] = sxflags >> 8;
c = value;
c = value | 0x80;
break; break;
} }
} }

+ 17
- 5
src/dictionary.cpp View File

} }


#ifdef LOG_TRANSLATE #ifdef LOG_TRANSLATE
if((option_phonemes == 2) && (match.points > 0))
if((option_phonemes == 2) && (match.points > 0) && ((word_flags & FLAG_NO_TRACE) == 0))
{ {
// show each rule that matches, and it's points score // show each rule that matches, and it's points score
int pts; int pts;
} }


#ifdef LOG_TRANSLATE #ifdef LOG_TRANSLATE
if(option_phonemes == 2)
if((option_phonemes == 2) && ((word_flags & FLAG_NO_TRACE)==0))
{ {
if(group_length <= 1) if(group_length <= 1)
fprintf(f_trans,"\n"); fprintf(f_trans,"\n");
return(0); return(0);


#ifdef LOG_TRANSLATE #ifdef LOG_TRANSLATE
if(option_phonemes == 2)
if((option_phonemes == 2) && ((word_flags & FLAG_NO_TRACE)==0))
{ {
char wordbuf[120]; char wordbuf[120];
int ix; int ix;
if((match1.end_type != 0) && (end_phonemes != NULL)) if((match1.end_type != 0) && (end_phonemes != NULL))
{ {
/* a standard ending has been found, re-translate the word without it */ /* a standard ending has been found, re-translate the word without it */
strcpy(end_phonemes,match1.phonemes);
return(match1.end_type);
if((match1.end_type & SUFX_P) && (word_flags & FLAG_NO_PREFIX))
{
// ignore the match on a prefix
}
else
{
if((match1.end_type & SUFX_P) && ((match1.end_type & 0x7f) == 0))
{
// no prefix length specified
match1.end_type |= p - p_start;
}
strcpy(end_phonemes,match1.phonemes);
return(match1.end_type);
}
} }
if(match1.del_fwd != NULL) if(match1.del_fwd != NULL)
*match1.del_fwd = REPLACED_E; *match1.del_fwd = REPLACED_E;

+ 29
- 2
src/extras.cpp View File

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




start = 1; start = 1;
FILE *f_out; FILE *f_out;
int ix; int ix;
int c; int c;
int c2;
char *p; char *p;
int stress; int stress;
int count=0; int count=0;
int start; int start;
int matched=0; int matched=0;
int defer_stress = 0;
char buf[120]; char buf[120];
char word[80]; char word[80];
char word2[80]; char word2[80];
if((c == '?') && start) if((c == '?') && start)
continue; // omit initial [?] continue; // omit initial [?]


if(c == '<')
{
if((c2 = pronounce[ix+1]) == 'i')
{
defer_stress =1;
#ifdef deleted
if(stress == 4)
{
*p++ = 'i';
c =':';
}
else
#endif
{
c = 'I';
}
ix++;
}
}

start =0; start =0;
if(defer_stress)
{
defer_stress = 0;
}
else
if(stress && (strchr(vowels,c) != NULL)) if(stress && (strchr(vowels,c) != NULL))
{ {
if(stress == 4) if(stress == 4)

+ 1
- 1
src/synthdata.cpp View File

#include "translate.h" #include "translate.h"
#include "wave.h" #include "wave.h"


const char *version_string = "1.26.01 09.Jun.07";
const char *version_string = "1.26.02 11.Jun.07";
const int version_phdata = 0x012601; const int version_phdata = 0x012601;


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

+ 38
- 2
src/translate.cpp View File

int unpron_length; int unpron_length;
int add_plural_suffix = 0; int add_plural_suffix = 0;
int prefix_flags = 0; int prefix_flags = 0;
int confirm_prefix;
int spell_word; int spell_word;
int wflags = wtab->flags; int wflags = wtab->flags;
int wmark = wtab->wmark; int wmark = wtab->wmark;
c_temp = word[-1]; c_temp = word[-1];


found = 0; found = 0;
confirm_prefix = 1;
while(end_type & SUFX_P) while(end_type & SUFX_P)
{ {
// Found a standard prefix, remove it and retranslate // Found a standard prefix, remove it and retranslate

if(confirm_prefix)
{
int end2;
char phonemes2[N_WORD_PHONEMES];
char end_phonemes2[N_WORD_PHONEMES];

// remove any standard suffix and confirm that the prefix is still recognised
end2 = TranslateRules(word, phonemes2, N_WORD_PHONEMES, end_phonemes2, wflags|FLAG_NO_PREFIX|FLAG_NO_TRACE, dictionary_flags);
if(end2)
{
RemoveEnding(word,end2,word_copy);
end_type = TranslateRules(word, phonemes, N_WORD_PHONEMES, end_phonemes, wflags|FLAG_NO_TRACE, dictionary_flags);
memcpy(word,word_copy,strlen(word_copy));
if((end_type & SUFX_P) == 0)
{
// after removing the suffix, the prefix is no longer recognised.
// Keep the suffix, but don't use the prefix
end_type = end2;
strcpy(phonemes,phonemes2);
strcpy(end_phonemes,end_phonemes2);
if(option_phonemes == 2)
{
DecodePhonemes(end_phonemes,end_phonemes2);
fprintf(f_trans," suffix [%s]\n\n",end_phonemes2);
}
}
confirm_prefix = 0;
continue;
}
}

strcat(prefix_phonemes,end_phonemes); strcat(prefix_phonemes,end_phonemes);
end_phonemes[0] = 0; end_phonemes[0] = 0;
prefix_type = end_type; prefix_type = end_type;
} }
c_temp = word[-1]; c_temp = word[-1];
word[-1] = ' '; word[-1] = ' ';
confirm_prefix = 1;


end_type = 0; end_type = 0;
found = LookupDictList(word,phonemes,&dictionary_flags2,SUFX_P | (wflags << 16)); found = LookupDictList(word,phonemes,&dictionary_flags2,SUFX_P | (wflags << 16));
dictionary_flags = dictionary_flags2; dictionary_flags = dictionary_flags2;
if(found) if(found)
prefix_phonemes[0] = 0; // matched whole word, don't need prefix now prefix_phonemes[0] = 0; // matched whole word, don't need prefix now
if(found || (dictionary_flags2 != 0))
prefix_flags = 1;

// if(found || (dictionary_flags2 != 0))
// prefix_flags = 1; // ?? this looks wrong
} }
if(found == 0) if(found == 0)
{ {

+ 2
- 0
src/translate.h View File

#define FLAG_DONT_SWITCH_TRANSLATOR 0x1000 #define FLAG_DONT_SWITCH_TRANSLATOR 0x1000
#define FLAG_SUFFIX_REMOVED 0x2000 #define FLAG_SUFFIX_REMOVED 0x2000
#define FLAG_HYPHEN_AFTER 0x4000 #define FLAG_HYPHEN_AFTER 0x4000
#define FLAG_NO_PREFIX 0x8000
#define FLAG_NO_TRACE 0x10000


// prefix/suffix flags (bits 8 to 14, bits 16 to 22) don't use 0x8000, 0x800000 // prefix/suffix flags (bits 8 to 14, bits 16 to 22) don't use 0x8000, 0x800000
#define SUFX_E 0x0100 // e may have been added #define SUFX_E 0x0100 // e may have been added

+ 1
- 1
src/voices.cpp View File

espeak_VOICE *voices[N_VOICES_LIST]; // list of candidates espeak_VOICE *voices[N_VOICES_LIST]; // list of candidates
espeak_VOICE *voices2[N_VOICES_LIST+N_VOICE_VARIANTS]; espeak_VOICE *voices2[N_VOICES_LIST+N_VOICE_VARIANTS];


espeak_VOICE voice_variants[N_VOICE_VARIANTS];
static espeak_VOICE voice_variants[N_VOICE_VARIANTS];


if(n_voices_list == 0) if(n_voices_list == 0)
espeak_ListVoices(NULL); // create the voices list espeak_ListVoices(NULL); // create the voices list

+ 1
- 1
windows/windows_sapi/ttsengobj.cpp View File

gEmphasis = 0; gEmphasis = 0;
gSayas = 0; gSayas = 0;
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install);
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install,0);
espeak_SetVoiceByName(voice); espeak_SetVoiceByName(voice);
espeak_SetSynthCallback(SynthCallback); espeak_SetSynthCallback(SynthCallback);

Loading…
Cancel
Save