Browse Source

[1.31.12]

Fix: reset phoneme table if speech is cancelled while switched to a second language.
"speak": add -z options (same as for "espeak").
Numbers: Add option to speak "and" before hundreds.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@143 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 17 years ago
parent
commit
35a7f05eb1

+ 18
- 7
dictsource/dict_phonemes View File

i@3 IR O O: o: O@ o@ OI i@3 IR O O: o: O@ o@ OI
oU O~ U u: U@ V VR oU O~ U u: U@ V VR


: ; b C d D dZ f
g h j k l m n N
p Q r r- s S t T
t2 tS v w x z Z
; b C d D dZ f g
h j k l m n N p
Q r r- s S t T t2
tS v w x z Z




Dictionary eo_dict Dictionary eo_dict


Dictionary fr_dict Dictionary fr_dict


@ @- a A A~ e E E:
E~ i i: o O O~ u W
w^i W~ y Y
@ @- a A A~ e E E~
i i: o O O~ u W w^i
W~ y Y


* : ; b c d D dZ * : ; b c d D dZ
f g h j k l L m f g h j k l L m
j k l m n p Q r j k l m n p Q r
R s S t tS v w z R s S t tS v w z
Z Z


Dictionary ku_dict

a e E eI i I o u
U y

: b d dZ f g h j
k l m n p q r R
s S t tS v w x z
Z

+ 2
- 3
dictsource/en_list View File

_' praIm _' praIm
_( ElbrakIt _( ElbrakIt
_) A@brakIt _) A@brakIt
_* ast@rIsk:
_* ast@rIsk
_+ plVs _+ plVs
_, k0m@ _, k0m@
_- h,aIf@n _- h,aIf@n
aha a2hA: aha a2hA:
ahem a2h'@m ahem a2h'@m
ahoy a2hOI ahoy a2hOI
airbus e@:bVs
airbus e@bVs
airpower 'e@p,aU@ airpower 'e@p,aU@
aisle aI@l aisle aI@l
ajar a2dZA@ ajar a2dZA@
Evan Ev@n Evan Ev@n
Gary garI2 Gary garI2
Geraint gEraInt Geraint gEraInt
Gilbert gIlb3t
Giles gaIlz Giles gaIlz
Glynn glIn Glynn glIn
Graeme greI@m Graeme greI@m

+ 1
- 0
dictsource/en_rules View File

g (i dZ g (i dZ
gi (_ gI2 gi (_ gI2
_) g (il g _) g (il g
g (ilC g
l) ging dZI2N l) ging dZI2N
g (y dZ g (y dZ
_) g (n _) g (n

+ 73
- 73
dictsource/fr_list View File



// 2006-11-18 Gilles Casse <[email protected]> // 2006-11-18 Gilles Casse <[email protected]>
// //
// Updated 2008-02-11 Michel Such <[email protected]>
// Updated 2008-02-14 Michel Such <[email protected]>
// //
// * Numbers, a few abbreviations and exceptions. // * Numbers, a few abbreviations and exceptions.
// //
adéquate adekuat adéquate adekuat
airbus Erbys airbus Erbys
anus anys anus anys
any Eni
ardent aRdA~ ardent aRdA~
bissus bisys bissus bisys
bonus bonys bonus bonys
cocus coky cocus coky
discident disidA~ discident disidA~
estomac Estoma estomac Estoma
eye aj
eyes ajz
fils fis fils fis
imprudent E~pRydA~ imprudent E~pRydA~
iris iris iris iris
juin ZyE~ juin ZyE~
malus malys malus malys
many mEni
mars maRs mars maRs
minus minys minus minys
occident OksidA~ occident OksidA~
orient ORjA~ orient ORjA~
pays pEi pays pEi
phallus falys phallus falys
polder pOldEr
prudent pRydA~ prudent pRydA~
secret sYkRE secret sYkRE
souris suri souris suri
août ut août ut
azimut azim'yt azimut azim'yt
brut bR'yt brut bR'yt
bouse buz
but by $verb but by $verb
but byt but byt
club kl@b club kl@b
(le pub) l@||p'@b (le pub) l@||p'@b
(un pub) W~||p'@b (un pub) W~||p'@b
(du pub) dy||p'@b (du pub) dy||p'@b
connecticut kOnEktikyt
cut cWt cut cWt
helmut Elmut helmut Elmut
hub _|@b hub _|@b


// et (t is said) // et (t is said)


bridget bRidZEt
exocet EgzOsEt exocet EgzOsEt
fret fR'Et fret fR'Et
gadget gadZEt
budget bydZE
hamlet amlEt hamlet amlEt
jacket ZakEt
knesset knEsEt knesset knEsEt
lazaret lazaREt lazaret lazaREt
margaret maRgaREt margaret maRgaREt
net nEt net nEt
offset OfsEt offset OfsEt
pickpocket pikpOkEt
racket RakEt
set sEt set sEt
soviet sOvjEt soviet sOvjEt


short SORt short SORt


// art (t said) // art (t said)
stewart stiwaRt
steward stiwaRt steward stiwaRt
stuttgart StutgaRt stuttgart StutgaRt
hart aRt hart aRt




// words from other languages // words from other languages
about @bawt
about _^_en
acer asEr acer asEr
again _^_en
against _^_en
alone _^_en
also _^_en
and _^_en
amazon amaz'On amazon amaz'On
(audible manager) od'ibl||manadZ'@r
be bi
being biiN
by baj
any Eni
apple _^_en
at _^_en
(audible manager) odibl||manadZ@r
be _^_en
being _^_en
bluetooth blut'us bluetooth blut'us
byte bajt
bytes bajts
both _^_en
browser _^_en
can _^_en
computer _^_en
(cyber link) sibEr||link (cyber link) sibEr||link
debian dEbjAn debian dEbjAn
driver drajv@rz2
download dOnlod
does _^_en
doesn't _^_en
don't _^_en
driver _^_en
edit edit edit edit
emacs Emaks emacs Emaks
emacspeak Emakspi:k emacspeak Emakspi:k
end _^_en
enter 'Ent@r
epson EpsOn
espeak @spi:k espeak @spi:k
ethernet etERnEt ethernet etERnEt
exit egzit exit egzit
(file zilla) fajl@-||zija
eye _^_en
eyes _^_en
(file zilla) fajl||zija
fire _^_en
firefox faj@RfOks firefox faj@RfOks
(fire wire) faj@R||wajr
firewire faj@Rwajr
google gu:g'@l
girl g@Rl
get _^_en
google gu:g@l
gnome gnom gnome gnom
gnu gnu gnu gnu
hamburger _!A~b@rg@r hamburger _!A~b@rg@r
has _!az $u
his _!iz $u
inside insajd
insight insajt
help _^_en
in _^_en
into _^_en
inside _^_en
insight _^_en
internet E~tERnEt internet E~tERnEt
(internet explorer) E~tErn'Et||EksplOr'@r (internet explorer) E~tErn'Et||EksplOr'@r
is iz
it it
its its
is _^_en
it _^_en
its _^_en
klaxon klaksOn klaxon klaksOn
leader li:d@R
let lEt
layer _^_en
let _^_en
liszt list liszt list
lite lajt
lite _^_en
logon _^_en
(mac os x) makoEsiks (mac os x) makoEsiks
mail mE:jl
maker mE:jk@r
made _^_en
mail _^_en
media medja media medja
messenger mesEnZ'@r
movy mu:v'i
my maj
name nejm
not nOt
messenger _^_en
my _^_en
name _^_en
not _^_en
of _^_en
often _^_en
ok oke ok oke
open Op'@n open Op'@n
outlook autluk outlook autluk
outside autsajd
outsider autsajd@r
player plEj'@r
quick kwik
outside _^_en
outsider _^_en
player _^_en
redhat REdat redhat REdat
release rili:z
same sejm
same _^_en
sametime _^_en
schubert SubER schubert SubER
screamer skri:m@r
(search & destroy) s@:rS_||end_||dEsstrOj
skype sk'ajp@-
spybot spajbOt
sun s@n
sunlight s@nlajt
since _^_en
sun _^_en
(text aloud) tEkst||@lawd (text aloud) tEkst||@lawd
than Dan
the D@ $u
them DEm $u
then DEn $u
there DEr $u
they DE $u
thunderbird f@ndERb@Rd
time tajm
timer tajm@r
their _^_en
there _^_en
these _^_en
those _^_en
they _^_en
thus _^_en
thunderbird D'@ndYR||b@Rd
time _^_en
timer _^_en
ubuntu ubuntu ubuntu ubuntu
update @pd'E:jt
upload @plod
very vEri
viavoice viavOjs
was waz $u
window windo
windows windoz
word wWRd
writer rajt@r
up _^_en
viking vikiN
was _^_en
won't _^_en
yacht jot yacht jot
yes jEs $brk yes jEs $brk



+ 213
- 53
dictsource/fr_rules View File

// French translation rules // French translation rules

// This file is UTF-8 encoded // This file is UTF-8 encoded


// 2006-11-18 Gilles Casse <[email protected]> // 2006-11-18 Gilles Casse <[email protected]>
// //
// Updated: 2008-02-11 Michel Such <[email protected]>
// Updated: 2008-02-14 Michel Such <[email protected]>
// //
// * The rules are based on Cicero TTS. // * The rules are based on Cicero TTS.
//
// Y


// Letter classes: // Letter classes:
// A all vowels: a e i o u y â ä é ê è î ï ô ö ù û // A all vowels: a e i o u y â ä é ê è î ï ô ö ù û
a (il_ a a (il_ a
aie (me E // paiement aie (me E // paiement
ai E // aile ai E // aile
a (lk O // talk
a (ll_ O // football handball
am (b A~ // jambon am (b A~ // jambon
am (p A~ // camp am (p A~ // camp
am (m a // programmation am (m a // programmation
ay Ej // paye ay Ej // paye
a a // bateau a a // bateau


// group a: English section
_C) ad (_ _^_en // bad, had, sad
alk _^_en // talk, walk
all (_ _^_en // football handball
f) all (en_ _^_en // fallen
sm) all _^_en // small, smaller
ally (_ _^_en // really, naturally
a (wC _^_en



.group b .group b
bb b // abbé bb b // abbé
om) b (_ // plomb applomb om) b (_ // plomb applomb
b b // aube b b // aube


// group b: English section
bird _^_en // bird
bly (_ _^_en // probably
board _^_en // board, keyboard
box (_ _^_en // box, inbox, outbox
bug (_ _^_en // bug, debug
bug (g _^_en // debugger
buil _^_en // build, built
_) buy _^_en
_) by _^_en // by, bye, bypass



.group c .group c
c' s // s c' s // s
cien (t_ i // ils appr�ient, remercient. cien (t_ i // ils appr�ient, remercient.
i) cien (t_ sjA~ // coefficient i) cien (t_ sjA~ // coefficient


// group c: English section
cast (_ _^_en // broadcast
calt (_ _^_en // difficult
cut (_ _^_en // cut, shortcut
cy (_ _^_en // currency, frequency



.group d .group d
dd d // addition dd d // addition
Csan) d (_ d Csan) d (_ d
_tan) d (_ d // stand _tan) d (_ d // stand
Ctan) d (_ d Ctan) d (_ d
for) d (_ d
lor) d (_ d


Can) d (_ t2 // grand ami, grand marchand Can) d (_ t2 // grand ami, grand marchand
Cen) d (_ t2 Cen) d (_ t2
r) d (_ // lourd placard r) d (_ // lourd placard
d d // don bled d d // don bled


// group d: English section
') d (_ _^_en
lor) d (_ _^_en
day (_ _^_en
dle (X _^_en // bundle, handle
dly (_ _^_en
dy (_ _^_en



.group e .group e
e (Ce_ E e (Ce_ E
eau o // bateau cheveaux eau o // bateau cheveaux
C) ea (d i: // read
Cr) ea (m i: // stream
Cl) ea (n i: // clean
C) ea (Cer i: // reader, cleaner
g) ea (s_ a // mangeas
j) e (a // Jean Jeanne j) e (a // Jean Jeanne
sp) ea (k i: // speak speaker
p) ect (_ E // suspect p) ect (_ E // suspect
ect (_ Ekt // direct ect (_ Ekt // direct
_trépi) ed e _trépi) ed e
_pi) ed e // pied _pi) ed e // pied
ee i: // meeting
_cl) ef (_ e // clef _cl) ef (_ e // clef
Ck) e (r_ @ // worker, talker
_Cett) e (r_ @ // letter, better
eaC) e (r_ @ // speaker, streamer
gh) e (r_ @ // higher
ght) e (r_ @ // fighter, lighter
ooC) e (r_ @ // scooter
_ov) e (r @ // over
ein (C E~ // peindre ein (C E~ // peindre
ein (_ E~ ein (_ E~
e (il E // vieille e (il E // vieille
_trav) er (_ ER _trav) er (_ ER
_ti) er (_ ER _ti) er (_ ER


th) er (_ @R // brother
th) er (s_ @R
w) er (_ @R // power
w) er (s_ @R


er (_ e // parler léger er (_ e // parler léger
er (s_ e er (s_ e


@Cr) es (_C @- @Cr) es (_C @-
rC) es (_C @- // fortes dames rC) es (_C @- // fortes dames
dg) et (_ Et // Bridget, gadget


') eu (_ y // eu ') eu (_ y // eu
eu (r_ @ // peur eu (r_ @ // peur
_) eû y // eût _) eû y // eût
eû Y // jeûne eû Y // jeûne


ew (_ ju // new
ews juz // news, newsreader
r) ew (_ u // crew
r) ews uz
i) ew (_ u // view
i) ews uz
e (x E // exact e (x E // exact
ey (_ e // dahomey ey (_ e // dahomey
ey (C e // ceylan ey (C e // ceylan


e @ // menue e @ // menue


// group e: English section
C) ead _^_en // read, head
eaf _^_en // leaf
eak _^_en // break, speak
Cr) eam _^_en // stream
Cl) ean _^_en // clean
l) ean _^_en // lean
m) ean _^_en // mean
ear _^_en // ear, search
eas _^_en // please
eat _^_en // eat, seat
ed (_ _^_en
ee _^_en // meeting
eave _^_en // leave
eft (_ _^_en // left
eive _^_en // receive
eith _^_en // either neither
ely (_ _^_en // lately
ooC) er (_ _^_en // scooter
_ov) er _^_en // over
_C) etter (_ _^_en // letter, better
ack) et (_ _^_en // racket, packet
ock) et (_ _^_en // rocket, pocket
ery (_ _^_en // query
qu) est (_ _^_en // request
qu) este (X_ _^_en // requested, requester



.group ë .group ë
u) ë // ambiguë u) ë // ambiguë
_neu) f (_ans v // liaison: neuf ans _neu) f (_ans v // liaison: neuf ans
_neu) f (_heures v _neu) f (_heures v


// group f: English section
fail (_ _^_en // fail
fail (A _^_en // failure
faith _^_en // failure
fly _^_en
ford (_ _^_en
friend _^_en // friend, friendly
full (_ _^_en
fully (_ _^_en
fy (_ _^_en



.group g .group g
g g g g
g (_ g // grog gag goulag g (_ g // grog gag goulag
g Z // congé george g Z // congé george


// group g: English section
gh _^_en // high, higher
girl _^_en // girl
gly (_ _^_en
give (X _^_en
gy (_ _^_en



.group h .group h
_) h (ac _! // hache _) h (ac _! // hache
_) h (ide _! // hideux _) h (ide _! // hideux
_) h (iér _! // hiéroglyphe _) h (iér _! // hiéroglyphe
_) h (i-fi _! // hi-fi _) h (i-fi _! // hi-fi
_) h (igh _! // highlandais
_) h (i-han _! // hi-han _) h (i-han _! // hi-han
_) h (iss _! // hisser _) h (iss _! // hisser
_) h (it _! // hit, hit-parad _) h (it _! // hit, hit-parad
_) h (umo // humour _) h (umo // humour
h // ahuri h // ahuri


// group h: English section
_) half _^_en
_) h (As_ _^_en // has, his
here (_ _^_en // here



.group i .group i
i i // cri i i // cri
i (es_ i // parties i (es_ i // parties
i (e_ i i (e_ i
i (A j // fermier portier patio renier i (A j // fermier portier patio renier
ig (h aj // right, fight, light
wh) ile ajll // while, endwhile
wr) i (tA aj // write
_) ill ill // illégal _) ill ill // illégal
_m) ill il // mille _m) ill il // mille
v) ill il // village v) ill il // village
imm imm // immaculé imm imm // immaculé
im (_ im // karim im (_ im // karim
im (C E~ // timbre im (C E~ // timbre
ing (_ iN // parking
in (h in // inhumain in (h in // inhumain
inct (_ E~ // distinct inct (_ E~ // distinct
ind (_ ajnd // find, mind
ind (ing_ ajnd // find, mind
ink ink // link, pink
in (n i // innombrable in (n i // innombrable
in (C E~ // vingt in (C E~ // vingt
// in (_ E~ // vin
in (_ W~ // vin in (_ W~ // vin
ique (_ ik ique (_ ik


// group i: English section
ike (X _^_en // bike, like
ill (_ _^_en // ill, will, fill
C) illy (_ _^_en // silly
ing (_ _^_en // parking
ind (_ _^_en // find, mind
ind (er_ _^_en // finder, reminder
ink _^_en // link, pink
ious (_ _^_en // various
iously (_ _^_en // previously
ism (_ _^_en // tourism
ize _^_en // realize



.group î .group î
î i // abîme î i // abîme


.group k .group k
k k // kafka k k // kafka
ket (_ kEt // basket
kets (_ kEt // basket




// group k: English section
ke (X _^_en // basket, make, take
ky (_ _^_en

.group l .group l
l l // lit l l // lit
ll l // aller ll l // aller
outi) l (_ // outil outi) l (_ // outil
ui) ll j // juillet ui) ll j // juillet


// group l: English section
') ld (_ _^_en
') ll (_ _^_en
less (_ _^_en // noiseless
lessly (_ _^_en // endlessly



.group m .group m
m m // film m m // film
mm m // pomme mm m // pomme


// group m: English section
mail (A _^_en // mailer
may _^_en
mov (A _^_en // move, movy



.group n .group n
n n // une n n // une
A) ng (_ N // parking meeting A) ng (_ N // parking meeting
nn n // panne nn n // panne


// group n: English section
n't (_ _^_en
ny (_ _^_en



.group o .group o
cr) oc (_ o // escroc cr) oc (_ o // escroc
r) o (ne_ o r) o (ne_ o


alc) oo (l O // alcool alc) oo (l O // alcool
oo (Ce u // boomer
C) oot ut // bootable football
z) oo o // zoo z) oo o // zoo
z) oo (l oo // zoologue
z) oo (ph oo // zoophile
z) oo (C oo // zoologue
z) oo (m u // zoom z) oo (m u // zoom
oo (X u // pool oo (X u // pool
_gal) op (_ o // galop _gal) op (_ o // galop
v) ost (_ o // Prévost v) ost (_ o // Prévost
o (sA o // poser o (sA o // poser
ot (_ o // mot dépots ot (_ o // mot dépots
C) ou (nd aw // sound, found
_C) oup (_ u // coup, loup _C) oup (_ u // coup, loup
uC) oup (_ up2 // beaucoup uC) oup (_ up2 // beaucoup


oû u // coûter oû u // coûter
oyes (_ wa // troyes oyes (_ wa // troyes
oy (A waj // noyer voyelles oy (A waj // noyer voyelles
oy (_ Oj // boy, toy
oys (_ Ojz // boys, toys
oy wa // roy oy wa // roy
o (_ o // zorro allégro o (_ o // zorro allégro
o (z_ o // berlioz o (z_ o // berlioz


o O // sobre notions émotions o O // sobre notions émotions


// group o: English section
C) oad (_ _^_en // load, road
C) oad (eX _^_en // loaded
C) oat _^_en // boat
old (er_ _^_en // folder, older
oo (Ce _^_en // boomer
C) oot _^_en // bootable football
C) ou (ld_ _^_en // could, should
oun (C _^_en // bounce, found
_C) ouse _^_en // mouse, house
C) outh _^_en // mouth, south
ow _^_en // cow, town, down
oy (X _^_en // boy, toy



.group ô .group ô
ôt (_ o // rôt ôt (_ o // rôt
se) pt (_ t // sept se) pt (_ t // sept
se) pt (iè t // septième se) pt (iè t // septième


// group p: English section
plug _^_en // plug
ply (_ _^_en // simply
print (_ _^_en // print
printer (_ _^_en // printer
_) prove (X _^_en // prove
_AC) prove (X _^_en // improve
_AC) provem _^_en // improvement
py (_ _^_en // copy



.group q .group q
q k // coq q k // coq
_) qu' (P3 k // qu'il _) qu' (P3 k // qu'il
n) q (_ k // cinq cent n) q (_ k // cinq cent


// group q: English section
quick _^_en // quick, quickly



.group r .group r
right rajt // copyright
_su) rr RR // surréaliste _su) rr RR // surréaliste
cou) rr RR // courrai cou) rr RR // courrai
mou) rr RR // mourrai mou) rr RR // mourrai
rr R // erreur rr R // erreur
r r // rien r r // rien


// group r: English section
_) rule (X _^_en // rule
ry (_ _^_en // theory



.group s .group s
s s // verser sien s s // verser sien
sch S // schéma sch S // schéma
dé) sh (A z // déshabiller dé) sh (A z // déshabiller
sh S // shérif sh S // shérif
CA) sh (_ _^_en // punish
ss s // assez ss s // assez


ai) s (em s // vraisemblable ai) s (em s // vraisemblable
ïu) s (_ s // laïus ïu) s (_ s // laïus
Culu) s (_ s // cumulus Culu) s (_ s // cumulus
plu) s (_ z2 // plus, surplus plu) s (_ z2 // plus, surplus
ylu) s (_ s // stylus
mu) s (_ s mu) s (_ s
_mu) s (_ _mu) s (_
ému) s (_ ému) s (_
s (j z s (j z
s (v z s (v z


// group s: English section
') s (_ _^_en // possessive
ship _^_en // friendship
shop _^_en // shop
sh (At _^_en // shut, shot
shout _^_en
sky _^_en
_) smil _^_en // smile, smiley
spy _^_en
A) ss (_ _^_en // boss, cross
C) s (ton _^_en // winston
stone (_ _^_en
sy (_ _^_en



.group t .group t
t t // bataille t t // bataille
V) t (_ t2 // silent at end of verb unless next word starts with a vowel V) t (_ t2 // silent at end of verb unless next word starts with a vowel
t (_ // silent at end of word t (_ // silent at end of word
_) th (onX t // thon
_) th (ymX t // shym
ts (_S1 z2 // silent at end of word unless next word starts with a vowel ts (_S1 z2 // silent at end of word unless next word starts with a vowel
C) t (_ t // compost watt soft script malttact abrupt C) t (_ t // compost watt soft script malttact abrupt
Vn) t (_ t2 // silent at end of verb unless next word starts with a vowel Vn) t (_ t2 // silent at end of verb unless next word starts with a vowel


s) th (m // asthme s) th (m // asthme
th t // théorie th t // théorie
sCar) t (_ t // smart, start
hui) t (_ t // huit hui) t (_ t // huit


_) t t // tien tiers _) t t // tien tiers


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


// group t: English section
_) th (AX _^_en // that, this, then, than
C) th (_ _^_en // month
try (_ _^_en // try, country
sCar) t (_ _^_en // smart, start
sCar) t (er_ _^_en // starter
ty (_ _^_en // party, buty



.group u .group u
u y // cruel nuage brut u y // cruel nuage brut
ui w^i ui w^i


_b) usi iz // business, businessman
_b) usi _^_en // business, businessman
c) ueill Wj // cueillir c) ueill Wj // cueillir
c) ueil (_ Wj // recueil c) ueil (_ Wj // recueil
_c) ul (_ y _c) ul (_ y
um (b W~ // humble um (b W~ // humble
um (p W~ um (p W~
un (C W~ // emprunt lundi un (C W~ // emprunt lundi
C) un (_ W~ // brun
CC) un (_ W~ // brun
uc) un (_ W~n2 // aucun uc) un (_ W~n2 // aucun
un (_ W~n2 // un avion un (_ W~n2 // un avion
_f) un @n // fun
_g) un @n // gun
_r) un @n // run
_s) un @n // sun, sunday


fl) ux (_ y // flux, reflux fl) ux (_ y // flux, reflux
g) u (A // fatigue g) u (A // fatigue
g) u (ï y // ambiguïté g) u (ï y // ambiguïté
g) u (ë y // ambiguë g) u (ë y // ambiguë


// group u: English section
C) u (ch_ _^_en // much such
C) ui (ce _^_en // produice, juice
up (C _^_en // upper, update
under _^_en // under, understand, thunder
C) ur (ch _^_en // church
urn (X _^_en // burn, turn
ust (_ _^_en // just, trust
rib) u (teX _^_en // tribute, attribute



.group v .group v
v v v v


// goup v: English section
') ve (_ _^_en
voice (_ _^_en
void (_ _^_en
vy (_ _^_en



.group w .group w
w w w w
wa (Ce_ wE // hardware software wave
w (agon v // wagon w (agon v // wagon
w (r // write

// group w: English section
A) w _^_en
wa (Ce_ _^_en // hardware software wave
wr _^_en // write
w (ACh _^_en // wash, wish, with
way _^_en // way, away
wh _^_en // what, which, who
_) wi _^_en // winner, window, wire
wise _^_en
_) wom _^_en // woman
wor _^_en // word, world




.group x .group x

+ 1
- 1
dictsource/zh_rules View File

t) u (DnK wu@ t) u (DnK wu@
uo uo uo uo


sh) ui wei
sh) ui rei
sh) u (DnK wo- sh) u (DnK wo-
sh) uo wo sh) uo wo



+ 2
- 0
docs/mbrola.html View File

<p> <p>
The -e option prevents Mbrola from stopping if it finds a combination The -e option prevents Mbrola from stopping if it finds a combination
of phonemes which it doesn't recognise. of phonemes which it doesn't recognise.
<p>
Some mbrola voices (de5, de6) use a sample rate of 22050 Hz. These need -r22050 rather than -r16000.
</ol> </ol>
<h3>Mbrola Voice Files</h3> <h3>Mbrola Voice Files</h3>



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

gender female gender female


pitch 140 220 pitch 140 220
mbrola de5 de5_phtrans 22050
mbrola de5 de6_phtrans 22050



+ 16
- 3
phsource/compile_report View File

48 phoneme tables
49 phoneme tables
new total new total
base 99 99 base 99 99
base2 24 118 base2 24 118
ru 38 129 ru 38 129
it 17 121 it 17 121
la 21 117 la 21 117
es 8 119
es 9 119
es_la 1 119 es_la 1 119
pt 27 134 pt 27 134
pt_pt 20 134 pt_pt 20 134
th 50 142 th 50 142
id 14 120 id 14 120
tr 14 123 tr 14 123
ku 12 120
ja 7 104 ja 7 104


Data file Used by Data file Used by
[x2] nl [x2] nl
[x2] pt [x2] pt
ufric/x_hr [x] hr ufric/x_hr [x] hr
[x] ku
ufric/x_sr [h] sr ufric/x_sr [h] sr
[x] sr [x] sr
ustop/c [c] base ustop/c [c] base
[k] zhy [k] zhy
[k] sw [k] sw
ustop/k_unasp [k] base ustop/k_unasp [k] base
[q] base
[k] base2 [k] base2
[k] fi [k] fi
[k] hi [k] hi
[p] sk [p] sk
[p] la [p] la
[p;] ro [p;] ro
ustop/q [q] base
ustop/t [t] base ustop/t [t] base
[t2] en [t2] en
[t] fr [t] fr
[eI] id [eI] id
vdiph/eei_3 [eI] en_rp vdiph/eei_3 [eI] en_rp
[eI] sk [eI] sk
[eI] ku
vdiph/eeu [EU] pt vdiph/eeu [EU] pt
[EU] grc [EU] grc
[EU] vi [EU] vi
[&] fi [&] fi
[&:] hi [&:] hi
[&] sv [&] sv
[E] ku
vowel/0 [0] en vowel/0 [0] en
[O] hi [O] hi
[O] pt [O] pt
[aa] zhy [aa] zhy
vowel/aa# [0] en_wi vowel/aa# [0] en_wi
[a2] fi [a2] fi
[a] ku
vowel/aa_2 [A:] en vowel/aa_2 [A:] en
[A@] en [A@] en
[A:] cy [A:] cy
[e] fi [e] fi
[E] nl [E] nl
[e] sk [e] sk
[e] es
[e] ro [e] ro
[e] el [e] el
[e] sw [e] sw
[i] hr [i] hr
[i] id [i] id
[i] tr [i] tr
[i] ku
vowel/i#_6 [i.] zh vowel/i#_6 [i.] zh
vowel/i#_7 [i[] zh vowel/i#_7 [i[] zh
vowel/i_en [i:] en vowel/i_en [i:] en
[I] nl [I] nl
[I] is [I] is
[i] zhy [i] zhy
[e] ku
vowel/ii# [Y] cy vowel/ii# [Y] cy
[y] pl [y] pl
[Y] ru [Y] ru
[I] ku
vowel/ii_2 [i] zh vowel/ii_2 [i] zh
vowel/ii_3 [I] cy vowel/ii_3 [I] cy
[I] fi [I] fi
vowel/o-_4 [o] ro vowel/o-_4 [o] ro
vowel/o_5 [O] nl vowel/o_5 [O] nl
vowel/o_6 [O:] nl vowel/o_6 [O:] nl
vowel/o_7 [o] ku
vowel/oe [W] en vowel/oe [W] en
[W] af [W] af
[W] de [W] de
vowel/u_5 [u] sw vowel/u_5 [u] sw
vowel/u_6 [U] pt_pt vowel/u_6 [U] pt_pt
[u] pt_pt [u] pt_pt
[u] ku
vowel/u#_6 [u:] en_us vowel/u#_6 [u:] en_us
vowel/u_7 [u] vi vowel/u_7 [u] vi
vowel/u#_7 [u#] tr vowel/u#_7 [u#] tr
vowel/u_fnt [u:] en_rp vowel/u_fnt [u:] en_rp
vowel/uu [U] en vowel/uu [U] en
[U] en_wm [U] en_wm
vowel/uu# [U] ku
vowel/uu_2 [U] base2 vowel/uu_2 [U] base2
[U] de [U] de
[U] ta [U] ta
vowel/y_4 [y:] no vowel/y_4 [y:] no
vowel/y_5 [y:] sv vowel/y_5 [y:] sv
[y] tr [y] tr
[y] ku
vowel/yy [y"] fr_ca vowel/yy [y"] fr_ca
[y] no [y] no
vowel/yy_3 [y] sv vowel/yy_3 [y] sv

+ 6
- 0
phsource/ph_spanish View File

// Spanish - based on Base2 // Spanish - based on Base2
//==================================================== //====================================================


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

phoneme E phoneme E
vowel starttype (e) endtype (e) vowel starttype (e) endtype (e)
length 180 length 180

+ 6
- 0
phsource/ph_spanish_la View File


//====================================================
// Latin American Spanish - based on Spanish
//====================================================



+ 5
- 2
phsource/phonemes View File

vowelin f1=1 f2=1700 0 200 f3=-300 80 f4 paus rms=35 vowelin f1=1 f2=1700 0 200 f3=-300 80 f4 paus rms=35
vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30 vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30
lengthmod 2 lengthmod 2
wave ustop/k_unasp%60
before _ ustop/k_unasp%50
wave ustop/q%50
before _ ustop/q%40
endphoneme endphoneme




phonemetable tr base2 phonemetable tr base2
include ph_turkish include ph_turkish


phonemetable ku base2
include ph_kurdish

phonemetable ja base phonemetable ja base
include ph_japanese include ph_japanese

BIN
phsource/r3/@tap View File


BIN
phsource/vowel/& View File


BIN
phsource/vowel/ii# View File


BIN
phsource/vowel/u_6 View File


BIN
phsource/vowel/uu# View File


+ 4
- 2
src/Makefile View File

# removed -fno-exceptions because it caused problems with stdio library on some platforms

PREFIX=/ PREFIX=/
BINDIR=$(PREFIX)/usr/bin BINDIR=$(PREFIX)/usr/bin
INCDIR=$(PREFIX)/usr/include/espeak INCDIR=$(PREFIX)/usr/include/espeak
mv $(LIB_NAME) $(LIB_NAME).$(LIBTAG) mv $(LIB_NAME) $(LIB_NAME).$(LIBTAG)


.cpp.o: .cpp.o:
$(CXX) $(CXXFLAGS) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -pedantic -I. -c -fno-exceptions $<
$(CXX) $(CXXFLAGS) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -pedantic -I. -c $<


$(BIN_NAME): $(OBJS1) $(BIN_NAME): $(OBJS1)
$(CXX) -o $@ $(OBJS1) $(LIBS1) $(CXX) -o $@ $(OBJS1) $(LIBS1)


x_%.o: %.cpp x_%.o: %.cpp
$(CXX) $(CXXFLAGS) -Wall -fpic -pedantic \ $(CXX) $(CXXFLAGS) -Wall -fpic -pedantic \
-I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o
-I. -D LIBRARY -c $< -o x_$*.o


$(LIB_NAME): $(OBJS2) $(LIB_NAME): $(OBJS2)
$(CXX) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ $(OBJS2) $(LIBS2) $(CXX) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ $(OBJS2) $(LIBS2)

+ 8
- 1
src/numbers.cpp View File

char ph_digits[50]; char ph_digits[50];
char ph_thousands[50]; char ph_thousands[50];
char ph_hundred_and[12]; char ph_hundred_and[12];
char ph_thousand_and[12];
hundreds = value / 100; hundreds = value / 100;
buf1[0] = 0; buf1[0] = 0;
if(hundreds > 0) if(hundreds > 0)
{ {
ph_thousands[0] = 0; ph_thousands[0] = 0;
ph_thousand_and[0] = 0;


Lookup("_0C",ph_100); Lookup("_0C",ph_100);


ph_digits[0] = 0; ph_digits[0] = 0;
if(hundreds > 0) if(hundreds > 0)
{ {
if((langopts.numbers & 0x100000) && (prev_thousands || (ph_thousands[0] != 0)))
{
Lookup("_0and",ph_thousand_and);
}

suppress_null = 1; suppress_null = 1;


found = 0; found = 0;
} }
} }


sprintf(buf1,"%s%s%s",ph_thousands,ph_digits,ph_100);
sprintf(buf1,"%s%s%s%s",ph_thousands,ph_thousand_and,ph_digits,ph_100);
} }


ph_hundred_and[0] = 0; ph_hundred_and[0] = 0;

+ 1
- 0
src/phoneme.h View File

// Several phoneme tables may be loaded into memory. phoneme_tab points to // Several phoneme tables may be loaded into memory. phoneme_tab points to
// one for the current voice // one for the current voice
extern int n_phoneme_tab; extern int n_phoneme_tab;
extern int current_phoneme_table;
extern PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; extern PHONEME_TAB *phoneme_tab[N_PHONEME_TAB];
extern unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited extern unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited



+ 7
- 1
src/speak.cpp View File

"-q\t Quiet, don't produce any speech (may be useful with -x)\n" "-q\t Quiet, don't produce any speech (may be useful with -x)\n"
"-x\t Write phoneme mnemonics to stdout\n" "-x\t Write phoneme mnemonics to stdout\n"
"-X\t Write phonemes mnemonics and translation trace to stdout\n" "-X\t Write phonemes mnemonics and translation trace to stdout\n"
"-z\t No final sentence pause at the end of the text\n"
"--stdout Write speech output to stdout\n" "--stdout Write speech output to stdout\n"
"--compile=<voice name>\n" "--compile=<voice name>\n"
"\t Compile the pronunciation rules and dictionary in the current\n" "\t Compile the pronunciation rules and dictionary in the current\n"
option_phonemes = 0; option_phonemes = 0;
option_waveout = 0; option_waveout = 0;
option_wordgap = 0; option_wordgap = 0;
option_endpause = 1;
option_multibyte = espeakCHARS_AUTO; // auto option_multibyte = espeakCHARS_AUTO; // auto
f_trans = stdout; f_trans = stdout;


#else #else
while(true) while(true)
{ {
c = getopt_long (argc, argv, "a:bf:g:hk:l:p:qs:v:w:xXm",
c = getopt_long (argc, argv, "a:bf:g:hk:l:p:qs:v:w:xXmz",
long_options, &option_index); long_options, &option_index);


/* Detect the end of the options. */ /* Detect the end of the options. */
strncpy0(wavefile,optarg2,sizeof(wavefile)); strncpy0(wavefile,optarg2,sizeof(wavefile));
break; break;


case 'z':
option_endpause = 0;
break;

case 0x100: // --stdin case 0x100: // --stdin
flag_stdin = 1; flag_stdin = 1;
break; break;

+ 3
- 1
src/synthdata.cpp View File

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


const char *version_string = "1.31.10 12.Feb.08";
const char *version_string = "1.31.12 16.Feb.08";
const int version_phdata = 0x013105; const int version_phdata = 0x013105;


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


// copy the current phoneme table into here // copy the current phoneme table into here
int n_phoneme_tab; int n_phoneme_tab;
int current_phoneme_table;
PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; PHONEME_TAB *phoneme_tab[N_PHONEME_TAB];
unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited


n_phoneme_tab = 0; n_phoneme_tab = 0;
SetUpPhonemeTable(number,0); // recursively for included phoneme tables SetUpPhonemeTable(number,0); // recursively for included phoneme tables
n_phoneme_tab++; n_phoneme_tab++;
current_phoneme_table = number;
} // end of SelectPhonemeTable } // end of SelectPhonemeTable





+ 5
- 0
src/synthesize.cpp View File

return(0); return(0);
} }


if(current_phoneme_table != voice->phoneme_tab_ix)
{
SelectPhonemeTable(voice->phoneme_tab_ix);
}

// read the next clause from the input text file, translate it, and generate // read the next clause from the input text file, translate it, and generate
// entries in the wavegen command queue // entries in the wavegen command queue
p_text = translator->TranslateClause(f_text,p_text,&clause_tone,&voice_change); p_text = translator->TranslateClause(f_text,p_text,&clause_tone,&voice_change);

+ 16
- 0
src/tr_languages.cpp View File

} }
break; break;


case L('k','u'): // Kurdish
{
static const unsigned char stress_amps_ku[8] = {16,16, 20,20, 20,24, 24,22 };
static const short stress_lengths_ku[8] = {170,170, 190,170, 0,0, 230,240};

tr = new Translator();
SetupTranslator(tr,stress_lengths_ku,stress_amps_ku);
tr->charset_a0 = charsets[9]; // ISO-8859-9 - Latin5

tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable

tr->langopts.numbers = 0x100c69;
tr->langopts.max_initial_consonants = 2;
}
break;

case L('l','a'): //Latin case L('l','a'): //Latin
{ {
tr = new Translator(); tr = new Translator();

+ 2
- 1
src/translate.h View File

// bit3= , decimal separator, not . // bit3= , decimal separator, not .
// bit4=use three-and-twenty rather than twenty-three // bit4=use three-and-twenty rather than twenty-three
// bit5='and' between tens and units // bit5='and' between tens and units
// bit6=add "and" after hundred and thousand
// bit6=add "and" after hundred or thousand
// bit7=don't have "and" both after hundreds and also between tens and units // bit7=don't have "and" both after hundreds and also between tens and units
// bit8=only one primary stress in tens+units // bit8=only one primary stress in tens+units
// bit9=only one vowel betwen tens and units // bit9=only one vowel betwen tens and units
// bit17=recognize roman numbers // bit17=recognize roman numbers
// bit18=Roman numbers only if upper case // bit18=Roman numbers only if upper case
// bit19=don't add pause after a number // bit19=don't add pause after a number
// bit20='and' before hundreds
int numbers; int numbers;


// bits 1-4 use variant form of numbers before thousands,millions,etc. // bits 1-4 use variant form of numbers before thousands,millions,etc.

Loading…
Cancel
Save