Browse Source

[1.41]

Added language da (Danish)
Fixed to wave_sada.cpp


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

+ 239
- 0
dictsource/da_list View File

@@ -0,0 +1,239 @@
// This file is UTF8 encoded
// Spelling-to-phoneme words for Danish

// sounds are specified for these accented characters
// use the $accent attribute here to force the use of the
// accent table when speaking the name of the character.
à $accent $atend // this can be a word
ç $accent
é $accent
ê $accent
ä $accent
ë $accent
ï $accent
ö $accent
ü $accent
č $accent
š $accent
ş $accent
ž $accent
ñ $accent

// accent names
_lig ligatur
_acu akj'u:t
_ac2 dV@lakj'u:t
_brv br'i:v
_ced s@d'ila
_cir s'3:kVmfl,Eks
_dia 'umlaut
_dot wiDd'0tabVv
_grv gr'a:v
_hac h'atS,Ek
_mcn m'akr,0n
_ogo '0g0n,Ek
_rng ring
_stk str'ouk
_tld tild@

_smc sm'O:lk,ap
_rev riv'3:sd
_tur t'3:nd
_bar _b'A@
_rfx rtroflEks
_crl k'3:l
_hok h'uk


// character names
_cap stoVt boustaw
_?A boustaw
_?? symboL
_#9 tab
_#32 blank

* 'asd&r,isg $max3
% pRos'end $max3
@ sn,&:bel'&:
/ sgRVsdrai $max3
\ 'Vmvendsgr,VsdRai $max3
_, koma:
_; se:mi:ko:lVn
_: ko:lVn
_. pun^tum
_? spWrgsmVlstajn
_! udRVbstejn
_- binnesdrai
__ bOndsdrai
& ou
£ pun?
€ euro
© kopyrajt
= l'imeD
# n'OmV
// numbers
_0 'nOl
_1 'e:n
_2 t'o:
_3 tR'&:
_4 f'i:3
_5 f'Em
_6 s'Egs
_7 s'yw
_8 'O:d@
_9 n'i:
_10 t'i:
_11 'Elv@
_12 t'Vl
_13 tR'Ad@-n
_14 fj'ord@-n
_15 f'Emd@-n
_16 s'ajsd@-n
_17 s'Yd@-n
_18 'ad@-n
_19 n'ed@-n
_2X t'y:w
_3X tR'ADv@
_4X f'W:*3
_5X hal't*es
_6X t*'es
_7X halfj'&rs
_8X f'irs
_9X half'Ems
_0C h'un*3D@
_0M1 t'u:s@-n
_1M2 'e:n||milij'o:n
_0M2 milij'o:n3
_1M3 'e:n||milij'A:d
_0M3 milij'A:d3
_1M4 'e:n||bilij'o:n
_0M4 bilij'o:n3

_0and 3
_dpt _k,Vm&:


// function words

den dEn $u
en e:n $u
et ed $u

// conjunctions
og V $u+ $pause // and
men $pause // but
eller $u+ $pause // or
mens $pause // while
for fV
fordi fVdi $pause // because
når nVr $pause // while
som $u+ $pause // who (relative)
der dA $u+ $pause

// prepositions
på pO $u+
til $u+ // toward
fra $u+ // from
ved $u+ // at
om $u+ $brk // about, within
med $u+ // with
af a? $u+ // of
at at $u+ // to
hos $u+ // at



// pronouns
jeg jai $u // I
du $u
de di $u
han $u
hun $u
det de $u
vi $u
i _i: $u+
mig maj $u // me
dig daj $u
dem $u
ham $u
hende $u
sig saj $u
os $u
jer $u
denne $u+ // this
dette $u+
disse $u+ // these


// possessive pronouns
Min min $u
Mit mit $u
Mine min@ $u
din di?n
dit di?t $u
dine $u
deres $u
hans $u
hendes $u
dens $u
dets $u
sin si?n
sit si?t $u
sine $u
vor $u
vort $u
vore $u
vores $u
jeres $u


// auxillary verbs
er $u+ // is
var vAr $u+ // was
har hAr $u+ // has
havde $u+ // had
vil $u+ // will
skal $u+ // shall
kan $u+ // can
skulle $u+ // should
må $u+ // may
bør $u+ // ought

// letter names
b be:
c se:
d de:
f Ef
g ge:
h hO:
_i i:
j joD
k kO:
l El
m Em
n En
p pe:
q ku:
r Er
s es
t te:
u u?
v ve:
w d'Vbeltve:
x Eks
y Y?
z sEt


// exceptions
egen a:j@n
eget a:j@D
egne a:in@
igen igen
enter entV
også Vs@
sig sAi // oneself
sagde sa@ // said
Ny ny // new


+ 552
- 0
dictsource/da_rules View File

@@ -0,0 +1,552 @@


// This file is UTF8 encoded

// Spelling-to-phoneme rules for Danish



.replace
ü y



.L01 k g nk ng // velars





.group a
a a?
C) a (C a
a (tion a
a (CK a
a (nK a
a (r+ A:
r) a A:
r) a (CK A
ai (K aj

au (K au

aw (K aw
ay (K aj
aa O:
r) aa O:





.group b

b b
bb b
_) be (@P2 be

_) be (d bE



.group c

c k

c (e s
c (i s
ch S
e) c (h k
c (ha S
cc ks
c (yk s
fa) c (ad s
fa) c (on s




.group d
d d
dd D
A) d (_ D
A) d D
A) d (A D
A) d (i d
A) d (ig D
A) d (isk D
A) d (es D
A) d (et D
&) de (_ D@
i) d d
i) d (e d
l) d (+
æ) d d
An) d (rA d
in) d (C
in) d (ue d
ø) d (C D
ø) d (t
å) d (an d
d (CA D
d (t ?
be) d (st :
a) d (s
i) d (s
r) d (K
in) d
ir) d (_ d
or) d (en
nor) d
pu) d (s
ur) d (e d
ver) d (en d


.group e
e e
r) e (j a
e (rK &
b) e (ds E
d) e (_ @
ed) e (- @D
g) e (C e
g) e (js aj
r) e V%
@st) e (n e:
carst) e (n @
karst) e (n @
Kr) e (ag e
r) e (l e
r) e (CK e
r) e (L01 Aj
m) eg aj
n) e (K e
ea i:
ee e:
eg (e e@
r) eg (n A:j
r) e (d e
r) e (v e
ei A:j
ej (+ ai
ffic) e
ffic) e (r e
&) e (_ @:
&r) e (_ e

&) ede (_ @D@
&r) ede (_ 3D@
&r) en (_ 3n
&r) en (s_ 3n
&r) et (_ 3D
&) er (_ 3
&) en (_ @-n
&) ene (_ @-n@
&) ende (_ @-nn@
&) eren (_ 3r3n
&) eren (s_ 3r3n
&) es (_ @s
&) et (_ @D
ir) e (n 'e
yr) e (n 'e







.group f

f f

ff f
_) for (@P3 f%V
_) for (um f%or
a) f (A u
a) f (C u
a) f (rik f
a) f (ten f
a) f (tes_ f
Ca) f (t f
ra) f (ik f
kra) f (t f



.group g
g g
a) g (A w
a) g (C ?w
a) g (e
la) g (e
g) g g
e) g (e
n) g n^
i) g (t g
i) g j
i) g (A
r) g (_ w
r) g (e w
ør) g (s
l) g (_ j
u) g g
u) g (e
u) g (l ?
u) g (t g
y) g (e j
y) g (A g
ø) g (e
ø) g (n
&e) g j
ba) g (e
da) g (e
rea) g (er g
aga) g (e S
aga) g (te g
arran) g (e S
eta) g (e S
a) g (A j
l) g (_ j
l) g (e j
l) g (s j
Ca) g (t k
o) g u
æda) g (og g'
no) g (e
no) g (le

o) g (r g
o) g (n g
o) g (s u
o) g (st k
ø) g (_ j
ø) g (t g
lå) g (e u
vå) g (e u
vå) g (ne u
go) g =
lo) g =
ør) g w
a) g (K ?
_) ge (@P2 ge

_) ge (nere Se
_) ge (nert Se
_) ge (nerel ge
_) ge (nera ge
ta) g (e


.group h

h h
h (j
h (v
A) h (K
t) h (en h




.group i
i i:
i (CK i
ig (_ i
ige (_ i;i
i (nK i
i (nn e
i (mK e
l) i (e j
n) i (e i

t) i (e j

s) i (e j

t) i (on // i ommitted because of sj

s) i (on j





.group j

j j
j (aw dZ
j (ack dZ
j (ohn dZ
o) j (e S
a) j (o S


.group k

k k

kk k

s) k g

&) k g // after stressed vowel

&) kk g





.group l

l l

ll l

ld (K l

&) ld (e_ l

&) ld (ekk l





.group m
m m?
mm m
m (A 'm



.group n

n n

nn n
nd (e n
nd (K n
nd (ow nd
n (k N

n (g





.group ng

ng (a ng
ng (i ng
arra) ng n^S



.group o
o o:
kr) o (C o
cr) o (C 'o
o (CK o
o (r O-
o (gK o
oo u
ou Vw
ov Vw
@) o (C V
_C) o (l 'V
_C) o (p 'V
_CC) o (p 'V
_CC) o (l 'V
_f) o (r 'V
l) o (kk V
p) o (li o
st) o (K 'o
ati) o (n 'o


.group p

p p

pp p

&) p b

&) pp b


.group q

q k

qu kv





.group r
r r
b) r r
ø) r V:
A) r r
Ae) r V
&) rd (e_ r
&) rd (eKK r
bu) rd (eK rd
no) rd (eKK r
no) rd (isk rd
tu) rd (eK rd
ve) rd (eKK rd




.group s

s s
s (p s
s (C s
s (A s
s (ie s
s (ion S



s (j s

s (ch S



.group t

t t
A) t (_ t:
th t
&) t t

&) tt t

&) th d

t (ie t

t (ion+ sj'





.group u
u u
u (CK u
u (nK u
u (mK O
a) u (g u
l) u (k O?
l) u (kas u
m) u (k O?
comp) u (ter ju
r) u u
r) u (m O
r) u (nd O?
g) u (st O
r) u (s u


.group v
v v
vv v
A) v (K w
a) v (n u
&A) v v
&r) v v
l) v (C
l) v (A




.group w

w w





.group x

x gs

_) x s

n) x s





.group y

y y:

r) y Y:
r) y (CK Y
y (CK Y-
y (nK Y
y (mK Y
d) y (_ i
b) y (A y
n) y (A y



.group z

z s

zz s

.group æ
æ E?
æ (CK E:
l) æ E:
r) æ &:
r) æ (CK e
r) æ (L01 Aj
t) æ (C E:
v) æ E:


.group ø
ø W?
ø (CK W:
b) ø (g W
f) ø (r W:
h) ø (r W:
k) ø (r W:
l) ø (s W:
m) ø W:
r) ø W:
s) ø W:
ø (r w
r) ø (CK W:
øg Vj
øj Vj

.group å
å O:?
å (CK V
å (r+ 0:
l) å (r V?

.group
$ dVlar



+ 1
- 0
dictsource/de_list View File

@@ -26,6 +26,7 @@ _. pUnkt
@ kl'ame:*,af@
~ tIld@
\ bEkslES
° g@-*A:t

_, kOma
_| paIp

+ 4
- 4
dictsource/dict_phonemes View File

@@ -468,10 +468,10 @@ Dictionary da_dict
E i o O u V W y
Y

* : ; b d D f g
h j k l m n N p
r R R3 s S; t tS; v
w
* - : ; ? b d D
dZ f g h j k l L
m n N n^ p r R s
S t tS v w


Dictionary sk_dict

+ 74
- 9
dictsource/en_list View File

@@ -311,7 +311,15 @@ _ord T // default ending
_1o f'3:
_2o s'Ek
_3o T'3:
_5o f'I
_5o f'If
_20o tw'Enti@
_30o T'3:ti@
_40o f'o@ti@
_50o f'Ifti@
_60o s'Iksti@
_70o s'Ev@nti@
_80o 'eIti@
_90o n'aInti@
_0Co h'Vndr@dT


@@ -366,6 +374,7 @@ ui $abbrev
uk $abbrev
url $abbrev
usa $abbrev
usb $abbrev
utc $abbrev
u.s ju:'Es
VI $abbrev
@@ -575,6 +584,7 @@ approximate a2pr0ksImeIt $verb
arab ar@b
arabic $1
arable ara2b@L
arc A@k // arcing
arcade $2
arch A@tS
arches A@tSI2z
@@ -588,9 +598,9 @@ arisen a2rIz@n
armslength ,A@mzl'ENT
arouse a2raUz
asbestos asb'Est@s
ascertain as3teIn
arsenal A@s@n@L
arsenic A@snIk
ascertain as3teIn
asiatic eISI'atIk
askance a2skans
ass as
@@ -760,6 +770,7 @@ chapel tSap@L
charade Sa2rA:d
charismatic karIsm'atIk
charit tSarIt // charitable
chemise SEm'i:z
chic Si:k
chimpanzee $3
chisel tSIz@L
@@ -773,7 +784,7 @@ cigarette sIg@'rEt
circumference $2
circumvent s3:k@mvEnt
?5 circumvent sIRk@mvEnt
citizen sItIz@n
cleanliness klEnlIn@s
cleanse klEnz
?!3 clerk klA@k
cliche kli:SeI
@@ -802,6 +813,7 @@ colonel k3:n@L
?5 colonel kVRn@L
combat k0mbat // combating
combo k0mboU
comely kVmlI // comeliness
comer kVm3
comet k0mI2t
commence k@mEns
@@ -872,6 +884,7 @@ crevasse kr@vas
crisis kraIsIs
crises kraIsi:z
christmas krIsm@s
croissant kwA:sA~
crooked krUkId
crusade $2
cuckoo kUku:
@@ -1017,6 +1030,7 @@ entree 0ntreI
envelope Env@loUp $only
envelopes Env@loUps
envelope $verb
epiphany I2pIf@nI
epistle I2pIs@L
epitome I2pIt@mI
equation I2kweIZ@n
@@ -1087,6 +1101,7 @@ fete feIt
fetus fi:t@s
fi f,aI // as in "hi-fi"
fiasco fi:'askoU
fiat fi:@t
fiery faI@rI
finale fI2nA:lI
finance faInans $only
@@ -1245,6 +1260,7 @@ hypoxia haIp'0ksi@

icon aIk0n
iconbar aIk0nbA@
idly aIdlI
ignoramus Igno@r'eIm@s
imagine I2madZI2n
impedance Imp'i:d@ns
@@ -1252,8 +1268,8 @@ imperative Imp'Er@tIv
impercept $3 // imperceptible
impi $1
impinging Imp'IndZIN
imprecise Impr'Is'aIs
impregnable I'mpr'Egn@b@L
imprecise ImprIs'aIs
impregnable Impr'Egn@b@L
inanimate In'anIm@t
inappropriate ,Ina2proUpri@t
incense Ins'Ens $verb
@@ -1347,6 +1363,7 @@ las ,las
lasagne l@zanj@
laser leIz3
lasso las'u:
latte lateI
lawyer lOI3
lava lA:v@
le l@ $only
@@ -1369,6 +1386,7 @@ ligate li:geIt
lilac laIl@k
lily lIlI
limit lImI2t // limited
limo lImoU
limousine lIm@zi:n
lingerie l0nZ@rI
linen lInI2n
@@ -1554,6 +1572,7 @@ offer 0f3
offers 0f3z
ogre oUg3
okay oUk'eI
omeg oUm'eIg@
omelet 0ml@t
omelette 0ml@t
omnibus $1
@@ -1617,6 +1636,8 @@ paren pa2rEn // "parenthesis"
pariah p@raI@
parole pa2r'oUl
passenger pasI2ndZ3
passerby pas3b'aI
passersby pas3zb'aI
pasted peIstI2d
pasting peIstI2N
pastry peIstrI
@@ -1769,6 +1790,7 @@ rawest rO:@st
re r,i:
read ri:d
read rEd $past $only
readd ri:'ad
readme ri:dmi:
reading ri:dI2N
readonly ,ri:d'oUnlI
@@ -1823,6 +1845,7 @@ renegade rEn@geId
repel rI2pEl
replay ri:pleI
reply rI2plaI // for replied
repo ri:poU
repost r,i:p'oUst
reprisal rI2praIz@L
reputable rEpju:t@b@L
@@ -1893,6 +1916,8 @@ scared ske@d
scaring ske@rI2N
scenic si:nIk
scald sk0ld
scepter sEpt3
sceptre sEpt3
sclera skli@r
scourge sk3:dZ
scythe saID
@@ -1944,6 +1969,7 @@ sierra sI'e@r@
signage saInI2dZ
signal sIgn@l // signaled
signer saIn3
signup saInVp
sikh si:k
silhouette sI2lUw'Et
silo saIloU
@@ -2032,6 +2058,7 @@ sync sINk
synthesis sInT@sIs $only
synthesise sInT@saIz

tableau tabloU
tablet tabl@t
taboo $2
tabu tabu:
@@ -2235,6 +2262,7 @@ writable raIt@b@L
writh raID
wrongdoing r0Ndu:I2N
wuss wUs
wysiwyg wIzi:wIg

xmas Eksma2s

@@ -2309,6 +2337,7 @@ Algiers $2
Amman a2m'A:n
Andes andi:z
Angeles andZ@li:z
Angolan aNg'oUl@n
Antarctica $2
Antigua ant'i:g@
Antilles ant'Ili:z
@@ -2317,11 +2346,12 @@ Armageddon A@ma2g'Ed@n
Arkansas A@k@nsO:
Athens aTI2nz
Bahrain $2
Belgrade $2
Barents bar@nt|s
Bangledesh baNgl@d'ES
Barbados bA@'beId0s
Barents bar@nt|s
Beijing $2
Beirut beIr'u:t
Belgrade $2
Belize bEl'i:z
Bengal b,Eng'O:l
Benin bEnIn
@@ -2342,6 +2372,7 @@ Canberra kanb@r@
Carolina kar@l'aIn@
Caribbean kar@b'i@n
Ceylon $2
Cheyenne SaI'an
Chile tSIlI
Cologne k@loUn
Columbus $2
@@ -2462,7 +2493,6 @@ Suriname sU@rIn'am
Taipei t,aIp'eI
Taiwan taI'wan
(tel aviv) t,El||a2v'i:v
Tibet tI2b'Et
Toronto t@r0ntoU
Timor ti:mo@
Tokyo toUkIoU
@@ -2484,6 +2514,7 @@ zaire zaI'i@3
zimbabwe zI2mbA:bwI
zimbabwean zI2mbA:bwI@n

Aaliyah @li:@
Aaron e@r@n
Abe eIb
Abu abu:
@@ -2491,6 +2522,7 @@ Abraham eIbr@ham
Ada eId@ $onlys
Adrian eIdri@n
Agnes agn@s
Aguilera agi:l'e@r@
Ahab eIhab
Ahmed axmEd
Alan al@n
@@ -2505,20 +2537,30 @@ Amy eImI
Andre 0ndreI
Anthony ant@nI
Anton ant0n
Aoife i:f@
Archibald A@tSIbO:ld
Archie A@tSI
Ares e@ri:z
Astley astlI
Baez baI'Ez
Bambi bambi:
Barack ba2rA:k
Barbara bA@b@r@
Boris b0rIs
Brien braI@n
Candace kandIs
Carol kar@l
Calliope ka2laI@pI
Cassandra k@sandr@
Cassey keIsI
Catherine kaTrI2n
Cecile sEsi:l
Cher Se@
Cheri Se@r'i:
Cherie Se@r'i:
Chloe kloUI
Chris krIs
Connie k0nI
Connor k0n3
Daphne dafnI
Darryl dar@L
@@ -2529,17 +2571,22 @@ Denise d@ni:s
Derek dErIk
Dinah daIn@
Dominic d0mI2nIk
Donaghy d0n'hi:
Doris d0rIs
Dougall du:g@L
Dylan dIl@n
Edith i:dIT
Elizabeth I2lIz@b@T
Emma Em@
Emmy EmI
Etheridge ET@-rIdZ
Euler OIl3
Evan Ev@n
Gary garI
Geraint gEraInt
Gibbs gIbz
Giles gaIlz
Gillian dZIli:@n
Gladys gladIs
Glynn glIn
Graeme greI@m
@@ -2556,11 +2603,13 @@ Imogen Im@dZ@n
Irene aIri:n
Isaac aIs@k
Isabel Iz@bEl
Isla aIl@
Isiah aIz'aI@
Ivan aIv@n
Jacob dZeIk@b
Jamie dZeImI
Jacques Zak
Jamie dZeImI
Jared dZarEd
Jesus dZi:z@s
Jonah dZoUn@
José hoUs'eI
@@ -2574,12 +2623,14 @@ Katie keItI
Kieran ki@r@n
Laurence l0r@ns
Lawrence l0r@ns
Leanne li:'an
Lenore lEn'o@
Leroy li:rOI
Liam li:@m
Louis lu:I
Louise lu:w'i:z
Madeline mad@lI2n
Maeve meIv
Mahmoud maxm'u:d
Malcolm malk@m
Maria ma2ri:@
@@ -2595,6 +2646,7 @@ Michael maIk@L
Michele mI2SEl
Michelle mI2SEl
Miguel mi:Q'El
Mildred mIldrI2d
Minerva mI2n3:v@
Mohamed moUh'amI2d
Mohammad moUh'amI2d
@@ -2618,15 +2670,24 @@ Penelope p@nEl@pI
Phoebe fi:bi:
Rachel reItS@L
Raul raU'u:l
Reggie rEdZI
Reynold rEn@Ld
Rhys ri:s
Rihanna rI'A:n@
Roderick r0drIk
Rosario roUz'A@rIoU
Sabina sa2bi:n@
Sabine sa2bi:n
Samantha s@manT@
(Santa claus) s'ant@||kl'O:z
Saoirse se@S@
Sarah se@r@
Seamus SeIm@s
Sean SO:n
Sebastian $2
Sheila Si:l@
Sinead SI2neId
Siobhan S@vO:n
Sonia s0nj@
Sophie soUfI
Stephen sti:v@n
@@ -2634,6 +2695,7 @@ Stewart stju:3t
?3 Stewart stu:3t
Stuart stju:3t
?3 Stuart stu:3t
Suzy su:zI
Theresa t@ri:z@
Thomas t0m@s
Tina ti:n@
@@ -2650,6 +2712,8 @@ Campbell kamb@l
Cthulhu k@-Tu:Lu:
Chrysler kraIzl3
Disney dIznI
Dolce d0ltSeI
Hades heIdi:z
Patel pa2tEl
Primavera pri:m@v'e@r@
Prentice prEntIs
@@ -3107,6 +3171,7 @@ like laIk $strend2
?3 err e@
?3 fortune fO@tS@n
?3 garage ga2rA:Z
?3 happy hapi:
?3 herb 3:b
?3 hurricane h3:@keIn
?3 investigative Inv,EstI2g'eItIv

+ 25
- 5
dictsource/en_rules View File

@@ -202,6 +202,7 @@
_) aber (r a2bE
_) ab (i ab
_) ab (ide a2b
_l) ab (i eIb
st) ab (il eIb
C) ab (ilit+ @b
ab (ject ab
@@ -329,6 +330,7 @@
l) ad (en eId
c) ad (enc eId
ad (eq ad
l) ade (sh ad'E
_) ad (i ad
gl) ad (i ad
adjec adZEk
@@ -420,6 +422,7 @@
m) ag (enta @dZ
agh (_ A:
agio (_ 'A:dZIoU
t) agi (o eIdZj
_) ag (l@ a2g
&) ag (on_ @g
dr) agon ag@n
@@ -628,6 +631,7 @@
fl) ame eIm
As) ame (_ 'A:mE
_) ame (l a2mi:
_n) ame eIm
&) am (ent @m
amer (ic a2mEr
c) am (el am
@@ -1322,7 +1326,7 @@
ch (orA k
ch (ore_ tS
ch (ord k
an) ch (or k
an) chor k@
o) ch (_ k
oo) ch (_ tS
_ta) ch k
@@ -1480,7 +1484,7 @@
.group de
de (act d%i:
de (arc d%i:
de (bug di:
debug di:bVg
_) de (ba dI2
_) de (c@ dI2
deca (den dEk@
@@ -1656,6 +1660,7 @@
m) e (chanic I
@@) eble (_ @b@L
vert) e (b I
e (bria i:
cel) e (bra @
sp) e (cia E
sp) e (cies i:
@@ -1915,6 +1920,7 @@
eig (n eI
n) eil i:@L
@) ei (n_ i:
ei (nate I
@) ei (ne i:
b) ei (ng i:I
eir e@
@@ -2085,7 +2091,7 @@
en (ti En
en (tial 'En
perc) en (t En
desc) en (t En
_desc) en (t En
asc) en (t En
ns) en (t En
ss) en (t 'En
@@ -2177,6 +2183,7 @@
sph) ere (_ i@3
c) ere (_ 'i@3
i) ere (_ I2e@
m) ere (_ i@3
ev) ere (_ i@3
mp) ere (_ e@
_h) ere i@3
@@ -2546,6 +2553,7 @@
@) ibly (_S4efv @bl%I
i (bilit I
l) i (bel aI
t) ibe (t Ib'E
b) i (ble_ aI
i (bo_ i:
v) i (br aI
@@ -2583,6 +2591,7 @@
_s) i (dl aI
f) i (del I2
br) i (dg I
ir) i (d I
_s) i (der aI
i (der_+ aI
@) i (do_ 'i:
@@ -2600,6 +2609,7 @@
h) i (j aI
@) illa (_ 'Il@
@) ila (_ 'Il@
l) il (ah_ aIl
_) il (l %I
_) ill (_ Il
_) il (ln I
@@ -2658,6 +2668,7 @@
iou (rA j@
iour (K j3
@) ious (_ =I2@s
ioux u:
_r) io (t aI@
io (t_ I|@
ipede Ipi:d
@@ -2710,6 +2721,7 @@
i (wo 'i:
C) i (x++ I
s) i (zA aI
i (zen I2
p) izz (a i:t|s

.group ia
@@ -2760,12 +2772,11 @@

.group ie
ie I
ie (_ I
ie (_ aI
ied (_S2i d // suffix
ieds (_S3i dz
ie (c aI
ie (ce i:
ie (_ aI
&) ie (_ %I
_r) ie i:
iedly Idl%I
@@ -2842,6 +2853,7 @@
ign (C aIn
n) igan (_ =Ig@n
@) ig (ne aI
igne (_ 'i:n
@) ig (n_ aI
d) ig (nA Ig
_) ig (ni %Ig
@@ -3140,6 +3152,7 @@
am) it (e aIt
un) it (e aIt
_sp) it (e aIt
cr) it (e_ It
wr) ite aIt
_s) it (e aIt
x) ite (_ aIt
@@ -3197,6 +3210,7 @@
.group j
j dZ
j (j
n) j (a_ j
_) jere (C dZEr@
_) jes (ui dZEz
_) joa (n@ dZoU'a
@@ -3625,8 +3639,10 @@
b) o (th oU
b) o (ther 0
?3 cl) o (th O
l) oth (i oUD
?3 m) o (th O
cl) othe oUD
betr) oth oUD
tr) othe oUD
l) oth (ian oUD
_r) o (ther 0
@@ -3822,6 +3838,7 @@
oos (e u:s
ch) oose u:z
ch) oos (en oUz
g) oose u:s
oot (ic_ u:'0t

.group or
@@ -4183,6 +4200,7 @@
phila fIla
p (hole p
sym) pa p@
_) paleo (@P5 p,eIli:oU
_) pico pi:koU
piece (_S5 pi:s
por (tray p%o@
@@ -4262,6 +4280,7 @@
_) pre (scr pr%I
_) pre (ss prE
_) pre (st prE
_) pre (u pr%i:
_) pre (val prE
_) pre (vio pri:
_) pre (view pri:
@@ -4608,6 +4627,7 @@
su (bv s@
substa (nt s@bsta
su (ccA s@
su (ccul sV
su (ffic s@
sugar SUg3
re) su (mA zju:

+ 63
- 32
dictsource/fr_list View File

@@ -1,4 +1,4 @@
/
// ***************************************************************************
// * Copyright (C) 2005 to 2007 by Jonathan Duddington *
// * email: [email protected] *
@@ -24,7 +24,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated 2009-06-08 Michel Such <[email protected]>
// Updated 2009-07-3128 Michel Such <[email protected]>
//
// * Numbers, a few abbreviations and exceptions.
//
@@ -38,6 +38,7 @@
_à $accent // speak as base-letter name + accent name
â $accent
ä $accent
a a $u+
b be
c se
ç $accent
@@ -58,7 +59,7 @@ j Zi
k ka
l El
m Em
//n En // in fr_rules
n En
ñ $accent
o o
_ô $accent
@@ -143,7 +144,7 @@ _§ sEksj'O~
// symbols that are normally spoken when reading text
@ _!arobaz
% pursA~ $max3
& e $u $brk
& _|e $u
_& _e_komErsi'al
* asterisk: $max3
+ plys $max3
@@ -159,7 +160,7 @@ _& _e_komErsi'al
½ W~_d@m'i
¾ trwA_k'ar
© _^_EN
® m'ark_depos'e
® mark||depoz'e


// numeric
@@ -175,7 +176,7 @@ _7 sEt
_8 _|w^it3
_9 nWf
_10 diz3
_11 _!O~z
_11 _|O~z
_12 duz
_13 trEz
_14 katOrz
@@ -236,30 +237,33 @@ adn adeEn
adsl adeEsEl
alt _::alt
amd aEmde
anpe aEnpe@
aol aoEl
api $abbrev
api apei
avg $abbrev
avh aveaS
bay _^_en
bd boulevard $text
brltty $abbrev
cci $abbrev
cia $abbrev
cio $abbrev
cm centimètre $text
cpu $abbrev
ctrl _::kO~tro2l
dept depart@-mA~
divx diviks
ebay _^_en
(e bay) ebay $text
edf @deEf
etc Etsetera
ghz ZigaErts
hmm h@m
(http ://) aSt,et,ep'e_
hz _!Erts
hz _|Erts
ibm ibeEm
ide $abbrev
ip ipe
irc i:_!Er:se
irc i:_|Er:se
jaws _^_en
kbit kilobit
kde $abbrev
@@ -268,15 +272,18 @@ khz kiloErts
km kilomètre $text
(km player) ka,EmplEj'Wr
(kmplayer) ka,EmplEj'Wr
kw kilowat
kw kilowatt $text
m. m@siY
mbit megabit
mbrola Embrola
mci $abbrev
mhz megaErts
mlle mademoiselle $text
mm millimètre $text
mme madame $text
(mp 3) _!Empetrwa
mn minyt
mns minytz2
(mp 3) _|Empetrwa
mr m@siY
nsi $abbrev
nsis $abbrev
@@ -288,7 +295,10 @@ ogm oZeEm
ong oEnZe
pci $abbrev
pda $abbrev
p.s postskriptOm
philips filips
p.s pOstskriptOm
qq quelque $text
qqs quelques $text
ratp $abbrev
riscos rIskoEs
sap $abbrev
@@ -308,6 +318,7 @@ utc $abbrev
utf $abbrev
u.s y:Es
vip v,i||,aj||p'i
(web visum) webvisum $text
wma $abbrev
xfce iksEfse@
xy $abbrev
@@ -323,6 +334,7 @@ pr professeur $text *dot $capital
// articles
le $nounf $u+
le $verb $verbextend $u
el $u
la $nounf $u+
la $verb $verbextend $u
les lez2 $nounf $u+
@@ -333,9 +345,9 @@ une $nounf $u+

// conjonctions
mais $u+
ou $u $brk
ou _|u $u
eh $u $brk
et e $u $brk
et _|e $u
ni $u
car $u
car $noun
@@ -390,6 +402,7 @@ toi $u+
lui $u+ $verbf
ça $u+ $verbf

ca sa $u+ $capital $verbf
ce $u+ $nounf
ceci $u+ $verbf
cela $u+ $verbf
@@ -437,8 +450,8 @@ des dez2 $u $nounf


à a $u
au $u
aux $u
au $u $nounf
aux $u $nounf

autour otur $u+
autre $u+
@@ -476,6 +489,8 @@ loin $u+
ne $u $verbf
pas p'az2 $u+
pas pa $noun
point $u+
point $noun
plus $u+
guère $u+
jamais $u+
@@ -557,6 +572,7 @@ rien ri-'E~n2 $u+

// Letters which can be words
//===========================
a a $atend $only
à $atend $accent $only
y igr'Ek $atend $only
ô $atend $accent
@@ -601,12 +617,16 @@ adam adA~
adams adams
admin admin
adsltv adeEs'El||tev'e
airbus Erbys
airbus airbuss $text
alan alan
albinos albinoss $text
arte arte
auvent ovA~
beta beta
bien bi-E~n2 $u+
bis bis
bissus bisys
buffer bWfWr
bus bys
bus by $verb
cancer kA~sEr
@@ -621,6 +641,7 @@ dernier dErnjer2
enfer A~fEr
faut fot2 $u+
fier fjer $verb
fred frEd
free fri:
fuel fjul
gars ga
@@ -649,6 +670,7 @@ recorder ricordeur $text
scanner skaner2 $verb
scanner skanWr $noun
scanners skanWr
shampoing SA~pwE~
sir _^_EN
souris suri
sus sys
@@ -679,7 +701,7 @@ mazout mazut
michael mikaEl
out aut
rut ryt
scorbut skOrbyt
scorbut scorbutt $text
scout skut
stout staut
uppercut ypErkyt
@@ -700,6 +722,7 @@ net nEt
offset OfsEt
set sEt
soviet sOviEt
stewart sti:wart

// urt (t is said)
kurt kurt
@@ -718,8 +741,12 @@ kart kart
smart smart

// irt
(sweat shirt) swEtSWrt
(tee shirt) tiSWrt
(sweat shirt) swEtSW2rt
(sweat shirts) swEtSW2rt
(tee shirt) t,i:S'W2rt
(tee shirts) t,i:S'W2rt
(t shirt) t,i:S'W2rt
(t shirts) t,i:S'W2rt


// words from other languages
@@ -728,13 +755,14 @@ acer asEr
and _^_en
amazon amaz'On
apple _^_en
at _^_en
at at $u+
(audible manager) od,ibl||manadZ'Wr
bin bin
bit bit
bluetooth blut'us
computer _^_en
(cyber link) _^_en
debian dEbjan
debian debjan
edit _^_en
emacs Emaks
emacspeak Emakspi:k
@@ -743,18 +771,18 @@ epson EpsOn
espeak @spi:k
ethernet etErnEt
exit egzit
(file zilla) fajl||zija
(file zilla) f,ajl||zij'a
from frO2m $u+
get _^_en
google gu:gWl
google gug=Wl
gnome gnOm
gnu $abbrev
hamburger hA~b@rgWr
hamburger _!A~b@rgWr
help _^_en
hot _^_en
in _^_en
in in $u+
inside _^_en
(internet explorer) E~tErn'Et||Eksplor'Wr
(internet explorer) E~tErn'Et||EksplOr'Wr
klaxon klaksOn
let _^_en
lite _^_en
@@ -764,11 +792,11 @@ logon _^_en
made _^_en
media medja
messenger mesEnZWr
my maj
my maj $u+
nat nat
not _^_en
null _^_en
ok oke
ok oke $u+
open op'Wn
(open source) op,Wn||s'urs
outlook autlu:k
@@ -783,6 +811,7 @@ sun _^_en
(text aloud) tEkst||@la=wd
ubuntu ubuntu
up _^_en
win win $u+
yes _^_en


@@ -806,13 +835,15 @@ pourcent pursA~
vincent vE~sA~


// Some countries and areas
// Some countries, areas and languages
afrikaans afrikans
bahamas baamas
bangladesh bA~gladES
bélarus belarys
(burkina faso) burkina||faso
(burkina faso) byrkina||faso
burundi burundi
croatie kroasi
esperanto EsperA~to
groenland groEnlA~d
guatemala gwAtemala
honduras _!O~dyras

+ 39
- 19
dictsource/fr_rules View File

@@ -23,7 +23,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated: 2009-05-28 Michel Such <[email protected]>
// Updated: 2009-07-31 Michel Such <[email protected]>
//

// Letter classes:
@@ -36,6 +36,7 @@
.L02 b c d f g h k p t v
.L03 d l m n s t v
.L04 c d f g l m n v
.L05 g h k l m v w


.group a
@@ -76,7 +77,9 @@
a (nnA a // manne
an (K A~ // ancien, élan
@@m) an (_ an // tennisman
L02m) an (_ an
lism) an (_ A~ // talisman
ulm) an (_ A~ // musulman
_C) aon (_ A~ // faon, paon, taon
s) aoul (_ u // saoul
s) aou (le u // saoule
@@ -130,6 +133,7 @@
e) ch (_ k // varech
_A) ch (o_ k // écho
mani) ch (é k // manichéisme
wi) ch tS // sandwich
mito) ch (o k // mitochondrie
_eu) ch (ari k // eucharistie
or) ch (esC k // orchestre
@@ -504,14 +508,19 @@ _) en (A A~n // enivrer
e (rC E
es (_ z2

%C) e (CA @-
%C) e (Ce // actuellement guillemets
%C) e (Ca @-
// %C) e (Ce // actuellement guillemets
%C) e (xA E
%C) e (mA // actuellement guillemets
ct) e (ment @
nC) e (ment @-
rC) e (ment @
g) e (rie
AC) e (rie_ @-
AC) e (ries_ @-
AcC) e (rie_ @-
AcC) e (ries_ @-
%C) e (rie_ @-
%C) e (ries_ @-
AC) e (ment
u) e (ment @-
ul) e (CA
@@ -538,11 +547,13 @@ iew) er (X er2
eac _^_en
C) ead _^_en // read, head
eak _^_en // break, speak
eal _^_en // deal
ear _^_en // ear, search
eas _^_en // please
eave _^_en // leave
ed (_ _^_en
ee _^_en // meeting
efore (_ _^_en // before
eing (_ _^_en // being, boeing
eive _^_en // receive
eld (_ _^_en // field
@@ -550,7 +561,7 @@ iew) er (X er2
_) enhan _^_en
qu) est (_ _^_en // request
qu) este (X_ _^_en // requested, requester
_) even _^_en // forever, however
_) even (X _^_en // forever, however
_) ever _^_en // forever, however
oC) ever _^_en // forever, however
_) eye _^_en
@@ -578,6 +589,7 @@ iew) er (X er2
_) fire _^_en
fly _^_en
_) frame _^_en
fter (_ _^_en


.group g
@@ -711,17 +723,17 @@ C) i (es_ i
_) ill ill // illégal
aigu) ill ij // aiguille
anqu) ill il // tranquille
c) ill (i il
dist) ill il // distiller
_m) ill il // mille
_L05) ill il // Lille, mille, ville, william
osc) ill il // osciller
v) ill il // village
qu) ill ij // cuillière cueillir
qu) ill ij // quille
A) ill j // caillou
C) ill ij // famille
a) il (_ j // bail
e) il (_ j
u) il (_ j // deuil
L01_f) ils (_ is // deuil
L01_f) ils (_ is // fils (enfant)

imm imm // immaculé
im (_ im // karim
@@ -730,7 +742,7 @@ C) i (es_ i
inct (_ E~ // distinct
in (h in // inhumain
in (kX iN // link
in (n in // innombrable
in (n i // innombrable
in (C E~ // vingt
in (_ W~ // vin
ing (_ iN
@@ -741,6 +753,9 @@ C) i (es_ i
_) intra (neP5 E~tra
_) intra (uP5 E~tra
C) is (_ i
bor) is (_ is
dor) is (_ is
tor) is (_ is
fl) irt W2rt
otl) i (neX aj
onl) i (ne_ aj
@@ -788,8 +803,10 @@ C) i (es_ i


// group k: English section
ke (rX _^_en // basket, make, take
ke (nX _^_en // basket, make, take
ke (_ _^_en // make, take
ke (s_ _^_en // makes, takes
ke (rX _^_en // maker
ke (nX _^_en // taken

.group l
l l // lit
@@ -822,14 +839,12 @@ C) i (es_ i


.group n
_) n (_ En
n n // une
nn n
ng (_ N

_) n' (P2v n

nn n // panne
_) n (_° nymero
_) neuro (@@P5 nYro

@@ -950,7 +965,8 @@ C) oing (_ _^_en // going
_) one _^_en
oun (C _^_en // bounce, found
_) over _^_en // over
ow _^_en // cow, town, down
ow (K _^_en // cow, town, down
ow (e _^_en // flower, power
oy (X _^_en // boy, toy


@@ -1031,7 +1047,7 @@ mou) rr rr // mourrai

// group r: English section
_) real _^_en
rese _^_en
resen _^_en
rst (_ _^_en
_) rule _^_en

@@ -1057,6 +1073,7 @@ mou) rr rr // mourrai

ai) s (em s // vraisemblable
aCè) s (_ s
nè) s (_ s
kansa) s (_ s // Kansas, Arkansas
ub) s (is z // subsister
tran) s (A z // transition
@@ -1082,6 +1099,7 @@ mou) rr rr // mourrai
mbu) s (_ s
_cACpu) s (_ s
Acu) s (_ s
docu) s (_
écu) s (_
asu) s (_ s
odu) s (_ s
@@ -1177,7 +1195,6 @@ A) t (- t2
p) t (ia s // nuptial
an) t (iat s // transsubstantiation


t (ion s // programmation
V) t (ion t // verbes
ache) t (ion t // achetions, rachetions
@@ -1229,6 +1246,7 @@ A) t (- t2
ner) t (ie s // inertie

_ce) t (_ t
_transA) t (_ t

// group t: English section
C) th (_ _^_en // month
@@ -1271,6 +1289,7 @@ A) t (- t2
um (b W~ // humble
um (p W~
un (C W~ // emprunt lundi
un (n y // tunnel
CC) un (_ W~ // brun
uc) un (_ W~n2 // aucun
un (_ W~n2 // un avion
@@ -1289,7 +1308,7 @@ A) t (- t2
unch _^_en
under _^_en // under, understand, thunder
_C) un (_ _^_en
_C) un (n _^_en
_C) un (ny _^_en
_) up (C _^_en // upper, update
up (_ _^_en // setup
urn (X _^_en // burn, turn
@@ -1320,7 +1339,7 @@ A) t (- t2
w (agon v // wagon

// group w: English section
e) w _^_en
e) w (K _^_en
wa (Ce_ _^_en // hardware software wave
_) wan _^_en
wr _^_en // write
@@ -1384,6 +1403,7 @@ A) t (- t2
z z
zz dz
t) z s // tzigane
C) zer (_ zEr


.group

+ 18
- 259
phsource/compile_report
File diff suppressed because it is too large
View File


+ 151
- 0
phsource/ph_danish View File

@@ -0,0 +1,151 @@

phoneme @
vowel starttype (@) endtype (@)
unstressed
length 130
formants vowel/@_3
endphoneme

// ToDo: change [@] to [a#] if adjacent to [r] or [R]
phoneme 3
vowel starttype (a) endtype (a)
unstressed
length 130
formants vowel/a#_3
endphoneme



phoneme i
vowel starttype (i) endtype (i)
length 150
formants vowel/i_4
linkout ;
endphoneme

phoneme e
vowel starttype (e) endtype (e)
length 150
formants vowel/e
endphoneme

phoneme E
vowel starttype (e) endtype (e)
length 150
formants vowel/e_mid2
endphoneme

phoneme &
vowel starttype (e) endtype (e)
length 150
formants vowel/ee_2
endphoneme

phoneme a
vowel starttype (a) endtype (a)
length 150
formants vowel/a_2
endphoneme

phoneme A
vowel starttype (a) endtype (a)
length 150
formants vowel/a_3
endphoneme

phoneme u
vowel starttype (u) endtype (u)
length 150
formants vowel/u_bck
endphoneme

phoneme o
vowel starttype (o) endtype (o)
length 150
formants vowel/o_2
endphoneme

phoneme O
vowel starttype (o) endtype (o)
length 150
formants vowel/o_5
endphoneme

phoneme V
vowel starttype (@) endtype (@)
length 150
formants vowel/V_4
endphoneme

phoneme 0
vowel starttype (o) endtype (o)
length 150
formants vowel/oo_2
endphoneme


phoneme y
vowel starttype (i) endtype (i)
length 150
formants vowel/y
endphoneme

phoneme Y
vowel starttype (i) endtype (i)
length 150
formants vowel/yy
endphoneme

phoneme W
vowel starttype (@) endtype (@)
length 150
formants vowel/oe
endphoneme




//phoneme n
// vcd alv nasal
// vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
// length 100
// lengthmod 4
// formants NULL
// after _ n/_n
// after n n/_n // lengthen [nn]
// before _ n/n#_ // shorter
// before (r) n/nj
//endphoneme

phoneme v // approximant, not fricative
vcd lbd frc
vowelin f1=0 f2=1000 -300 -200 f3=-300 100
vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
lengthmod 6
formants voc/v
before _ voc/v_
switchvoicing f
endphoneme


phoneme r // used for 'r' after a vowel (to create a diphthong)
liquid
formants r/a_
lengthmod 7
endphoneme

phoneme R2 // uvular trill [r"]
vcd uvl frc
formants r3/r_uvl+r3/r_uvl.wav%75
before _ r3/r_uvl+r3/r_uvl.wav%50
lengthmod 6
endphoneme

phoneme R // voiced velar fricative [Q"]
vcd uvl frc
formants voc/Q_ulv+ufric/xx%80
before _ voc/Q_ulv+ufric/xx%60
lengthmod 6
endphoneme



+ 64
- 46
phsource/ph_french View File

@@ -1,6 +1,7 @@
//====================================================
// French
//====================================================
// Updated 2009-07-30 Michel Such <[email protected]>

phoneme (l) virtual
// Used for l and l/
@@ -11,6 +12,24 @@ phoneme : // Lengthen previous vowel by "length"
length 40 // shorter than for fr-ca
endphoneme

phoneme (r) virtual
after b vwl_fr/tr+r3/rx%35
after g vwl_fr/tr+r3/rx%35
after k vwl_fr/tr+r3/rx%35
after m vwl_fr/tr+r3/rx%25
after n vwl_fr/tr+r3/rx%25
after p vwl_fr/tr+r3/rx%35
after s vwl_fr/tr+r3/rx%30
after S vwl_fr/tr+r3/rx%45
after t vwl_fr/tr+r3/rx%30
after v vwl_fr/tr+r3/rx%30
after z vwl_fr/tr+r3/rx%30
after Z vwl_fr/tr+r3/rx%30
before (i) vwl_fr/@R5
before (o) vwl_fr/@R5
before (u) vwl_fr/@R5
endphoneme


// Vowels
//=======
@@ -23,6 +42,17 @@ phoneme @
endphoneme


phoneme @- // very short schwa
vowel nonsyllabic
starttype (@) endtype (@)
formants NULL
unstressed
length 70
before l/ DFT+l/l_@
before (r) DFT+vwl_fr/r_@
endphoneme


phoneme @2
vowel starttype (@) endtype (@)
length 170
@@ -37,15 +67,15 @@ phoneme a
formants vowel/a_6
after l l/la-15
before l/ DFT+l/l_a
before (r) DFT+vwl_fr/xr
before r/2 DFT-20+vwl_fr/r_a
before (r) DFT-10+vwl_fr/r_a
before r/2 DFT-10+vwl_fr/r_a
endphoneme


phoneme e
vowel starttype (e) endtype (e)
length 190
formants vowel/e
formants vowel/e_8
after (l) l/le-15
before l/ DFT-20+l/xl
before (r) DFT-10+vwl_fr/r_e
@@ -59,7 +89,7 @@ phoneme E
after (l) l/le-15
before l/ DFT+l/l_e
before (r) DFT-10+vwl_fr/r_e
before r/2 DFT-10+vwl_fr/r_e
before r/2 DFT+vwl_fr/r_e
endphoneme


@@ -69,18 +99,20 @@ phoneme i
formants vowel/i_2
linkout ;
after (l) l/li-15
// after (r) vwl_fr/ri
before l/ DFT+l/l_i
before (r) DFT-20+vwl_fr/r_i
before r/2 DFT-20+vwl_fr/r_i
before r/2 DFT+vwl_fr/r_i
endphoneme


phoneme i- // shorter
vowel starttype (i) endtype (i)
length 120
length 140
formants vowel/i_2
linkout ;
after (l) l/li-15
// after (r) vwl_fr/ri
endphoneme


@@ -90,6 +122,7 @@ phoneme i: // longer than i
formants vowel/i_3
linkout ;
after (l) l/li-15
// after (r) vwl_fr/ri
before l/ DFT+l/l_i
before (r) DFT-20+vwl_fr/r_i
before r/2 DFT-20+vwl_fr/r_i
@@ -125,7 +158,8 @@ phoneme O
formants vowel/o_mid
after (l) l/lo-10
before l/ DFT+l/l_o
before r/2 DFT-20+vwl_fr/r_o
before (r) DFT+vwl_fr/r_o
before r/2 DFT+vwl_fr/r_o
reduceto o2 1
endphoneme

@@ -137,18 +171,17 @@ phoneme O2 // Like O but no reduceto
after (l) l/lo-10
before l/ DFT+l/l_o
before (r) DFT+vwl_fr/r_o
before r/2 DFT-20+vwl_fr/r_o
before r/2 DFT+vwl_fr/r_o
endphoneme


phoneme u
vowel starttype (u) endtype (u)
length 190
formants vowel/u_4
length 210
formants vowel/u_bck2
after l l/lu-20
before l/ DFT-20+l/l_u
before (r) DFT+vwl_fr/r_u
before r/2 DFT-30+vwl_fr/r_u
before i DFT-50
endphoneme

@@ -156,11 +189,10 @@ endphoneme
phoneme u: // slitely longer than u
vowel starttype (u) endtype (u)
length 240
formants vowel/u_3
formants vowel/u_bck2
after l l/lu-20
before l/ DFT-20+l/l_u
before l/ DFT-20+l/l_u
before r/2 DFT+vwl_fr/r_u
endphoneme


@@ -171,7 +203,7 @@ phoneme y
after l l/lu-20
before l/ DFT-30+l/l_y
before (r) DFT+vwl_fr/r_y
before r/2 DFT-30+vwl_fr/r_y
before r/2 DFT+vwl_fr/r_y
before E~ DFT-50
endphoneme

@@ -194,7 +226,7 @@ phoneme W
after (l) l/l@-20
before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/r_@2
before r/2 DFT-30+vwl_fr/r_@2
before r/2 DFT+vwl_fr/r_@2-30
reduceto Y 1
endphoneme

@@ -206,17 +238,18 @@ phoneme W2 // same as W but don't reduce
after (l) l/l@-20
before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/r_@
before r/2 DFT+vwl_fr/r_@
before r/2 DFT+vwl_fr/r_@2
endphoneme


phoneme wA
vowel starttype (o) endtype (a)
length 220
length 240
formants vwl_fr/w_a
after (l) l/lo-10
before l/ DFT-10+l/l_a
before (r) DFT+vwl_fr/xr
before j DFT
before (r) DFT+vwl_fr/r_a
before r/2 DFT+vwl_fr/r_a
endphoneme

@@ -237,8 +270,8 @@ phoneme A~
length 210
formants vnasal/aa_n4
before l/ DFT+l/l_a
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/xr
before (r) DFT+vwl_fr/r_a~
before r/2 DFT+vwl_fr/r_a~
endphoneme


@@ -308,13 +341,11 @@ endphoneme
// uses the consonants in file "phonemes", unless overridden here

phoneme b
vcd blb frc
vowelin f1=2 f2=1000 -300 -200 f3=-100 100
vowelout f1=0 f2=1000 -500 -300 f3=-100 60 len=50
vcd blb stop
vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
formants b/b+x/b%70
before _ b/b_+x/b_
before l/ b/b_+x/b_
before (r) b/b_+x/b_%80
before (l) b/b_+x/b_
after _ NULL
after @ b/xb%50
lengthmod 5
@@ -357,7 +388,7 @@ phoneme k
lengthmod 2
wave ustop/k%40 // reduce strength of noise burst
before _ ustop/k_
before (r) ustop/k%60
before (r) ustop/kr%40
before r/2 ustop/k%60
before l ustop/kl%45
before l/ ustop/kl%45
@@ -383,8 +414,8 @@ phoneme l/ // used for [l] when not before a vowel
liquid starttype (l) endtype (l)
length 100
lengthmod 7
formants l/l_
before (r) l/_l
formants l/_l
after (i) l/l_
beforevowel l
endphoneme

@@ -428,31 +459,18 @@ endphoneme


phoneme r
liquid starttype (r) endtype (r)
vcd uvl frc starttype (r) endtype (r)
vowelin f1=1 f2=1800 10 10 f3=-200 100
vowelout f1=1 f2=1800 10 10 f3=-200 100
length 100
lengthmod 7
beforenotvowel r/2
formants vwl_fr/r
after b vwl_fr/tr+r3/rx%25
after g vwl_fr/tr+r3/rx%25
after k vwl_fr/tr+r3/rx%35
after (l) vwl_fr/r+r3/rx%30
after m vwl_fr/tr+r3/rx%25
after n vwl_fr/tr+r3/rx%25
after p vwl_fr/tr+r3/rx%35
after s vwl_fr/tr+r3/rx%30
after S vwl_fr/tr+r3/rx%45
after t vwl_fr/tr+r3/rx%30
after v vwl_fr/tr+r3/rx%30
after z vwl_fr/tr+r3/rx%30
after Z vwl_fr/tr+r3/rx%30
endphoneme


phoneme r2 // silent unless followed by vowel
liquid starttype (r) endtype (r)
vcd uvl frc starttype (r) endtype (r)
vowelin f1=0 f2=1000 10 10 f3=-200 100
vowelout f1=0 f2=1200 10 10 f3=-200 100
length 100
@@ -463,7 +481,7 @@ endphoneme


phoneme r/2 // variant of [r] when not preceding a vowel
liquid
liquid uvl starttype r/2 endtype r/2
vowelout f1=2 f2=1800 10 10 f3=-200 100
length 100
lengthmod 2
@@ -506,7 +524,7 @@ phoneme t
lengthmod 2
wave ustop/t_short%40
before _ ustop/t_%40
before (r) ustop/t_short%60
before (r) ustop/tr%40
before r/2 ustop/t_short%50
switchvoicing d
endphoneme
@@ -550,7 +568,7 @@ endphoneme
phoneme z
vcd alv frc sibilant
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
formants voc/z+ufric/s%30
formants voc/z+ufric/s_%35
before _ voc/z_+ufric/s_%45
lengthmod 6
switchvoicing s

+ 4
- 3
phsource/ph_hindi View File

@@ -256,13 +256,14 @@ endphoneme



phoneme v // no fricative noise

phoneme v // approximant
vcd lbd frc
vowelin f1=1 f2=900 -300 -300 f3=-100 100
vowelout f1=1 f2=900 -500 -300 f3=-100 60 len=50
lengthmod 6
formants voc/v
before _ voc/v_
formants voc/v#
before _ voc/v#_
switchvoicing f
endphoneme


+ 1
- 26
phsource/phonemes View File

@@ -623,7 +623,7 @@ endphoneme

phoneme r. // retroflex
liquid rfx
vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15
vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15 colr=2
vowelin f1=2 f2=1400 -400 300 f3=-400 80 len=20
formants r3/@tap_rfx
lengthmod 3
@@ -1340,31 +1340,6 @@ include ph_albanian
phonemetable hy base
include ph_armenian


phonemetable rw base2
include ph_kinyarwanda

phonemetable ml hi
include ph_malayalam

phonemetable kn hi
include ph_kannada

phonemetable bn hi
include ph_bengali

phonemetable ne hi
include ph_nepali

phonemetable mr hi
include ph_marathi

phonemetable om base
include ph_oromo

phonemetable eu base2
include ph_basque

phonemetable da base
include ph_danish


BIN
phsource/r3/@tap_rfx View File


BIN
phsource/vwl_fr/r_a View File


BIN
phsource/vwl_fr/r_i View File


BIN
phsource/vwl_fr/r_o View File


BIN
phsource/vwl_fr/r_u View File


+ 4
- 0
platforms/big_endian/README View File

@@ -13,6 +13,10 @@ big-endian form if necessary.
The 'phondata-manifest' file is produced by espeakedit when it compiles
the phoneme data. If it is not present here, find it in the espeak-data directory.

NOTE:
The format of espeak-data/phondata changed in eSpeak version 1.41. The utility
has been modified for this. [jonsd]

---
To contact the author of these utilities, please send an e-mail to
<[email protected]>

+ 22
- 2
platforms/big_endian/espeak-phoneme-data.c View File

@@ -53,7 +53,25 @@ typedef struct {
unsigned char link_out;
} PHONEME_TAB;


// This is a new format for eSpeak 1.41
typedef struct { // 44 bytes
short frflags;
short ffreq[7];
unsigned char length;
unsigned char rms;
unsigned char fheight[8];
unsigned char fwidth[6]; // width/4 f0-5
unsigned char fright[3]; // width/4 f0-2
unsigned char bw[4]; // Klatt bandwidth BNZ /2, f1,f2,f3
unsigned char klattp[5]; // AV, FNZ, Tilt, Aspr, Skew
unsigned char klattp2[5]; // continuation of klattp[], Avp, Fric, FricBP, Turb
unsigned char klatt_ap[7]; // Klatt parallel amplitude
unsigned char klatt_bp[7]; // Klatt parallel bandwidth /2
} frame_t; // with extra Klatt parameters for parallel resonators


#ifdef deleted
// This is the previous format for versions before 1.41
typedef struct {
short frflags;
unsigned char length;
@@ -63,6 +81,7 @@ typedef struct {
unsigned char fwidth[6];
unsigned char fright[6];
} frame_t;
#endif

#define N_SEQ_FRAMES 25

@@ -210,7 +229,8 @@ swap_phondata (const char *infile, const char *outfile,
buf_spect.frame[n].frflags = (short)
SWAP_USHORT (buf_spect.frame[n].frflags);

for (k = 0; k < 9; k++) {
// Changed for eSpeak 1.41
for (k = 0; k < 7; k++) {
buf_spect.frame[n].ffreq[k] = (short)
SWAP_USHORT (buf_spect.frame[n].ffreq[k]);
}

+ 5
- 2
platforms/windows/espeakedit/ReadMe.txt View File

@@ -1,6 +1,9 @@
Compiling the espeakedit program.
Copy the source files into directory "src", but not overwrite files:
You need the "espeakedit" download,
Copy the source files from the "espeakedit" download into directory "src",
but do not overwrite files:
speech.h
StdAfx.h
@@ -8,4 +11,4 @@ There are copies of these in directory "src_copy".
Use the "Unicode Release" build configuration.
This linkls with the "Unicode Release" version of the wxWidgets libraries.
This links with the "Unicode Release" version of the wxWidgets libraries.

+ 11
- 6
platforms/windows/windows_dll/src/speak_lib.h View File

@@ -28,7 +28,7 @@

#include <stdio.h>

#define ESPEAK_API_REVISION 3
#define ESPEAK_API_REVISION 5
/*
Revision 2
Added parameter "options" to eSpeakInitialize()
@@ -39,6 +39,8 @@ Revision 3
Revision 4
Added flags parameter to espeak_CompileDictionary()

Revision 5
Added espeakCHARS_16BIT
*/
/********************/
/* Initialization */
@@ -228,6 +230,7 @@ int UriCallback(int type, const char *uri, const char *base);
#define espeakCHARS_UTF8 1
#define espeakCHARS_8BIT 2
#define espeakCHARS_WCHAR 3
#define espeakCHARS_16BIT 4

#define espeakSSML 0x10
#define espeakPHONEMES 0x100
@@ -319,7 +322,8 @@ extern "C"
#endif
ESPEAK_API espeak_ERROR espeak_Key(const char *key_name);
/* Speak the name of a keyboard key.
Currently this just speaks the "key_name" as given
If key_name is a single character, it speaks the name of the character.
Otherwise, it speaks key_name as a text string.

Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
@@ -341,6 +345,7 @@ ESPEAK_API espeak_ERROR espeak_Char(wchar_t character);




/***********************/
/* Speech Parameters */
/***********************/
@@ -390,7 +395,7 @@ ESPEAK_API espeak_ERROR espeak_SetParameter(espeak_PARAMETER parameter, int valu

espeakPUNCTUATION: which punctuation characters to announce:
value in espeak_PUNCT_TYPE (none, all, some),
see espeak_GetParameter() to specify which characters are announced.
see espeak_GetParameter() to specify which characters are announced.

espeakCAPITALS: announce capital letters by:
0=none,
@@ -463,9 +468,9 @@ ESPEAK_API void espeak_CompileDictionary(const char *path, FILE *log, int flags)

// voice table
typedef struct {
char *name; // a given name for this voice. UTF8 string.
char *languages; // list of pairs of (byte) priority + (string) language (and dialect qualifier)
char *identifier; // the filename for this voice within espeak-data/voices
const char *name; // a given name for this voice. UTF8 string.
const char *languages; // list of pairs of (byte) priority + (string) language (and dialect qualifier)
const char *identifier; // the filename for this voice within espeak-data/voices
unsigned char gender; // 0=none 1=male, 2=female,
unsigned char age; // 0=not specified, or age in years
unsigned char variant; // only used when passed as a parameter to espeak_SetVoiceByProperties

+ 19
- 6
platforms/windows/windows_sapi/ttsengobj.cpp View File

@@ -36,12 +36,14 @@ extern void InitNamedata(void);
int master_volume = 100;
int master_rate = 0;
int initialised = 0;
int gVolume = 100;
int gSpeed = -1;
int gPitch = -1;
int gRange = -1;
int gEmphasis = 0;
int gSayas = 0;
char g_voice_name[80];
char *path_install = NULL;
@@ -359,8 +361,7 @@ void WcharToChar(char *out, const wchar_t *in, int len)
*****************************************************************************/
STDMETHODIMP CTTSEngObj::SetObjectToken(ISpObjectToken * pToken)
{
char voice[80];
strcpy(voice,"default");
strcpy(voice_name,"default");
SPDBG_FUNC( "CTTSEngObj::SetObjectToken" );
@@ -376,7 +377,7 @@ STDMETHODIMP CTTSEngObj::SetObjectToken(ISpObjectToken * pToken)
hr2 = m_cpToken->GetStringValue( L"VoiceName", &voicename);
if( SUCCEEDED(hr2) )
{
WcharToChar(voice,voicename,sizeof(voice));
WcharToChar(voice_name,voicename,sizeof(voice_name));
}
@@ -396,9 +397,14 @@ STDMETHODIMP CTTSEngObj::SetObjectToken(ISpObjectToken * pToken)
gEmphasis = 0;
gSayas = 0;
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install,1);
espeak_SetVoiceByName(voice);
espeak_SetSynthCallback(SynthCallback);
if(initialised==0)
{
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install,1);
espeak_SetSynthCallback(SynthCallback);
initialised = 1;
g_voice_name[0] = 0;
}
return hr;
} /* CTTSEngObj::SetObjectToken */
@@ -525,6 +531,13 @@ int CTTSEngObj::ProcessFragList(const SPVTEXTFRAG* pTextFragList, wchar_t *pW_st
frag_ix = 0;
pW = pW_start;
// check that the current voice is correct for this request
if(strcmp(voice_name, g_voice_name) != 0)
{
strcpy(g_voice_name, voice_name);
espeak_SetVoiceByName(g_voice_name);
}
while(pTextFragList != NULL)
{
action = pTextFragList->State.eAction;

+ 2
- 0
platforms/windows/windows_sapi/ttsengobj.h View File

@@ -117,6 +117,8 @@ class ATL_NO_VTABLE CTTSEngObj :
const WCHAR* m_pNextChar;
const WCHAR* m_pEndChar;
ULONGLONG m_ullAudioOff;
char voice_name[80];
};
#endif //--- This must be the last line in the file

+ 20
- 20
src/menus.cpp View File

@@ -40,8 +40,8 @@ wxMenuBar *MakeMenu(int type)

// FILE MENU
file_menu = new wxMenu;
file_menu->Append(MENU_SPECTRUM, _("&Open"));
file_menu->Append(MENU_SPECTRUM2, _("O&pen2"));
file_menu->Append(MENU_SPECTRUM, _("&Open..."));
file_menu->Append(MENU_SPECTRUM2, _("O&pen2..."));
// file_menu->Append(MENU_PROSODY, _T("&Prosody window"));
if(type==0)
{
@@ -50,7 +50,7 @@ wxMenuBar *MakeMenu(int type)
if(type==1)
{
file_menu->Append(SPECTSEQ_SAVE, _("&Save"));
file_menu->Append(SPECTSEQ_SAVEAS, _("Save &As"));
file_menu->Append(SPECTSEQ_SAVEAS, _("Save &As..."));
file_menu->Append(SPECTSEQ_SAVESELECT, _("Save Selection"));
file_menu->Append(SPECTSEQ_SAVEPITCH, _T("Save Pitch &Envelope"));
file_menu->Append(SPECTSEQ_CLOSE, _("&Close"));
@@ -60,7 +60,7 @@ wxMenuBar *MakeMenu(int type)
if(type==2)
{
file_menu->Append(SPECTSEQ_SAVE, _("&Save"));
file_menu->Append(SPECTSEQ_SAVEAS, _("Save &As"));
file_menu->Append(SPECTSEQ_SAVEAS, _("Save &As..."));
// file_menu->Append(SPECTSEQ_SAVEPITCH, _T("Save Pitch &Envelope"));
file_menu->Append(SPECTSEQ_CLOSE, _("&Close"));
// file_menu->Append(MENU_CLOSE_ALL, _T("Close &All"));
@@ -73,40 +73,40 @@ wxMenuBar *MakeMenu(int type)
speak_menu->Append(MENU_SPEAK_RULES, _("Show &Rules"));
speak_menu->Append(MENU_SPEAK_TEXT, _("&Speak"));
speak_menu->AppendSeparator();
speak_menu->Append(MENU_SPEAK_FILE, _("Speak &file"));
speak_menu->Append(MENU_SPEAK_FILE, _("Speak &file..."));
speak_menu->Append(MENU_SPEAK_PAUSE, _("&Pause"));
speak_menu->Append(MENU_SPEAK_STOP, _("St&op"));

// VOICE MENU
voice_menu = new wxMenu;
voice_menu->Append(MENU_SPEAK_VOICE, _("Select &Voice"));
voice_menu->Append(MENU_SPEAK_VOICE_VARIANT, _("Select Voice Va&riant"));
voice_menu->Append(MENU_SPEAK_VOICE, _("Select &Voice.."));
voice_menu->Append(MENU_SPEAK_VOICE_VARIANT, _("Select Voice Va&riant..."));

// DATA MENU
data_menu = new wxMenu;
data_menu->Append(MENU_COMPILE_PH, _("Compile &phoneme data"));
data_menu->Append(MENU_COMPILE_DICT, _("Compile &dictionary"));
data_menu->Append(MENU_COMPILE_DICT_DEBUG, _("Compile dictionary (&debug)"));
data_menu->Append(MENU_COMPILE_MBROLA, _("Compile &mbrola phonemes list"));
data_menu->Append(MENU_COMPILE_MBROLA, _("Compile &mbrola phonemes list..."));
// OPTIONS MENU
paths_menu = new wxMenu;
paths_menu->Append(MENU_PATH0, _("Master phonemes file"));
paths_menu->Append(MENU_PATH1, _("Phoneme data source"));
paths_menu->Append(MENU_PATH2, _("Dictionary data source"));
paths_menu->Append(MENU_PATH3, _("Synthesized sound WAV file"));
paths_menu->Append(MENU_PATH0, _("Master phonemes file..."));
paths_menu->Append(MENU_PATH1, _("Phoneme data source..."));
paths_menu->Append(MENU_PATH2, _("Dictionary data source..."));
paths_menu->Append(MENU_PATH3, _("Synthesized sound WAV file..."));
paths_menu->AppendSeparator();
paths_menu->Append(MENU_PATH4, _("Voice file to modify formant peaks"));
paths_menu->Append(MENU_PATH4, _("Voice file to modify formant peaks..."));

option_menu = new wxMenu;
option_menu->Append(MENU_PATHS, _("Set &paths"), paths_menu);
option_menu->Append(MENU_PARAMS, _("Speed"));
option_menu->Append(MENU_PARAMS, _("Speed..."));

// TOOLS
vowelchart_menu = new wxMenu;
vowelchart_menu->Append(MENU_VOWELCHART1, _("From compiled phoneme data"));
vowelchart_menu->Append(MENU_VOWELCHART2, _("From list of formants"));
vowelchart_menu->Append(MENU_VOWELCHART3, _("From directory of vowel files"));
vowelchart_menu->Append(MENU_VOWELCHART2, _("From list of formants..."));
vowelchart_menu->Append(MENU_VOWELCHART3, _("From directory of vowel files..."));

lexicon_menu = new wxMenu;
lexicon_menu->Append(MENU_LEXICON_RU, _("Russian (lexicon.dict)"));
@@ -115,11 +115,11 @@ wxMenuBar *MakeMenu(int type)
lexicon_menu->Append(MENU_LEXICON_IT2, _("Italian, pass 2"));

tools_menu = new wxMenu;
tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart"), vowelchart_menu);
tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart..."), vowelchart_menu);
// tools_menu->Append(MENU_LOAD_WAV, _T("Analyse WAV file"));
tools_menu->Append(MENU_LEXICON, _("Compare &Lexicon"), lexicon_menu);
tools_menu->Append(MENU_TO_UTF8, _("Convert file to &UTF8"));
tools_menu->Append(MENU_COUNT_WORDS, _("Count word &frequencies"));
tools_menu->Append(MENU_LEXICON, _("Compare &Lexicon..."), lexicon_menu);
tools_menu->Append(MENU_TO_UTF8, _("Convert file to &UTF8..."));
tools_menu->Append(MENU_COUNT_WORDS, _("Count word &frequencies..."));
tools_menu->Append(MENU_TEST , _("Test (temporary)"));
// tools_menu->Append(MENU_TEST2 , _T("Test2"));


+ 3
- 2
src/synthdata.cpp View File

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

const char *version_string = "1.40.22 19.Jun.09";
const int version_phdata = 0x014015;
const char *version_string = "1.41.01 25.Aug.09";
const int version_phdata = 0x014100;

int option_device_number = -1;

@@ -677,5 +677,6 @@ void LoadConfig(void)
}
}
}
fclose(f);
} // end of LoadConfig


+ 3
- 10
src/wave_sada.cpp View File

@@ -305,16 +305,9 @@ int wave_close(void* theHandler)

int wave_is_busy(void* theHandler)
{
audio_info_t ainfo;
int audio_fd = (int) theHandler;
if (!audio_fd) {
audio_fd = sun_audio_fd;
}
ENTER("wave_is_busy");
ioctl(audio_fd, AUDIO_GETINFO, &ainfo);
SHOW("wave_is_busy: active=%d", ainfo.play.active);
SHOW_TIME("wave_is_busy > LEAVE");
return ainfo.play.active;
uint32_t time;
wave_get_remaining_time(total_samples_sent - 1, &time);
return time != 0;
}

//>

Loading…
Cancel
Save