Browse Source

improvements for german

These are some improvements to the german voices, both default and mbrola. It fixes some sounds of phonemes and also pronunciation of words. I also modified the mbrola phoneme and voice files to make them sound more natural. The stressLength setting is that it matches the way espeak deals with the lengths.
master
KarlEick 7 years ago
parent
commit
9be1aaed42

+ 254
- 107
dictsource/de_list View File

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

// This file is UTF-8 encoded
// all words lower case

@@ -15,32 +16,32 @@
// Include a _ before a character if it's name should only be
// spoken when "speak punctuation" option is on.

_. pUnkt
_. pUNkt
* StErn $max3
% pro:ts'Ent $max3
+ plUs $max3
= glaIC $max3
# nUm3 $max3
€ OYro:
£ paUnd
& Unt
@ kl'am3_,af@
£ pFUnd
& Unt1
@ Et1
~ tIld@
\ bakslaS
\ bEkslES
° grA:t
± pl'Us||m'i:nUs

_, kOma
_, kOmA:
_| paIp
_: d'Op@lp,UNkt
_; Str'ICpUNkt
__ ,Unt3Str'IC
_- b'Ind@str,IC
_- b'Ind@Str,IC
_! 'aUs_|r,u:f@ts,aIC@n
_? fr'Ag@ts,aIC@n
_' ,apo:str'Of
_" tsi:t'A:t
_/ Sr'e:gStrIC
_/ Sr'E:kStrIC
_( kl'am3||_|'aUf
_) kl'am3||ts'u:
_{ g@Sv'aIft@kl'am3||_|'aUf
@@ -61,33 +62,41 @@ _— g@d'aNk@nStr,IC
_#9 t,abu:l'A:to:3
_#32 l'e:rts'aIC@n
_?? zymb'o:l
_?A b'u:xstA:b@
_?A b'u:xStA:b@
_cap gr'o:s
_sub 'Unt@R|3_!,IndEks||
_sup 'o:b@R|3_!,IndEks||
_sub t,i:fg@St,Elt
_sup h,o:xg@St,Elt
½ aInh'alp
¢ sEnt
¼ 'aInfIrt@l
¬ nICtzOrt'i:rtsaIC@n
¾ dr'aIfIrt@l
¶ paragr'A:f
¤ Int3natsjo:nA:l@sv'E:rUNstsaIC@n
¥ jEn


// accent names
_lig l'i:gat,u:3
_acu ak'u:t
_lig li:gat'u:r
_acu aksA~tEg'y:
_ac2 d'Op@lak,u:t
_brv b@-*'E:v@
_brv br'E:v@
_ced se:d'i:j
_cir ts'IrkUmflEks
_dia 'UmlaUt
_dot p'Unkt
_dot p'UNkt
_grv gr'A:vIs
_hac h'atSEk
_mcn m'A:krOn
_ogo 'o:gOn,Ek
_rng kr'o:wZEk
_stk Sr'e:gstrIC
_stk Sr'E:kStrIC
_tld t'Ild@

æ $accent
é $accent
ç $accent
č $accent
? $accent
š $accent
ž $accent

@@ -95,10 +104,16 @@ _tld t'Ild@
v faU
x Iks

// Character names
_braille p'UNkt|Sr,Ift

// Alphabets
_ar aR'AbIS
_cyr ky:R'IlIS
_eth amh'A:rIS
_ar ar'AbIS
_cyr ky:r'IlIS
_he hEbr'E:IS
_ja jap'A:nIS
_ko ko:re:'A:nIS
_zh Ci:n'e:zIS


@@ -125,44 +140,71 @@ _16 'zECtse:n
_17 'zi:ptse:n
_18 '_axtse:n
_19 'nOYntse:n
_2X 'tsvantsIC
_3X 'draIsIC
_4X 'fIrtsIC
_5X 'fynftsIC
_6X 'zECtsIC
_7X 'zi:ptsIC
_8X '_axtsIC
_9X 'nOYntsIC
_0C 'hUnd3t
_0M1 'taUz@nt
_0M2 ||mIlI'o:n@n
_1M2 _'aIn@||mIlI'o:n
_0M3 ||mIlI'ard@n
_1M3 _'aIn@||mIlI'ard@
_0M4 bIlI'o:n
_2X 'tsvantsIg#
_3X 'draIsIg#
_4X 'fIrtsIg#
_5X 'fynftsIg#
_6X 'zECtsIg#
_7X 'zi:ptsIg#
_8X '_axtsIg#
_9X 'nOYntsIg#

_0C 'h,Und3t
_0M1 't,aUz@nt
_0M2 ||mIlj'o:n@n
_1M2 _'aIn@||mIlj'o:n
_0M3 ||mIlj'ard@n
_1M3 _'aIn@||mIlj'ard@
_0M4 bIlj'o:n@n
_1M4 'aIn@||bIlj'o:n
_0M5 bIlj'ard@n
_1M5 'aIn@||bIlj'ard@
_0M6 trIlj'o:n@n
_1M6 'aIn@||trIlj'o:n
_0M7 trIlj'ard@n
_1M7 'aIn@||trIlj'ard@
_0M8 kvadrIlj'o:n@n
_1M8 'aIn@||kvadrIlj'o:n
_0M9 kvadrIlj'ard@n
_1M9 'aIn@||kvadrIlj'ard@
_0M10 kvIntIlj'o:n@n
_1M10 'aIn@||kvIntIlj'o:n
_0M11 kvIntIlj'ard@n
_1M11 'aIn@||kvIntIlj'ard@
_0M12 zEkstIlj'o:n@n
_1M12 'aIn@||zEkstIlj'o:n
_0M13 zEkstIlj'ard@n
_1M13 'aIn@||zEkstIlj'ard@
_0M14 zEptIlj'o:n@n
_1M14 'aIn@||zEptIlj'o:n
_0M15 zEptIlj'ard@n
_1M15 'aIn@||zEptIlj'ard@
_0M16 _OktIlj'o:n@n
_1M16 'aIn@||OktIlj'o:n
_0M17 _OktIlj'ard@n
_1M17 'aIn@||OktIlj'ard@
_0M18 n,o:nIlj'o:n@n
_1M18 'aIn@||n,o:nIlj'o:n
_0M19 n,o:nIlj'ard@n
_1M19 'aIn@||n,o:nIlj'ard@
_0M20 de:tsIlj'o:n@n
_1M20 'aIn@||de:tsIlj'o:n
_0and ||_|Unt
_dpt _kOma

// ordinal numbers
_ord t@ // default ending
_ord20 st@ // 20,30,etc
_1o _'e:rst@
_3o dr'It@
_7o z'i:bt@
_8o _'axt@
_0Co 'hUnd3tst@
_roman rY:mIS
_dpt _kOmA:
_#er 3

// Abbreviations
//==============
(a . a . o .) A:||A:||_o:
allg 'alg@maIn
abb 'abb,IldUN
abb 'apb,IldUN
anm 'anm,ErkUN
bd band
bde bEnd@
bzw b@tsi:UNsvaIz@
chr k@rIstUs
dr dOkt'o:r
chr krIstUs
dr d'Okto:r
evtl e:vEntu:'El
od o:d3 $only
fr fraU
@@ -191,8 +233,8 @@ derselb $2
desselb dEsz'Elb
dieselb $2
dasselb dasz'Elb
demselb $2
denselb $2
demselb de:mz'Elb
denselb de:nz'Elb

// conjunctions
und Unt $u+ $pause
@@ -237,7 +279,7 @@ nach nA:x $u+ $brk
neben $u+ $brk
ob ,Ob $pause $strend $only
per pEr $u+ $brk
pro ,pro: $pause
pro %pro:
von fOn $u+ $brk
//(von dem) %fOn%de:m $brk
vom fOm $u+ $brk
@@ -245,7 +287,7 @@ vor ,fOr $strend
zu tsu: $u+ $brk
zum tsUm $u+ $pause
zur tsu:r $u+ $pause
über ,yb3 $pause $strend
über ,y:b3 $pause $strend
unter ,Unt3 $pause $strend $only
um Um $u+ $brk
//(um die) %Umd%i: $brk
@@ -254,13 +296,15 @@ während $pause

// misc
so zo: $u+
(auch nicht) aUxnICt
doch dOx $u+
noch $pause
(noch kein) nOxk'aIn
(noch keine) nOxk'aIn@
(noch nicht) n'Ox||n'ICt $brk
(nicht mehr) n'ICt||,me:r
(nicht mehr) n,ICt||m'e:r $atend
(nicht nur) n'ICt||n'u:r $pause
(gar nicht) g,A:rn'ICt
(gar nicht) g'A:rnICt

// should these be in the Rules if they can be a prefix in a
// compound verb ?
@@ -282,7 +326,7 @@ mir $u+ $only
du $u $only
dich $u+ $only
dir $u+ $only
er Er $u $brk $only
er Er $u $only
es Es $u $only
ihn $u+ $only
ihm $u+ $only
@@ -320,11 +364,12 @@ sein $u // can also be verb "to be"
seine $u+

unsre Unzr@ $u
unsere Unzr@ $u
unsere Unz@r@ $u
unser Unz3 $u
unserm Uns3m $u
unserem Uns@r@m $u

unserm Unz3m $u
unserem Unz@r@m $u
unseren Unz@r@n $u
unserer Unz@r3 $u

ihre i:r@ $u
ihrem i:r@m $u
@@ -361,14 +406,14 @@ sind zInt $u
seit zaIt $u $only

habe %hA:b@ $only
habest hA:bEst $only $u
habest hA:b@st $only $u
hast %hast $only
hat %hat $only
haben h,A:b@n $only $strend2
hatte h,at@ $only
hatten h,at@n $only
hätte h,Et@ $only
hättest h,EtEst $only
hättest h,Et@st
hättet h,Et@t $only
hätten h,Et@n $only

@@ -382,14 +427,15 @@ willst %vIlst $only
wollen %vOl@n $only
wollt %vOlt

werden v,Erd@n $strend2
werden v,Erd@n
werde v,Erd@
wirst v,Irst
wird v,Ird
werdet v,Erd@t
worden vOrd@n $u
wurden v,Urd@n
wurde v,Urd@
wurdest v,UrdEst
wurdest v,Urd@st
wurdet v,Urd@t

können ,kWn@n $only $strend2
@@ -413,34 +459,45 @@ kam ,kA:m
// de_rules includes the words ending in "-ing"
access _^_EN
account _^_EN
aid _^_EN // aids
aid _^_EN
appeal _^_EN
apple _^_EN
association _^_EN
baseball _^_EN
bbc _^_EN
beat _^_EN $only
beat _^_EN
browser _^_EN
byte _^_EN
bytes _^_EN
camcorder _^_EN
certificate _^_EN
change _^_EN
chart _^_EN
chat _^_EN
cleaner _^_EN
coach _^_EN
coke _^_EN
computer _^_EN
computer kOmpj'u:t3
cool _^_EN
copy _^_EN
couch _^_EN
cursor _^_EN
date _^_EN
debugger _^_EN
dj _^_EN
desktop d'EsktOp
dj d'i:dZEI
download _^_EN
downloads _^_EN
email _^_EN
enterprise _^_EN
espeak _^_EN
event _^_EN
execute _^_EN
explorer Ekspl'Or3r
file _^_EN
firefox _^_EN
firewall _^_EN
foul _^_EN
foyer _^_EN
frame _^_EN
freak _^_EN
gin _^_EN
@@ -449,6 +506,7 @@ hip _^_EN
homepage _^_EN
hooligan _^_EN
interface _^_EN
jaws _^_EN
jean _^_EN
jet _^_EN
job _^_EN
@@ -464,23 +522,29 @@ look _^_EN
macho _^_EN
mail _^_EN
message _^_EN
move _^_EN
my _^_EN
mysql _^_EN
notebook _^_EN
offline _^_EN
online _^_EN
out _^_EN
overwrite _^_EN
pair _^_EN
penthouse _^_EN
pidgin _^_EN
plot _^_EN
poster _^_EN
receiver _^_EN
research _^_EN
registry _^_EN
release _^_EN
remake _^_EN
research _^_EN
roadie _^_EN
roastbeef _^_EN
quiz _^_EN
run _^_EN
save _^_EN
scanner _^_EN
science _^_EN
server _^_EN
@@ -490,30 +554,44 @@ sexy _^_EN
shirt _^_EN
show _^_EN
single _^_EN
size _^_EN
slip _^_EN
slum _^_EN
small _^_EN
smiley _^_EN
snob _^_EN
song _^_EN
sorry _^_EN
source _^_EN
spam _^_EN
speak _^_EN
spirit _^_EN
squaw _^_EN
stream _^_EN
suite _^_EN
sweatshirt _^_EN
sync _^_EN
talk _^_EN
team _^_EN
teaser _^_EN
tech _^_EN
terminal _^_EN
thunderbird _^_EN
time _^_EN
trip _^_EN
tuner _^_EN
unix _^_EN
update _^_EN
updates _^_EN
venture _^_EN
verify _^_EN
voice _^_EN
voices _^_EN
weather _^_EN
web w'Eb $only
website _^_EN
window _^_EN
wipe _^_EN
word _^_EN


@@ -523,49 +601,55 @@ abort ab'Ort
absentier apzEnt'i:r
abstinent $3
achso axz'o:
adress $2
akazie $alt
alarm $2
allein $2
allgemein 'alg@maIn
amerika $2
andre andr@ // andere
aneinander an1aIn'and3
anomalie $2
antik ant'i:k
archaik arC'A:Ik
arie $alt
arpeggier arpEdZ'i:r
arrangier araNZ'i:@
arrangier araNZ'i:r
Art A:rt // capital
arterie $alt
asphalt $2
atommüll $1
atommüll at'o:mmyl
ausgeschamt aUsg@SA:mt
außerdem 'aUs3d,e:m
automatisch $3
aventurin avEntu:r'i:n
ave A:vE

balkan $1
balkon $2
bandagier bandaZ'i:@
bandagier bandaZ'i:r
beben be:b@n
beere be:r@
bestie bEstI@
best bEst
bestem b'Est@m
beten be:t@n
bibliothek bi:bli:o:t'e:k
bisschen b'IsC@n
bizarr $2
blamage $alt
bronchie $alt
buch b'u:x
buchen b'u:x@n
bucht b'u:xt
bucht b'Uxt $capital $verbf
buchte b'u:xt@
buchten b'u:xt@n
buchten b'Uxt@n $capital $verbf
buchstabierfunktion $3
bürostuhl by:r'o:Stu:l

changier SaNZ'i:r
cembalo tS'Embalo:
ciao tSaU
clique klIk@
coup ku:

dahlie $alt
dazwishen $2
debatte $2
deshalb $2
detail de:t'aI
@@ -575,6 +659,7 @@ dient di:nt
dividend di:vi:d'Ent
dragier draZ'i:r
dritte drIt@
dschungel dZ'UN@l
duett du:'Et

ebendaher e:b@ndah'e:r
@@ -583,38 +668,45 @@ ebenso $1
einander aIn'and3
einerlei aIn@rlaI
einher aInh'e:r
einig aInIC $only
einig aInIg#
einige aInIg@ $u+
einiges aInIg@s $u+
einzig 'aIntsIg#
elektronisch e:lEktr'o:nIS
elementansicht e:l@m'Ent_|anzICt
engagier aNgaZ'i:r
endivie $alt
endlich EntlIC
ensemble Ons'Omb@l
ensemble A~s'A~b@l
episkopal e:pIsko:p'A:l
erde e:rd@
erst e:rst
ersten e:rst@n
erstmal e:rstma:l
erzgebirg e:rtsg@bIrg
erstmal e:rstmA:l
erzgebirg Ertsg@bIrg
expedient Ekspe:dI'Ent
extravagant $1
extrem Ekstr'e:m

feuerrot $3
fenster f'Enst3
foyer fOj'e:
friedvoll fr'i:tf,Ol
furchen fUrC@n
furie $alt

geben ge:b@n
gebt ge:bt
gegenüber ge:g@n'y:b3
gegenstand $1
gegenständ $1
gegenüber ge:g@n_|'y:b3
geglichen g@glIC@n
gemein g@maIn
genial ge:nI'al
genial ge:nj'A:l
geranie ge:r'A:nI@
gessen gEs@n
geste ge:st@
gestern gEst3n
gitarre $2
glorie $alt
grazie $alt

@@ -626,21 +718,19 @@ herberg hErbErg
hi haI
historie $alt
hm h@m
horsam hO3zA:m
hostie $alt
humor $2
hrhr harhar
husten h'u:st@n

illegitim Ile:gi:t'i:m
illiberal Ili:b@r'A:l
illoyal IlOajA:l
immobilie $alt
indem Ind'e:m
inden Ind'e:n
inder Ind3
indes Ind'Es
indessen Ind'Es@n
ingenieur IndZ@nj'u:r
ingenieur IndZ@nj'Y:r
injurie $alt
inka INkA:
inkaisch INkA:IS
@@ -649,19 +739,27 @@ insbesondere $3
interess Int@r'Es
intern Int'Ern
internet Int@rnEt
internetzugriff 'Int3nEtts,u:grIf
inzwischen $2

jahrhundert $2
januar janu:A:r

Kamel kam'e:l
kamelie $alt
kanäl $2
kanoe kan'u:
kartonage $alt
kastanie $alt
kid kId
kombinationsfeld $4
komödie $alt
konservativ $1
kompass $1
konservativ k'OnzErvat,i:v
konsul $1
kuchen k'u:x@n
konto $1
kurie $alt
küchentisch k'yC@ntIS
kwaß kvas

lappalie $alt
@@ -672,13 +770,19 @@ luetisch lu:'e:tIS

machen max@n
marginalie $alt
massage $2
materie $alt
meldung m'EldUN
menuette mEnu:'Et
menü $2
minut $2
mikrofiche mi:kro:fi:S
miteinander $1
modell mo:d'El
modem mo:dEm
modern $2
monat $1
monitor $1
monoton $3
monsun $2
montag mo:ntA:k
@@ -689,16 +793,21 @@ nachdem naxd'e:m
nage $alt
nebulos $3
negligent ne:gli:dZ'Ent
netzbetrieb n'Etsb@tri:b
nisch ni:S
normal $2
november $2
numero $1

oboe o:b'o:@
orgie $alt
ok o:k'e:
oktober $2
optimal $3
ödem Y:d'e:m

paradies $3
passage pas'aZ@
passage $alt
perplex $2
petersilie $alt
pinie $alt
@@ -707,20 +816,32 @@ pochier pOS'i:r
pochs pOxs
präsident $3
prämie $alt
privatisier $4
problematisier $3 //pro:ble:m'a:tIzi:r
privatisier pri:vA:ti:z'i:r
problematisier $5
protokoll $3

refrain rEfr'W~
reliquie $alt
rendezvous rA~de:v'u:
restaurant rEsto:r'A~
risik $1
rupie $alt

sabbat zabat
sagt zA:gt
salopp $2
schieberegler S'i:b@re:gl3
schreibung Sr'aIbUN
schult Su:lt
schulter S'Ult3
schultern S'Ult3n
sekund $2
selbst zElpst
serie se:rI;@
service sErvIs
september $2
serie $alt
service _^_EN
ski S'i:
sodass %zo:d,as
soeben zo:_'e:b@n
sofort $2
sogar $2
@@ -734,52 +855,78 @@ subjekt $1

tag tA:g
telegen te:le:g'e:n
temporär $3
terrain tEr'W~
the D@ // English
theater te:'A:t3
tja tjA:
tonnage $alt
tragödie $alt
train tre:n
tsunami tsu:n'a:mi:
turin $2
trolley tr'Oli:
tsunami tsu:n'A:mi:
turin tu:r'i:n

umweg $1
umgehen $2
umrahmen $2
unten Unt@n
untermenü 'Unt3me:n,y:
urin u:r'i:n
übrig 'y:brIg#

verein fEr'aIn
verein fEr_|'aIn
vielbesprochen $3
vielleicht $2
vielleicht fIl'aICt
vorherig fo:rh'e:rIg#
vorig fo:rIg#

//wahrscheinlich $2
wahrscheinlich $2
warum vA:r'Um
wasserung vas@rUN // because -ung isn't marked as a suffix
weiterung vaIt@rUN
weither vaIth'Er
weitum vaIt_|'Um
willkommen $2
woher vo:h'e:r

zloty slOti:
zoom zu:m
zugegen tsu:g'e:g@n
zudem tsu:'de:m
zugegen tsu:g'e:g@n
zurück $2
zustand ts'u:Stand $only
zuständ ts'u:StEnd
zymbal $1


// Names
Armin $1
Djakarta dZak'artA:
Djibouti dZib'u:ti:
Djibouti dZi:b'u:ti:
Fruecht fr'yCt
Georg ge:Ork $only
George dZO:rdZ
john dZ'On
Josef j'o:zEf
Klango kl'aNgo:
Khmer kme:r
Mc m@-k
liam _^_EN
Mc %mEk
Moradi $2
Neumexiko $2
Neuseeland $2
Rwanda rU'andA:
Sri sr,i:
Sri %sri:
steve _^_EN
Tom tOm $only
Tim tIm $only

// Stress on final ur
figur $2
gravur $2
klausur $2
kultur $4
natur $2
retur $2
tastatur $3
temperatur $4
zensur $2

+ 79
- 31
dictsource/de_rules View File

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

// ***************************************************************************
// * Copyright (C) 2006 to 2010 by Jonathan Duddington *
// * email: [email protected] *
@@ -26,6 +26,14 @@

// This file is UTF-8 encoded


// Hours
.L05 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23

// Minutes
.L06 0 1 2 3 4 5


.group a
_) a (_ A:
a A
@@ -36,7 +44,7 @@
ae (CC E

a (C% a
a (CC a
a a (CC a
a (sch a
a (x a
a (ph A:
@@ -45,6 +53,7 @@
ai aI
ay aI
au aU
auer aU3
auh (_ aU

ab (t_ A:p
@@ -76,6 +85,7 @@
_) an (a %an
_) a (natioP1 'A:
_) anath anat
ein) ander 'and3
_) an (der an
_) angli (C aNgli:
_) anglo (@ ,aNglo:
@@ -122,8 +132,6 @@
g) al (_ 'A:l
k) al (_ 'A:l
n) al (_ 'A:l
&kan) al (_ ,A:l
&sign) al (_ ,A:l
r) al (_ 'A:l
t) al (_ 'A:l
_) aller (@P5 'al@r
@@ -180,7 +188,6 @@
_) beige (_ be:S
_) beige (@ baIg@
_) be (inhP2 b@
_) beo (b b,@o:

_) ba (lA b%a
_) ba (ll@ b%a
@@ -195,7 +202,10 @@
_) b (eet b
_) b (enzin b
_) b (erC b
be (ding b@
be (reich b@
be (recht b@
be (richt b@
_) b (esen b
_) b (ess b
_) b (esten b
@@ -208,16 +218,19 @@
baby _^_EN
beten be:t@n
_) bike _^_EN
binde bInd@
_) bis (hP3 b%Is
_) blue _^_EN
board _^_EN
_) boom _^_EN
bo (sh bo:
buchstab bu:xStA:b
_) bundes b'Und@s
bücher by:C3r


.group c
_) c (_ se:
_) c (_ tse:
_) c (L01A k // allow cl cr at start of word
c k
c) c
@@ -258,6 +271,7 @@
ü) chen (_ C@n

chs ks
ei) chs Cz
chance SA~s@
chara (kt k%ara
_) ch (ic S
@@ -290,7 +304,7 @@
soun) d d

_) dabei (P5 dA:'baI
_) dafür (P5 dA:f'yr
_) dafür (P5 dA:f'y:r
_) daher (P5 dA:h'Er
_) dahin (P5 dA:h'In
_) dahinter (P8 dA:h'Int3
@@ -318,6 +332,7 @@
design (_ d%IzaIn
dge (_ _^_EN
_) dia d,i:a
dialogf di:al'o:kf
_) diver d%i:vEr
_) dort (C@P4 d'Ort
drive _^_EN
@@ -351,13 +366,13 @@

ei aI
eu OY
ey aI
ey (_ e:
ey i:
ey (_ aI

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

een (_ 'e:n-
een (_ 'e:n
ell (_ 'El
ll) e (l e:
&) e (_S1 @
@@ -435,7 +450,6 @@
_) eil (aP3 'aIl
_) eil (fP3 'aIl
_) ein (@P3 _!'aIn
ein (and _|%aIn
_) eine (r@ aIn@
_) einig aInIg
m) eir (_ aI3
@@ -483,7 +497,7 @@
@) ett (_ 'Et
eum (_ 'e:Um
@@) eum (_ =e:Um
_) eur (op %OY
_) eur (op %OYr
@) eur (_ 'Y:r
euse (_ 'Y:z@
eusen (_ 'Y:z@n
@@ -503,8 +517,10 @@
_) farb (l@P4 f'arb
_) farc fars
_) fein (@P4 f'aIn
_) fertig (C@P6 f'ErtiC
fenster fEnst@r
_) fertig (C@P6 f'ErtIC
_) fest (@P4 f'Est
festig fEstIg#
_) flug fl'u:g
foto fo:to:
_) free _^_EN
@@ -514,6 +530,7 @@
_) froh (@P4 fr'o:
_) frohlock fro:l'Ok
_) fung (A fUNg
fügbar fy:kbA:r


.group g
@@ -526,8 +543,8 @@
g (sA g
gd (_N kt
_) gh (A g
_) g (nA g@- // allow _gn
B) gn (A g@-n
_) g (nA g // allow _gn
B) gn (A gn

i) gt (_ Ct
ei) gt (_ kt
@@ -537,10 +554,13 @@
_) g (eHC g // hC, lC, mC, nC, rC

massa) g Z
gabe gA:b@
gehr ge:r
@) ght (_ _^_EN
graph grAf
graph (_ gr'A:f
green _^_EN
groß gro:s
guide _^_EN
gue (_ k
_) güte (@P4 g'y:t@
@@ -569,11 +589,13 @@
general (is ge:n@ral
_) ge (ner gE
_) geo g,e:o:
geo (pf g@_'O
_) ge (orP2 g@
_) ge (org g%e:
ge (rman gE
ge (rät g@
ge (strig gE
gestalt g@Stalt


.group h
@@ -790,10 +812,10 @@ formal) ie =I@
_) leb (C@@P3 'le:p
_) leben (dig le:b'En
_) lehr (C@P4 l'e:r
_) leit (@P4 l'aIt
_) leit laIt
_) lern (@@P4 l'Ern
_) lexi (@ lEksi:
&) lich (_S4 l2IC // [l2] means devoice previous consonant
&) lich (_S4 l2IC // [l] means devoice previous consonant
&) liche (_S5 l2IC@
&) lichem (_S6 l2IC@m
&) lichen (_S6 l2IC@n
@@ -819,9 +841,11 @@ formal) ie =I@
m m
m) m

manager manEdZ3r
manager mEnIdZ3r
_) manch manC // for 'manchen'
marine mA:r'i:n@
maschin maS'i:n
meldung m,EldUN
_) meß (@P3 m'Es
_) menag m%e:nA:Z
_) met (all m%e:t
@@ -851,10 +875,7 @@ formal) ie =I@
u) ng (i Ng
ng (r Ng
nk Nk
nk (A nk
fu) nk Nk

_) natur (C@P5 nA:t'u:r
_) na (tür n%A:
nce (_ _^_EN
nces (_ _^_EN
@@ -865,10 +886,12 @@ formal) ie =I@
neglig ne:gli:Z
neglige ne:gli:Z
&) ness (_N _^_EN
news _^_EN
nieder ni:d3
new _^_EN
nieder ni:d@r
nk Nk
nord (L04st n%Ort
nord (west n%Ort
nummer nUm@r

.group o
_) o (_ o:
@@ -908,7 +931,7 @@ formal) ie =I@
@A) o (n_ 'o:
one (_ 'o:n@
onen (_ 'o:n@n
zitr) on 'on
zitr) on 'o:n
@) oo (_ u:
r) oo (m u:
z) oo (m u:
@@ -939,6 +962,7 @@ formal) ie =I@
_) p (tol p

pake (t p%ake:
papier pap'i:r
_) para (@ p,ara
passagie pasaZ'i:
_) peri p,e:ri:
@@ -946,10 +970,12 @@ formal) ie =I@
_) periphe p,e:ri:fe:
_) personen (@P8 pErz'o:n@n
person p%Erzo:n
persön p%ErzY:n
philie f'i:li:
_) photo f,o:to:
_) pro (@ %pro:
_) probe pro:b@
prüf pry:f

po (em p%o:
po (et p%o:
@@ -989,6 +1015,7 @@ formal) ie =I@

rangier rA:NZ'i:r
_) re (d re:
register re:g'Ist@r
ressourc rEs'Urs
revers r%e:vErs

@@ -1011,6 +1038,7 @@ formal) ie =I@
_) sch (mA S
_) sch (nA S
_) sch (w S
ssch sS
_) sh (A S
_) sh (rA S
_) s (kA s // allow _sk
@@ -1026,11 +1054,14 @@ formal) ie =I@
_) s (quA s
_) s (tA S
_) s (trA S
strich StrIC
_) s (ve s
_) s (wA s
_) s (zA s

sch S
seg (n ze:g
_) software(@P s'OftwE:r
sh (K S
sou (nd saU
p) s (a s
@@ -1060,10 +1091,12 @@ formal) ie =I@
ste (ll StE
a) ste (ll stE
st (ah St
st (art St
st (ä St
st (eh St
st (ö St
st (ü St
st (uf St
st (uh St
st (ung st

@@ -1082,6 +1115,7 @@ formal) ie =I@
täu) schen S@n

schein (lich S'aIn
schreibung Sr,aIbUN
_) schul (@P5 S'u:l
_) schul (d S'Ul

@@ -1091,6 +1125,7 @@ formal) ie =I@
_) selbst (@@P6 z'Elpst
service (_S7 z%Ervi:s
shop _^_EN
signal zIgn'A:l
_) sky _^_EN
soldat z%OldA:t
&) so (rt_ s_|O
@@ -1156,14 +1191,16 @@ formal) ie =I@
_) teen _^_EN
_) tele (@ t,e:le:
_) thermo tErmo:
these t'e:z@
sprachsyn) these t,e:z@
tuerei (_ tu:@r'aI
thrill _^_EN
_pa) th t
the (era te:
_) tief (@P4 t'i:f
@) tient (_ tsI'Ent
@) tion tsI,o:n
@) tion (_ tsI'o:n
@) tient (_ tsj'Ent
@) tion tsj,o:n
@) tion (_ tsj'o:n
_) trail _^_EN
_) tranqu _^_EN
traver tr%avEr
@@ -1190,7 +1227,7 @@ formal) ie =I@
ug (t_ u:k

_) ueber (@P5 _|,y:b3
_) um (@P2 Um
_) um (@P2 'Um
_) umbe (@P4 'Umb@
_) umge (@P4 'Umg@
_) umge (b Umg'e:
@@ -1268,6 +1305,7 @@ formal) ie =I@
_) vehe ve:he:
velv (er vElv
_) ver (@P3 f%Er
vergeb fErg'e:b
v (er f
_A) v (er v
a) v (er v
@@ -1305,7 +1343,7 @@ formal) ie =I@
_) voll (ko f%Ol
_) voll (stre f%Ol
_) voll (z f%Ol
vorder fOrd3
vorder fOrd@r
-) vorha (nd fo:rh'a
_) vor (ne 'fo:r
_) vor (n fOr
@@ -1315,7 +1353,8 @@ formal) ie =I@
_) voraus (P6 fo:r'aUs
_) vorbei (P6 fo:r'baI
_) vorher (P6 fo:rh'e:r
_) vorüber (P7 fo:r'yb3
vorhersag fo:rh,e:rz,A:g
_) vorüber (P7 fo:r'y:b3


.group w
@@ -1333,7 +1372,9 @@ formal) ie =I@
_) weg (C@P3 v'e:k
_) weit (C@P4 v'aIt
_) weiter (@P6 v'aIt@r
weiterung vaIt@rUN
_) weither vaIthe:r
wetter vEt3
_) wieder (@P6 vi:d3
_) wo (hin v%o:
_) wovor vo:f'o:r
@@ -1372,6 +1413,7 @@ formal) ie =I@
ziell tsj'El
_) zie (ge@P3 ts'i:
_) zeit (@P4 ts'aIt
zeitung tsaItUN
_) ziel (@P4 ts'i:l
_) zier (@P4 ts'i:r
_) zigaretten (@P10 tsi:gar'Et@n
@@ -1384,6 +1426,7 @@ formal) ie =I@
_) zu (nC tsU
_) zurück (@P6 tsu:r'yk
_) zusammen (@P8 tsu:z'am@n
zwinkern tsvINk3n
_) zyklo (@P5 ,tsy:klo:
zylin ts%i:lIn

@@ -1428,6 +1471,7 @@ formal) ie =I@
_) über (@P4 _|,y:b3
_) über (be@P4 _!'y:b3
_) über (gangs y:b3
übrig y:brIg#


.group ß
@@ -1442,7 +1486,7 @@ formal) ie =I@
æ E
ø W
ç s
č tS
? tS
š S
ž Z

@@ -1453,3 +1497,7 @@ formal) ie =I@
D_) - (_D StrIC
_) - (_D _


// symbols that are normally spoken when reading text
_L05_) : (_L06D_ %u:r // Say time


+ 1
- 0
espeak-ng-data/voices/mb/mb-de1 View File

@@ -4,5 +4,6 @@ gender female
voicing 80
pitch 140 220

stressLength 400 400 400 400 500 500 500 500
mbrola de1 de2_phtrans


+ 1
- 0
espeak-ng-data/voices/mb/mb-de2 View File

@@ -2,6 +2,7 @@ name german-mbrola-2
language de 6
gender male
voicing 80
stressLength 400 400 400 400 500 500 500 500

mbrola de2 de2_phtrans


+ 1
- 1
espeak-ng-data/voices/mb/mb-de4 View File

@@ -5,4 +5,4 @@ gender male
voicing 130

mbrola de4 de4_phtrans
stressLength 400 400 400 400 500 500 500 500

+ 1
- 1
espeak-ng-data/voices/mb/mb-de5 View File

@@ -1,7 +1,7 @@
name german-mbrola-5
language de 7
gender female
stressLength 400 400 400 400 500 500 500 500
pitch 140 220
mbrola de5 de6_phtrans 22050


+ 1
- 1
espeak-ng-data/voices/mb/mb-de6 View File

@@ -1,6 +1,6 @@
name german-mbrola-6
language de 6
gender male
stressLength 400 400 400 400 500 500 500 500
mbrola de6 de6_phtrans 22050


+ 1
- 1
espeak-ng-data/voices/mb/mb-de7 View File

@@ -1,7 +1,7 @@
name german-mbrola-7
language de 7
gender female
stressLength 400 400 400 400 500 500 500 500
voicing 150
pitch 140 220
mbrola de7 de6_phtrans 22050

+ 7
- 11
phsource/mbrola/de2 View File

@@ -34,21 +34,16 @@
0 _| NULL 0 _
0 pF NULL 0 pf
0 r NULL 0 R
0 V# NULL 0 R
0 V# NULL 0 6
0 UR NULL 60 U R

0 eI VWL 60 e j
0 eI VWL 60 E j
0 eI NULL 0 e:
0 oU NULL 0 o:
0 W~ NULL 0 E~
0 A~ NULL 0 a~
0 O~ NULL 0 o~

// phonemes for Spanish words
0 e NULL 0 E
0 ** NULL 0 R
0 n^ NULL 40 n j

// phonemes for English words
0 @L NULL 50 @ l
0 @2 NULL 0 @
@@ -62,7 +57,7 @@
0 3: NULL 0 @
0 i@ NULL 60 i: @
0 i@3 NULL 60 i: @
0 e@ NULL 60 e: @
0 e@ NULL 60 E 6
0 o@ NULL 70 o: 6
0 O@ NULL 70 O 6
0 O: NULL 0 O
@@ -70,10 +65,11 @@
0 U@ NULL 60 U @
0 aI@ NULL 70 aI @
0 aU@ NULL 70 aU @
0 3: NULL 60 E: R


0 dZ NULL 0 tS
0 w NULL 0 v
0 T NULL 0 f
0 D NULL 0 v
0 T NULL 0 f
0 i NULL 0 i:
0 EI NULL 0 e:


+ 6
- 9
phsource/mbrola/de4 View File

@@ -26,12 +26,12 @@
0 l- NULL 0 l
0 w/ NULL 0 w
0 j/ NULL 0 j
0 ; NULL 0 NULL
0 ; NULL 0 j
0 g- NULL 0 NULL
0 @- NULL 0 NULL
0 * NULL 0 R
0 V# NULL 0 R
0 UR NULL 60 U R
0 V# NULL 0 6
0 UR NULL 60 U 6

0 E2 NULL 0 E
0 y NULL 0 Y
@@ -51,12 +51,9 @@
0 O~ NULL 0 o~

16 _| VWL 0 ?
//16 _! VWL 0 ?

// phonemes for Spanish words
0 e NULL 0 E
0 ** NULL 0 R
0 n^ NULL 40 n j
16 _! VWL 0 ?
16 ? VWL 0 ?
16 _^_ VWL 0 NULL

// phonemes for English words
0 @L NULL 0 L

+ 2
- 9
phsource/mbrola/de6 View File

@@ -25,7 +25,7 @@
0 _! VWL 0 ?
0 pF NULL 0 pf
0 r NULL 0 R
0 V# NULL 0 R
0 V# NULL 0 6
0 UR NULL 60 U R


@@ -35,20 +35,13 @@
0 A~ NULL 0 a~
0 O~ NULL 0 o~

// phonemes for Spanish words
0 e NULL 0 E
0 ** NULL 0 R
0 n^ NULL 40 n j

// phonemes for English words
0 @L NULL 40 @ l
0 m- NULL 20 @ m
0 n- NULL 20 @ n
0 @2 NULL 0 @
0 @5 NULL 0 @
0 a# NULL 0 @
0 I2 NULL 0 I
0 i NULL 0 I
0 i NULL 0 i:
0 aa NULL 0 a
0 V NULL 0 a:
0 0 NULL 0 a:

+ 196
- 130
phsource/ph_german View File

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


//=========================================================
// German
@@ -9,34 +9,148 @@
phoneme @ // Schwa
vwl starttype #@ endtype #@
unstressed
length 120
length 80
IF nextPh(r) THEN
IF next2Ph(isVowel) THEN
ELSE
ChangePhoneme(3)
ENDIF
ENDIF
IF nextPh(n) THEN
length 15
ENDIF
FMT(vowel/@_4)
endphoneme


phoneme 3 // open Schwa+r
vwl starttype #@ endtype #@
phoneme A~
vowel starttype #a endtype #a
length 260
FMT(vnasal/aa_n4)
endphoneme


phoneme l2 // as [l] but devoice previous phoneme
liquid lengthmod 7
ChangePhoneme (l)
endphoneme


phoneme b
vcd blb stp
voicingswitch p
IF nextPh(l2) THEN
ChangePhoneme(p)
ENDIF
CALL base/b
endphoneme


phoneme d
vcd alv stp
voicingswitch t
IF nextPh(l2) THEN
ChangePhoneme(t)
ENDIF
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk

IF PreVoicing THEN
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d)
ENDIF

FMT(d/d) addWav(x/d)
endphoneme

phoneme g
vcd vel stp
voicingswitch k
IF nextPh(l2) THEN
ChangePhoneme(k)
ENDIF
CALL base/g
endphoneme


phoneme k
vls vel stp
voicingswitch g
lengthmod 2
Vowelin f1=0 f2=2300 200 300 f3=-200 80
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20

IF KlattSynth THEN
Vowelout f1=0 f2=2300 200 300 f3=-200 80 rms=20
ENDIF

IF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
WAV(ustop/k_)
ELIF nextPh(i:) OR nextPh(;) THEN
WAV(ustop/ki)
ELIF nextPh(l) THEN
WAV(ustop/kl)
ELIF nextPh(@-) THEN
WAV(ustop/k_unasp, 70)
ENDIF
WAV(ustop/k)
endphoneme


phoneme p
vls blb stp
voicingswitch b
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

IF nextPh(isPause2) THEN
WAV(ustop/p_)
ELIF nextPh(r) THEN
WAV(ustop/p)
ELIF nextPh(@-) THEN
WAV(ustop/p_unasp)
ELIF nextPh(l) THEN
WAV(ustop/pl)
ENDIF
WAV(ustop/p)
endphoneme


phoneme 3 // Schwa+r
vwl starttype #a endtype #a
unstressed flag1
length 140
IF thisPh(isWordEnd) THEN
FMT(vowel/V_3)
ELSE
FMT(vowel/V_3)
ENDIF
endphoneme

phoneme 3: // Schwa+r
vwl starttype #a endtype #a
unstressed flag1
length 160
IF thisPh(isFinalVowel) THEN
length 210
length 220
IF thisPh(isWordEnd) THEN
FMT(vowel/V_3)
ELSE
FMT(vowel/a#_3)
ENDIF
FMT(vowel/a#_3) // in eSpeak 1.44, this used vowel/V_3 at end-of-word
endphoneme


phoneme a
vwl starttype #a endtype #a
length 110
IF nextPh(isRhotic) THEN
length 125
ENDIF
FMT(vowel/a)
endphoneme

@@ -44,9 +158,6 @@ endphoneme
phoneme E
vwl starttype #e endtype #e
length 120
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/e_mid2)
endphoneme

@@ -55,9 +166,6 @@ phoneme E2 // as[E] but reduces to @ if unstressed
vwl starttype #e endtype #e
length 120
ChangeIfDiminished(@)
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/e_mid2)
endphoneme

@@ -65,9 +173,6 @@ endphoneme
phoneme I
vwl starttype #i endtype #i
length 120
IF nextPh(*) THEN
length 135
ENDIF
IfNextVowelAppend(;)
FMT(vowel/ii)
endphoneme
@@ -80,12 +185,18 @@ phoneme I:
endphoneme


phoneme iR // TEST "vier" = [f'iR] not successful
vwl starttype #i endtype #@
ipa i?
flag1
length 240
FMT(vdiph2/i@_3)
endphoneme


phoneme O
vwl starttype #o endtype #o
length 120
IF nextPh(*) THEN
length 135
ENDIF
FMT(vowel/oo)
endphoneme

@@ -93,12 +204,11 @@ endphoneme
phoneme U
vwl starttype #u endtype #u
length 120
IF nextPh(*) THEN
length 135
ENDIF

IF nextPh(r) AND next2Ph(isNotVowel) THEN
ChangePhoneme(UR)
IF nextPh(r) THEN
IF next2Ph(isVowel) THEN
ELSE
ChangePhoneme(UR)
ENDIF
ENDIF
FMT(vowel/uu_2)
endphoneme
@@ -125,10 +235,6 @@ phoneme i:
IF prevPh(w) THEN
VowelStart(w/wi2)
ENDIF
// IF nextPh(r) AND next2Ph(isNotVowel) THEN
// ChangePhoneme(iR)
// ENDIF
FMT(vowel/i_2)
endphoneme

@@ -166,17 +272,15 @@ endphoneme


phoneme EI
vwl starttype #e endtype #i
length 210
FMT(vdiph/eei)
import_phoneme en-us/eI
endphoneme



phoneme OY
vwl starttype #o endtype #i
vwl starttype #o endtype #e
length 220
FMT(vdiph/oi)
FMT(vwl_de/eu)
endphoneme


@@ -209,29 +313,23 @@ endphoneme


phoneme y
vwl starttype #u endtype #u
ipa ʏ
vwl starttype #@ endtype #u
ipa ?
length 110
IF nextPh(*) THEN
length 115
ENDIF
FMT(vowel/yy_4)
FMT(vwl_de/ue_short)
endphoneme


phoneme Y:
vwl starttype #@ endtype #@
length 180
FMT(vowel/y#)
vwl starttype #@ endtype #u
length 220
FMT(vwl_de/y#)
endphoneme


phoneme W
vwl starttype #@ endtype #@
length 150
IF nextPh(*) THEN
length 160
ENDIF
FMT(vowel/oe)
endphoneme

@@ -240,8 +338,9 @@ endphoneme
// CONSONANTS
//===========


phoneme t
vls alv stp
vls alv stp
voicingswitch d
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
@@ -258,14 +357,13 @@ phoneme t
endphoneme



phoneme ts
import_phoneme consonants/ts
endphoneme


phoneme pF
vls bld afr
vls blb afr
ipa pf
Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
lengthmod 2
@@ -324,7 +422,7 @@ phoneme j
VowelEnding(j/xj, -30)

IF prevPh(isPause) THEN
FMT(j/_j_short) // difference from base1/j
FMT(j/_j_short) // difference from base/j
ENDIF
ELSE
// no vowel follows
@@ -334,109 +432,77 @@ phoneme j
endphoneme


phoneme r // note, following consonant must be 'ustop/t_' not 'ustop/tr' etc.
liquid alv rhotic
phoneme r
liquid uvl
ipa ʀ
lengthmod 6

IF prevPhW(@-) THEN
length 110
IF nextPhW(isVowel) THEN
FMT(r3/r_uvl) addWav(r3/r_uvl.wav, 50)
ELSE
IF nextPhW(isVowel) THEN
IF prevPhW(isVowel) THEN
ChangePhoneme(R)
ELSE
IF prevPhW(t) THEN
PauseBefore 30
ELSEIF prevPhW(d) OR prevPhW(b) OR prevPhW(g) OR prevPhW(k) OR prevPhW(p) THEN
PauseBefore 15
ELSE
InsertPhoneme(@-)
ENDIF
ENDIF
ENDIF
ENDIF

IF prevPh(isFlag1) THEN
IF prevPh(isFlag1) THEN
ChangePhoneme(NULL) // 'r' is already included in the previous vowel
ELSE
ChangePhoneme(V#)
ENDIF
ENDIF

CALL base1/*
endphoneme


phoneme V# // used for 'r' after a vowel (to create a diphthong)
liquid
lengthmod 7
IF nextPhW(isVowel) THEN
ChangePhoneme(r)
ENDIF

phoneme iR // TEST "vier" = [f'iR] not successful
vwl starttype #i endtype #@
ipa iɐ
flag1
length 240
FMT(vdiph2/i@_3)
ipa ?
IF prevPh(#a) THEN
FMT(r/V_2_)
ENDIF
IF prevPh(e:) OR prevPh (Y:) THEN
FMT(vowel/V_3)
ENDIF
IF prevPh(E) THEN
FMT(r/V_2_)
ENDIF
IF prevPh(#u) THEN
FMT(r/@_)
ENDIF
FMT(r/V_)
endphoneme


phoneme UR
vwl starttype #u endtype #@
ipa ʊɐ
ipa ??
flag1
length 180
FMT(vwl_de/uu_@)
endphoneme


phoneme r2
vcd alv flp

IF prevPhW(isVowel) THEN
ChangePhoneme(*)
ENDIF

phoneme oU // for English words
import_phoneme en-us/oU
endphoneme

phoneme A~
vwl starttype #a endtype #a
length 260
FMT(vnasal/aa_n4)
InsertPhoneme(@-)
ChangePhoneme(*)
endphoneme


phoneme l2 // as [l] but devoice previous phoneme
liquid lengthmod 7
ChangePhoneme (l)
endphoneme

phoneme b
vcd alv frc sib
voicingswitch p
IF nextPh(l2) THEN
ChangePhoneme(p)
ENDIF
CALL base1/b
phoneme oU // for English words
import_phoneme en-us/oU
endphoneme

phoneme d
vcd alv stp
voicingswitch t
IF nextPh(l2) THEN
ChangePhoneme(t)
ENDIF
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk

IF PreVoicing THEN
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d)
ENDIF

FMT(d/d) addWav(x/d)
phoneme W~
vwl starttype #@ endtype #@
length 200
FMT(vnasal/W_n)
endphoneme

phoneme g
vcd vel stp
voicingswitch k
IF nextPh(l2) THEN
ChangePhoneme(k)
ENDIF
CALL base1/g
endphoneme

BIN
phsource/r/V_ View File


BIN
phsource/r/V_2_ View File


BIN
phsource/vwl_de/eu View File


BIN
phsource/vwl_de/ue_short View File


BIN
phsource/vwl_de/y# View File


Loading…
Cancel
Save