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-fd96e6ae7743master
@@ -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 | |||
@@ -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 | |||
@@ -26,6 +26,7 @@ _. pUnkt | |||
@ kl'ame:*,af@ | |||
~ tIld@ | |||
\ bEkslES | |||
° g@-*A:t | |||
_, kOma | |||
_| paIp |
@@ -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 |
@@ -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 |
@@ -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: |
@@ -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 |
@@ -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 |
@@ -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 | |||
@@ -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 |
@@ -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 | |||
@@ -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 | |||
@@ -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]> |
@@ -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]); | |||
} |
@@ -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. |
@@ -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 |
@@ -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; |
@@ -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 |
@@ -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")); | |||
@@ -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 | |||
@@ -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; | |||
} | |||
//> |