Browse Source

[1.37.09]

Fixed pitch adjustments for mbrola voices (eg. -p option).
Changes to languages: pt (mb-br4), fr, af


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

+ 13
- 2
dictsource/af_list View File

@@ -110,7 +110,7 @@ _1 _'e@n
_1a _'e@n
_2 'twe@
_3 'dri
_4 'fir
_4 'fi:r
_5 'feIf
_6 'sEs
_7 'se@v@
@@ -231,6 +231,7 @@ ulundi ul'undi
upington apiNt@n
vesuvius v@su:viWs
viëtnam vj'Etnam
wallonië val'o@ni@
wellington wEliNt@n
wolseley wulsli
worcester v'ust@r
@@ -323,6 +324,7 @@ gerhardus $2
gloria glO:ria
grange x2rA:nsi
gustav gustaf
guy _^_EN
harry _^_EN
havenga hA:f@Nx2a
haydn hAId@n
@@ -347,6 +349,7 @@ jordaan $2
josef jo@s@f
juanita juan'ita
kelvin _^_EN
kim _^_EN $capital
krige krix2@
langenhoven laN@nho@f@n
lasarus lA:s@r%Ws
@@ -380,7 +383,7 @@ messias m@sijas
michael _^_EN
michelle miS'&l
michiel $2
mike _^_EN
mike _^_EN
miriam mIri@m
mohammed muh'am@t
mostert m'Ost@rt
@@ -637,6 +640,7 @@ bene be@n@
beswil bEsv@l
bêre b&:r@
beskryf b@skr'eIf
besnedene b@sne@d@n@
bestes bEst@s
beta be@ta
bewe be@v@
@@ -764,9 +768,11 @@ kwansuis $2

libido l@bidu
londense lOnd@ns@
lord _^_EN

macaroni makar'o@ni
madame mad'A:m
madamoiselle _^_FR
malles mal@s
maskering mask'e@r@N $only
massaal $2
@@ -785,6 +791,7 @@ misbruik $2 $verb
misbruikte $2
miskien $2
misterie m@ste@ri
monsieur _^_FR
motore mo@t'o@r@
motor mo@t@r
motortjie mo@t@rki
@@ -811,6 +818,7 @@ normale nOrm'A:l@
numeri nWm@ri

oeuvre W:vr@
omgeef $2
omrede $2
omtrent Omtr'Ent
onbegrip $1
@@ -887,6 +895,7 @@ sektore $2
sinagoge s@n@x2o@x2@
senatore s@nat'o@r@
singenot sInx2@nOt
sir _^_EN
skares skA:r@s
skepsele skEps@l@
skuldelas skWld@las
@@ -914,6 +923,7 @@ terug t@-rWx2
tesaam t@sA:m
tevrede t@fre@d@
toegee tux2e@
toereken ture@k@n
totale tut'A:l@
totsiens $2
tragiek trax2'ik
@@ -921,6 +931,7 @@ tragiek trax2'ik
uitdaging YydA:x2@N
uiteraard Yyt@r_'A:rt
uitermate $3
uniforme $3

vaarwel fA:rv'&l
vakant f%ak'ant

+ 59
- 16
dictsource/af_rules View File

@@ -330,7 +330,7 @@
an (djie+ aIN
anek (dot %an%Ek // fix stress and vowel sounds: anekdote/-doties
ane (mo %an@ // fix stress and vowel sounds: anemoon/anemone
_) an (A an //short a at word start
_) an (A %an //short a at word start
ange (lier %aN@ // angelier/-e and compounds
an (gina %aN // move default stress, fix n/g sounds: angina
_) angl (A %A~Nx2l% // anglikaans/anglisisme/anglofiel
@@ -440,6 +440,7 @@
bibli (oC b@bl%i:% // biblioteek and compounds/biblioteke/bibliofiel/bibliografie...
bidd bId // biddag/aanbidding
bid bIt_ // biduur/aanbid
_) bi (ga b%i // bigamie/-s/-e
bikini b@kini // move default stress: bikini and compounds
bil (j b@l // move default stress: biljet/-te/biljart/biljoen and compounds
binne bIn@ // binnekom/binnelandse
@@ -569,7 +570,7 @@
bessie bEsi
berg b&rx2
berge b&rg@
berke b&rk@ // fix 2nd e in compoundslike: berketonnel
_) berke b&rk@ // fix 2nd e in compoundslike: berketonnel
besem be@s@m
besering =b@se@r@N // besering/s/kniebesering...
bete (_ be@t@ // fix stress and e sound: (af)gebete/diabete
@@ -938,6 +939,8 @@
gel) eer e@r // words containing geleer take default stress: regsgeleerde
@k) eer e@r // words containing keer take default stress, except for:
ik) eer 'e@r // abdikeer/kommunikeer, etc.
AAl) eer e@r // restore default stress: evange-/evolusie-/seekoeilieleer, etc.
Aol) eer 'e@r // fix stress: rioleer/gelanseoleer/-de/gepetioleer
oriënt) eer e@r // default stress: beroepsgeoriënteerd and similar
Cm) eer e@r // words containing meer preceded by consonant take default stress: bergmeer/strandmeer, etc.
rm) eer 'e@r // but not words like: alarmeer/gereformeerd/transformeer
@@ -1303,6 +1306,7 @@
_) fi (na@ f%i // finaal/finale/finansies
mor) fine (@ fin@_ // fix e sound in compounds: morfineafhanklikheid/-beswyming/-dosis/-tablet
fi (skA f@ // move default stress: fiskaal/fiskale/konfiskeer
_) fitz _^_EN // English pronunciation: Fitzgerald/-john/-patrick, etc.
fla (mi fl%a // move default stress: flamink/-e and compounds
fla (grant fl%a // shorten 1st a and move default stress: flagrant/-e
flambo (jant fl%amb%u // move default stress: flambojant/-e/-heid
@@ -1344,6 +1348,8 @@
gala (_ gA:l%a // fix g sound: gala/swemgala/gala-aand
ga (lAC x2%a // galant/galery/galon/galop
gal (joen x2%al // move default stress: galjoen/-e and compounds
gamie (_ x2am'i // bi-/mono-/poligamie, etc.
gamies x2'A:mis // bi-/mono-/poligamies/-e
gar (n x2%ar // move default stress: garnaal/garnale/garneer/garnering and compounds
garni (soen x2%arn%i // fix stress: garnisoen and compounds
@C) garye x2%ar'eI@ // Fix stress: Bulgarye/Hongarye
@@ -1610,7 +1616,7 @@
iber (i@ %ibe@r // Siberië/Siberiese/Iberiese
@) ic (_ _^_EN // Words ending in -ic are English
ie i
tr) ie (_ 'i //stress on trie at word end
tr) ie (_ 'i //stress on trie at word end
ieë (K i:@ // knieë/vlieë/spieël/-tjie
h) i (dro i //hidro in compounds
_) i (ko %i // move default stress: ikoon/ikone
@@ -1805,7 +1811,7 @@
C) iveer if'e@r // always takes stress
C) iver (A if'e@r // always takes stress: aktiverende/motivering
i (voor %i // move default stress: ivoor and compounds
ié 'i // pronounce dié/nié, etc. with stress
ié '!i // pronounce dié/nié, etc. with stress
C) i (ësta %i // fiësta/siësta

.group j
@@ -1823,6 +1829,7 @@
januarie jany,A:ri
japo (n j%apO // fix stress and shorten a sound: japon/-ne and compounds/japonika
jas (myn j%as // move default stress: jasmyn and compounds
jazz dZ&:z // fix j and a sounds: jazz and compounds
jean _^_EN
jeep _^_EN // English pronunciation
jellie dZ'Eli
@@ -2044,7 +2051,7 @@
kommando k%umandu // move stress, fix o sounds: kommando and compounds
kommer (si k%Om%&r // fix e sound: kommersieel/-ële
kommissie k%umis%i //kommissie alone and in compounds
ko (pie@ k%u // kopiereg/kopie
_) ko (pie@ k%u // kopiereg/kopieë
koe (rA k%u // koerier/koerasie/koerant and compounds
ko (ra k%u // fix stress and o sound: koraal/korale and compounds
korrek k%urEk //korrek and derivitives
@@ -2277,7 +2284,7 @@
ma (tr m%a // matriek and many compounds with matriek/matras/matroos/matrose
ma (trikK mA: // lengthen a sound: matriks/-e
@) matig m'A:t@x2 // doelmatig/gelykmatig/regmatig; matig takes stress in compounds
// mc _^_EN //the mac names does not work
// mc _^_EN // The mac names does not work

mme (C m@
mme (tjie mi // lemmetjie/stemmetjie and similar
@@ -2394,6 +2401,7 @@
memo (rA m%Em%u // fix stress and vowel sounds: memorandum/memoranda and compounds/memoriseer/-sering
meneer m@n'e@r // meneer/meneertjie
menere m@n'e@r@ // menere/beroepsmenere
meng (sel mEN // fix e sound: sitronellamengsel and similar compounds
mening m'e@n@N
mening (itis mEn@Nx2 // see rule: mening m'e@n@N

@@ -2577,6 +2585,7 @@
odiek ud'ik // periodiek/metodiek
oggend (@ Ox2@nt_ // fix d sound: oggenduur/-reën, etc.
oggende (_ Ox2@nd@ // but: oggende and compounds ending in -oggende
okapi %o@kA:p%i // fix stress: okapi/-'s and i in compounds: okapispoor,etc.
_) oker o@k@r // fix e sound in compounds: okergeel/-kleur, etc.
okker (neut %Ok@r // move default stress: okkerneut and compounds
_) ok (tA %Ok // move default stress: Oktober and compounds: Oktobermaand, etc./oktaaf/oktawe
@@ -2619,7 +2628,7 @@
k) oe (r u // short oe: (ge)koer
t) oe (rA u // short oe: toe(rank/-reik/-rig/-rol...)
w) oe (r u // short oe: (ge)woer
oe (ë u: // long oe: kroeë/moeë/ploeë and similar
oei uI
oi OI
oy OI
@@ -2633,6 +2642,10 @@
odjie OIci
otjie OIci
offi (sier %Of@ // move default stress: offisier and compounds
ofiel uf'il // franko-/hemo-/nekro-/pedo-/russofiel, etc.
ofilie ufil'i // hemo-/nekro-/pedofilie, etc.
ofobie ufo@b'i // antropo/-xenofobie and many other -fobie words
ofobies uf'o@bis // antropofobies/-xenofobies/-e and many other -fobies words
ofoon uf'o@n // mikrofoon/sakso(saxo)foon
ofone uf'o@n@ // mikrofone/sakso(saxo)fone
ograaf ux2r'A:f // biograaf/demograaf/fotograaf
@@ -2755,6 +2768,7 @@
ovu %Ov%y // fix stress, o and v sounds: ovulasie/ovuleer
ower (@ o@v@r // lowergroen/betowerend/dowerig/compounds of owerheid
ower (spelig %o@v@r // move default stress: owerspelig/-e
_) o' (C _^_EN // names like O'Connor are English
oë u:@ //

.group on
@@ -2941,7 +2955,7 @@
p p
p (p
_) paarl p&:r@L // Paarl/Paarlberg/Paarlvallei
_) padda p''ada // fix stress and 2nd a sound: paddavis/paddaman, etc.
_) padda (CA p''ada // fix stress and 2nd a sound: paddavis/paddaman, etc.
pa (godA p%a // fix stress and a sound: pagoda/pagode/-s
pajama p@dZ'A:ma //pajama and compounds
pak (A pak? // pakesel/pakos/verpakafdeling
@@ -2996,11 +3010,11 @@
paté p%ate@ // fix stress and vowel sounds: (lewer)paté, etc.
pavil (joe p%av@l // fix stress and v sound: paviljoen and compounds
pawil (joe p%av@l // fix stress: pawiljoen and compounds
_) pe (dA p@ //pedaal pedanties etc.
_) peda (g p%Ed%a //pedagogie etc.
_) pedi p%Ed%i //pediater etc.
_) pedo (C p%Ed%u //pedofiel pedometer etc.
_) pe (dA p@ //pedaal pedanties etc.
_) peda (g p%Ed%a //pedagogie etc.
_) pedi p%Ed%i //pediater etc.
_) ped (of p%Ed //pedofiel pedofilie, etc.
_) pedo (m pEd%u // restore default stress: pedometer/-s
polio po@li;u // polio and compounds
pele (ton p%&l@ // fix stress and e sounds: (vuur)peleton and similar compounds
_) peli (ka p%El%i // move default stress: pelikaan/pelikane
@@ -3081,6 +3095,7 @@
polisie p%ulis%i
poli (tAAC p%Ol@ // politiek/politoer and compounds
polities p%ulit%is // fix stress and o sound: polities/-e
_) poli (C p%o@l%i // polifonie/-s/poligamie/-s and many poli- words
pol (vy p%Ol // move default stress: polvy/-e and compounds
pomelo p%ume@l%u // fix stress and o sounds: pomelo(sap/-drankie...)
_) pon (dok p%On // move default stress: pondok/-ke/-kie
@@ -3366,6 +3381,7 @@
_) sa (ff sa'' // move default stress: saffier and compounds/saffraan/-agtig/-peer
saghebbe (n s%ax2hEb@ // fix stress and e sound: gesaghebbend/-e
sag (moe s%ax2 // move default stress: sagmoedig/-e/-heid
sala (mander s%al%a // move default stress: salamander/-s and compounds
salaris s@lA:r@s // salaris/aanvangsalaris/salarisskaal/-uitbetaling
salvo (K salv%u // fix v sound: (geweer)salvo/-'s and similar
sal (mander s%al // fix stress: salmander/-s/klipsalmander
@@ -3442,6 +3458,7 @@
sipre (K s%iprE // fix stress and i sound: sipres/-se/bergsipres/sipresboom
sirene s@re@n@ // move default stress and fix vowel sounds: sirene/-s/-lied/-sang
si (troen s@ // move default stress: sitroen and compounds
sitronella s@tr%un&l%a // fix stress and vowel sounds: sitronella and compounds
skade skA:d@ // elik suffix rule breaks a sound of (on)skadelik
skadu skA:dy // skaduagtig/skadutjie
skaker (ing sk%ake@r // skakering/-s/kleurskakering
@@ -3585,6 +3602,7 @@
sweep swe@p // fix w sound: rubbersweep
swepe swe@p@ // fix w sound: rubberswepe
sw (erm sw // fix e sound: naderswerm
switser swIts@r // fix e sound: Switserland/Switserse

.group st
D_) ste st@ //ste after numbers 22ste etc.
@@ -3653,6 +3671,7 @@
strukt (u str%Wkt // correct stress: strukture/bevelstruktuur/-ture
studen (t st%ydEn // fix stress: student/regstudent/studentesentrum, etc.
stu (de st%y // fix stress and e sound: bestuderend/bestudering
styfge (@P6 st'eIfx2@ // fix e sound: styfgewen/-de


.group t
@@ -3675,6 +3694,7 @@
tamele (tj t%am@lEi // fix stress and vowel sounds: tameletjie/-s
_) tand (a tant_ // fix d sound and insert pause: tandarts/-e and compounds
_) tande (C@ t''and@ // fix e sound: tandebeker/-pasta/-poeier/-trekker
tand (o tant_ // fix d, insert pause: afstandonderrig/langafstandoproep/tandoperasie/tweetandooi
_) tant (e tA~nt // nasalise: tante/-tjie/-s
tantes tA~nt@s // nasalise and fix e sound: tantes
@@ -3740,6 +3760,7 @@
tok (tokk t%Ok // move default stress: toktokkie/-s/-spelery, etc.
_) to (na t%o@ // fix stress and o sound: tonaal/tonale
@) toris (_ t'o@r@s // fix stress: pectoris/klitoris
_) tos (ka t%Os // move default stress: Toskaanse/Toskane
tradi (si tr%adi // shorten and unstress 1st slb: tradisie/tradisioneel/kunstradisie...
trag (ed tr%ax2 // move default stress: tragedie and compounds
tra (jek tr%a // move default stress and shorten a sound: trajek/-te
@@ -3794,6 +3815,7 @@
teen (oorges t%e@n_ // move default stress: teenoorgestel/-d/-e
@A) te (geC t@ // fix e sound: Hugenotegemeente/stategebou and similar compounds
@C) te (gn t& //tegniek/iese and friends
teiken teIk@n // fix e sound, split ng: teikengroep/-skiet and similar compounds
_) tekere t@ke@r@ // move default stress and correct e sounds
teks (tiel t%Eks // move default stress: tekstiel and compounds
_) teks (tu t%Eks // move default stress: tekstuur/teksture
@@ -3817,6 +3839,7 @@
teks (+ tEks // compounds with teks
tempel tEmp@l // fix e sounds: afgodtempel/Hindoetempel/kultuurtempel/tempelbewaarder/tempeldienaar
tent (_ tEnt //suurstoftent and others
ten (takel t%En // move default stress: tentakel/-s
tente (_ tEnt@ // (suurstof-/wa-)tente and similar
ten (toon t%En // move default stress: tentoonstel/-ling
te (oo t@ // geboorteoorskot/kosteoorweging/siekteoorsaak/terroristeoorlog
@@ -4128,6 +4151,7 @@
_) vo (me f%u // fix stress and o sound: vomeer/-mering
voren f'o@r@n // alvorens/vorentoe
voog (dy f%o@x2 // fix stress: voogdy and compounds
voor (A fo@r_ // insert pause: vooraan(sig)/vooraf/voorin/voorop/vooroor
voor (afgaan f%o@r_ // move default stress: voorafgaan/-de/-s
voorbar fo@rb'A:r // move default stress: voorbarig and derivitives
_) voorbe (@P6 f'o@rb@
@@ -4142,7 +4166,7 @@
voort (duren f%o@r_ // fix stress and drop t: voortdurend/-e
voor (trek fo@r // voortrek/voortrekker and compounds
voort (v@@ f%o@rt // voortvarend/voortvlugtige
_) vooruit fo@r'Yyt // vooruit/vooruitsig/vooruitbeplanning
_) vooruit fo@r_'Yyt // vooruit/vooruitsig/vooruitbeplanning
vooruit (strew fo@rYyt' // change stress
voorwaard (_ f%o@rvA:rd // stress: (on)voorwaardelik
vor (_ _^_EN //words ending in vor is English
@@ -4216,6 +4240,7 @@
Cut) w v // fix w sound: geskutwerf/stutwal/-le
out) w v // houtwerk/soutwater and similar
yd) w v // fix w sound: sluittydwerk/(wa)wydwakker
weder (va v%e@d@r // move default stress: wedervaar/wedervare/wedervaring/-e/-s
wee (moedi v%e@ // move default stress: weemoedig/-e/-heid
weer (barst v%e@r // move default stress: weerbarstig/-e/-heid
C) w (eerder v // fix w sound: insek-/muskiet-/reuk-/sweetweerder and similar
@@ -4289,7 +4314,7 @@
_) wen (aC vEn? // wenas/wenakker/opwenaksie
ne) wens v@ns // newens/benewens/hierbenewens/daarbenewens
@C) we (tK vE // krygswet/verdedigingswetgewing
AC) w (aaier v // fix w sound: blaas-/bamboes-/dakwaaier and similar
waardeer vard'e@r // waardeer/waardeerder
waarder (@ vard'e@r // waarderend/e/waardering
&) waardig v'A:rd@x2 // stress on -waardig: merkwaardig/besienswaardigheid, etc.
@@ -4316,6 +4341,8 @@
_) wig vIx2 // fix stress: gewig/-tig/-e
wiking vikiN // fix i sounds
wilhel (mi v@lh%&l // move default stress: Wilhelmina/-straat
_) wind (a vInt_ // fix d sound, insert pause: windaf(dryfmiddel)/as
_) wind (o vInt_ // fix d sound, insert pause: windop/windorrel, etc.
wispel (tu v@sp@l // move default stress: wispelturig/-e/-heid

wn _^_EN // names containing town/Brackendowns/Brown
@@ -4346,6 +4373,7 @@
.group x
x ks
x (x
xen (o z%En // xeno-/fiel/-filie/-fobie/-fobies/-e

.group y
y eI
@@ -4359,8 +4387,14 @@
zebra ze@bra // fix vowel sounds: zebra/-strepe

.group
@) 's (S2 s // plurals of wrds ending in vowels: crescendo's/innuendo's/okapi's, etc.
@) 'tjie %ici // foto'tjie/ma'tjie, etc.
K) á (CK '!a // extra stress: kán/wás and similar
áá '!A: // extra stress: dáár/dáár and similar
K) ék (_ '&k // fix e sound and stress: ék/gék
K) é (CK '!E // extra stress: hét/nét and similar
éé '!e@ // extra stress: één, etdc.
ék (_ '!&k // ekstra stress: ék/plék
ə @ // char.replacement for 'n
_C) è (_ E // dè/nè

@@ -4380,8 +4414,16 @@
ï (nt @ // geïnteresseerd
ï (nC 'I // beïndruk/beïnvloed
ïsol %is%ul // geïsoleer/-d
K) ó (CK '!O // extra stress: óf/kón and similar
óé '!u // extra stress: móét/sóék and similar
óó '!o@ // extra stress: sóós/vóór and similar
óói '!oI // extra stress: (n)óóit
óú '!@U // extra stress: sóú/wóú
ô O:
K) ú (CK '!W // extra stress: dús/júl(le) and similar
ûe W@ // brûe/rû
ý '!eI // extra stress: jý/mý/sý and similar
ñ _^_ES // words containing ñ are Spanish: senñor/-a/-ita

// punctuation
! _:eItrup_:
@@ -4389,7 +4431,7 @@
$ dOl@r
% p@rs'Ent
& _|amp&rsant
£ p@Unt
£ pO:nt
€ Y@ru
/ stre@p
@ beI_:
@@ -4418,6 +4460,7 @@
. pWnt
. (. _:
\.) .
~ tIld@

// extra symbols
¥ jEn

+ 19
- 19
dictsource/dict_phonemes View File

@@ -1,20 +1,6 @@
Phonemes which are used in the *_rules and *_list files


Dictionary af_dict

& &: 3: @ @- @L @U a
A: aI AI aU A~ E e: e@
eI e~ I i iu O O: o@
OI oI o~ u uI W y Y@
Yy

- : ; ? b c d dZ
f g h j k l m n
N p r s S t tS v
w x2 z Z


Dictionary cs_dict

@- a a: aU e e: eI eU
@@ -68,9 +54,9 @@ Dictionary en_dict

0 3 3: @ @- @2 @5 @L
a a2 A: A@ aa aI aI@ aU
aU@ E e@ eI I I2 i: i@
i@3 IR O O: o: O@ o@ OI
oU O~ U u: U@ V VR
aU@ E e@ eI I i I2 i:
i@ i@3 IR O O: o: O@ o@
OI oU O~ U u: U@ V VR

: ; ? b C d D dZ
f g h j k l m n
@@ -113,8 +99,8 @@ S s2 t v Z
Dictionary fr_dict

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

: ; b c d dZ f g
h j k l m n N n2
@@ -261,6 +247,20 @@ l m n N p r s t
tS v w z


Dictionary af_dict

& &: 3: @ @- @L @U a
A: aI AI aU A~ E e: e@
eI e~ I i iu O O: o@
OI oI o~ u uI W y Y@
Yy

- : ; ? b c d dZ
f g h j k l m n
N p r s S t tS v
w x2 z Z


Dictionary ta_dict

a a: e E e: E: i I

+ 1
- 0
dictsource/en_list View File

@@ -2409,6 +2409,7 @@ Natalie nata2li
Nathan neIT@n
Neville nEvIl
Nicholas nIk@l@s
Nicola nIk@l@
Nicosia nIk@s'i:@
Nigel naIdZ@L
Nguyen nu:jEn

+ 178
- 150
dictsource/fr_list View File

@@ -3,7 +3,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated 2008-07-16 Michel Such <[email protected]>
// Updated 2008-07-26 Michel Such <[email protected]>
//
// * Numbers, a few abbreviations and exceptions.
//
@@ -66,7 +66,7 @@ _brv br'Ev
_ced sed'ij
_cir aksA~siRkO~fl'Eks
_dia tRem'a
_dot pw'E~syskr'i
_dot pwE~syskr'i
_grv aksA~gR'av
_hac kar'O~
_mcn makr'O~
@@ -93,10 +93,10 @@ _) f'ERm paRA~t'Ez
_* astERisk:
_, viRgyl
_- tiRE
_. pwE~
_. _pw%E~
_/ slaS
_: d'Ypw'E~
_; pw'E~viRg'yl
_; pwE~viRg'yl
_< E~feRjWR
_= egal
_> sypeRjWR
@@ -115,75 +115,81 @@ _} f'ERm_akOl'ad

// numeric

_0 zeR'o
_0 zeRo
_1 W~
_2 d'Yz2
_3 tRw'az2
_4 k'atR
_5 s'E~c
_6 s'iz3
_7 s'Et
_8 _|'w^it
_9 n'Wf
_10 d'iz3
_2 dYz2
_3 tRo-az2
_4 katR
_5 sE~k
_6 siz3
_7 sEt
_8 _|w^it
_9 nWf
_10 diz3
_11 O~z
_12 d'uz
_13 tR'Ez
_14 kat'ORz
_15 k'E~z
_16 s'Ez
_17 d'is:'Et
_18 d'iz'w^it
_19 d'izn'Wf
_20 v'E~
_21 v'E~te:E~
_22 v'E~td'Yz2
_23 v'E~t:tRw'az2
_24 v'E~tk'atR
_25 v'E~ts'E~c
_26 v'E~ts'iz3
_27 v'E~ts'Et
_28 v'E~tw^it
_29 v'E~tn'Wf
_3X tR'A~t
_31 tR'A~te:E~
_4X kaR'A~t
_41 kaR'A~te:E~
_5X sE~k'A~t
_51 sE~k'A~te:E~
_6X swas'A~t
_61 swas'A~te:E~
_7X swas'A~t:d'iz3
_71 swas'A~te:O~z
_72 swas'A~t:d'uz
_73 swas'A~t:tR'Ez
_74 swas'A~t:kat'ORz
_75 swas'A~t:k'E~z
_76 swas'A~t:s'Ez
_77 swas'A~t:d'is:'Et
_78 swas'A~t:d'iz'w^it
_79 swas'A~t:d'izn'Wf
_8X k'atR@v'E~
_80 k'atR@v'E~z2
_9X k'atR@v'E~d'iz3
_91 k'atR@v'E~:'O~z
_92 k'atR@v'E~:d'uz
_93 k'atR@v'E~:tR'Ez
_94 k'atR@v'E~:kat'ORz
_95 k'atR@v'E~:k'E~z
_96 k'atR@v'E~:s'Ez
_97 k'atR@v'E~:d'is:'Et
_98 k'atR@v'E~:d'iz'w^it
_99 k'atR@v'E~:d'izn'Wf
_0C s'A~
_1C0 s'A~t2
_0M1 m'il
_1M1 m'il
_0M2 milj'O~
_0M3 milj'aR
_12 duz
_13 tREz
_14 katORz
_15 kE~z
_16 sEz
_17 dis:Et
_18 dizw^it
_19 diznWf
_20 vE~
_21 vE~te:W~
_22 vE~tdYz2
_23 vE~t:tRo-az2
_24 vE~tkatR
_25 vE~tsE~k
_26 vE~tsiz3
_27 vE~tsEt
_28 vE~tw^it
_29 vE~tnWf
_3X tRA~t
_31 tRA~te:W~
_4X kaRA~t
_41 kaRA~te:W~
_5X sE~kA~t
_51 sE~kA~te:W~
_6X so-asA~t
_61 so-asA~te:W~
_7X so-asA~t:diz3
_71 so-asA~te:O~z
_72 so-asA~t:duz
_73 so-asA~t:tREz
_74 so-asA~t:katORz
_75 so-asA~t:kE~z
_76 so-asA~t:sEz
_77 so-asA~t:dis:Et
_78 so-asA~t:diz'w^it
_79 so-asA~t:diznWf
_8X katR@vE~
_80 katR@vE~z2
_9X katR@vE~diz3
_91 katR@vE~:O~z
_92 katR@vE~:duz
_93 katR@vE~:tREz
_94 katR@vE~:katORz
_95 katR@vE~:kE~z
_96 katR@vE~:sEz
_97 katR@vE~:dis:Et
_98 katR@vE~:dizw^it
_99 katR@vE~:diznWf
_0C sA~
_1C0 sA~t2
_0M1 mil
_1M1 mil
_0M2 miljO~
_0M3 miljaR
_0and e
_dpt virg'yl
_dpt virgyl

(21 ème) vE~te:yniEm
(31 ème) trA~te:yniEm
(41 ème) karA~te:yniEm
(51 ème) sE~kA~te:yniEm
(61 ème) so-asA~te:yniEm
(81 ème) katr@vE~:yniEm

// ABBREVIATIONS
//**************
@@ -210,7 +216,7 @@ jaws Z'owz
kde $abbrev
m. m@sjY
mbrola Em'bRola
mlle mad@mwazEl
mlle mad@mo-azEl
mme madam
mr m@sjY
nsi $abbrev
@@ -225,7 +231,7 @@ ratp $abbrev
scsi $abbrev
s.t.p s'il:t'@:pl'E
s.v.p s'il:v'u:pl'E
st s'E~
st s'E~t2
ste s'E~t
stp s'il:t'@:pl'E
svp s'il:v'u:pl'E
@@ -244,62 +250,63 @@ prof $dot


// articles
le $u $nounf
le $u $verb $verbextend
la $u $nounf
la $u $verb $verbextend
les lez2 $u $nounf
les lez2 $u $verb $verbextend
un $u $nounf
une $u $nounf
le $u+ $nounf
le $u+ $verb $verbextend
la $u+ $nounf
la $u+ $verb $verbextend
les lez2 $u+ $nounf
les lez2 $u+ $verb $verbextend
un $u+ $nounf
une $u+ $nounf


// conjonctions
mais $u
mais $u+
ou u $u $brk
et e $u $brk
or $u $brk
ni $u $brk
car $u $brk
soit $u $verb
car $u+ $brk
cependant $brk
néanmoins $brk
toutefois $brk
avant $brk
après $brk
avant $u+ $brk
après $u+ $brk
alors alOr $u+


dont dO~t2 $u
lorsque $u
parce pars@- $u
quand $u
que $u $verbf
qui $u $verbf
qui $u+ $verbf
quoique $u
si $u
quant kA~t2 $u

// pronouns
je $u $verbf
tu $u $verbf
il $u $verbf
elle $u $verbf
tu $u+ $verbf
il $u+ $verbf
elle $u+ $verbf
y $u $verbf
nous $u $verbf
vous $u $verbf
elles $u $verbf
ils $u $verbf
on O~n2 $u $verbf
nous $u+ $verbf
vous $u+ $verbf
elles $u+ $verbf
ils $u+ $verbf
eux Yz2 $u+
on O~n2 $u+ $verbf
me $u $verbf
te $u $verbf
se $u $verbf
lui $u $verbf
ça $u $verbf
lui $u+ $verbf
ça $u+ $verbf

ce $u $nounf
ce $u+ $nounf
cette $u $nounf
ces sez2 $u $nounf
ceci $verbf
cela $verbf
ceci $u+ $verbf
cela $u+ $verbf
(celle ci) sEl||si $verbf
(celle là) sEl||la $verbf
(ceux ci) sY||si $verbf
@@ -315,20 +322,20 @@ ta $u $nounf
ton $u $nounf
tes tez2 $u $nounf
sa $u $nounf
son $u $nounf
son $u+ $nounf
ses sez2 $u $nounf
notre $u $nounf
votre $u $nounf
leur $u $nounf
leur $u $verb $verbextend
(la leur) la||lWr $u $verbf
(le leur) l@||lWr $u $verbf
(la leur) la||lWr $u+ $verbf
(le leur) l@||lWr $u+ $verbf
nos $u $nounf
vos $u $nounf
leurs $u $nounf
leurs $u+ $nounf
leurs $u $verb $verbextend
(les leur) le||lWr $u $verbf
(les leurs) le||lWr $u $verbf
(les leur) le||lWr $u+ $verbf
(les leurs) le||lWr $u+ $verbf

// prepositions
de $u
@@ -336,60 +343,87 @@ du $u $nounf
des dez2 $u $nounf


à $u a
à a $u
au $u

dans $u
sur $u
autour otur
par $u
pour $u
en $u
en $u $verb $verbextend
dans $u+
en $u+
en $u+ $verb $verbextend
(en suspens) A~||sysp'A~
(en tous) A~||tuz2 $u
(Tant mieux) tA~||mi;'Y
(en tous) A~||tuz2 $u+
par $u+
pour $u+
tant tA~t2 $u+
entre $u+
contre $u+

vers $u
avec $u $brk
sans $u
sous $u
entre $u $brk
contre $u

durant $u $brk
durant $u+

// negative
ne $u $verbf
pas $u+
plus $u+
guère $u+

// questions
où $brk
quand kA~t2 $u+
quoi $u+
où $brk $u+

// auxillary verbs (be, have, can, etc)
es Ez2 $verb
ès Es $u
est Et2
ès Es
d'est d'Est
suis $u+ $verb
es Ez2 $u+ $verb
est Et2 $u+
sommes $u+ $verb
êtes $u+ $verb
sont $u+ $verb

fus $u+ $verb
fut $u+ $verb
fûmes $u+ $verb
fûtes $u+ $verb
furent $u+

sois $u+ $verb
soit $u+

ai $u $verb
as as
as az2 $u+ $verb
a $u+ $verb
ont $u+ $verb

eu y $u+
eue y $u+
eues yz2 $u+
eus yz2 $u+

eut yt2 $u+ $verb
eûmes $u+ $verb
eûtes $u+ $verb
eurent $u+

aie $u+ $verb
aies $u+ $verb
ait $u+ $verb
aient $u+

eu y $u
eue y $u
eues yz2 $u
eus yz2 $u
eut yt2 $u $verb
eux Yz2 $u
d'est d'Est
ès Es $u

// some common adjectives and adverbs

quelque $u
tout t'ut2 $u
rien riE~n2

quelque $u+
tout t'ut2 $u+
toute t'ut $u+
toutes t'utz2 $u+
rien riE~n2 $u+

// Letters which can be words
//===========================
à $atend $accent
y igr'Ek $atend
y igr'Ek $atend $only
ô $atend $accent


@@ -429,8 +463,7 @@ absent absA~
admin admin
airbus Erbys
auvent ovA~
bien biE~n2
(bien sûr) biE~||s'yr
bien biE~n2 $u+
bis bis
bissus bisys
bus bys
@@ -465,14 +498,7 @@ gens ZA~
mens mA~z2
sens sA~s
sens sA~z2 $verb
c'est sEt2
qu'à ka
m'y mi $verbf
t'y ti $verbf
s'y si $verbf
n'y ni $verbf
l'y li $verbf
qu'y ki $verbf
(sud est) sydEst
(nord est) nOREst

@@ -550,6 +576,7 @@ computer _^_en
(cyber link) _^_en
debian dEbjAn
driver _^_en
edit _^_en
emacs Emaks
emacspeak Emakspi:k
end _^_en
@@ -585,6 +612,7 @@ open Op'Wn
outlook autluk
paint _^_en
paper _^_en
people _^_en
redhat REdat
same _^_en
sametime _^_en
@@ -606,7 +634,7 @@ discutions diskytjO~z2
débutions debytjO~z2
désertions dezERtjO~z2 $verb
détentions detA~tjO~z2
exploitions EksplwatjO~z2
exploitions Eksplo-atjO~z2
exportions EkspORtjO~z2
heurtions _!WRtjO~z2
limitions limitjO~z2
@@ -618,7 +646,7 @@ répétions RepetjO~z2
sortions sORtjO~z2
supportions sypORtjO~z2
tentions tA~tjO~z2
votions votjO~z2 $u
votions votjO~z2
étions etjO~z2
évitions evitjO~z2


+ 61
- 48
dictsource/fr_rules View File

@@ -1,13 +1,30 @@
// French translation rules
// French translation rules for Espeak

// ***************************************************************************
// * Copyright (C) 2005 to 2007 by Jonathan Duddington *
// * email: [email protected] *
// * *
// * This program is free software; you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
// * the Free Software Foundation; either version 3 of the License, or *
// * (at your option) any later version. *
// * *
// * This program is distributed in the hope that it will be useful, *
// * but WITHOUT ANY WARRANTY; without even the implied warranty of *
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
// * GNU General Public License for more details. *
// * *
// * You should have received a copy of the GNU General Public License *
// * along with this program; if not, see: *
// * <http://www.gnu.org/licenses/>. *
// ***************************************************************************/

// This file is UTF-8 encoded

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

// Letter classes:
// A all vowels: a e i o u y 璽 瓣 矇 礙 癡 簾 簿 繫 繹 羅 羶
@@ -15,6 +32,7 @@
// Y front vowels: e i y 矇 礙 癡 簾
// K not a vowel (i.e. consonant, space, )

.L01 e 矇 礙 禱 癡 i 簾 簿 y

.group a
ae (_ e // reggae vitae
@@ -87,7 +105,7 @@


.group c
c' s // s
_) c' (P2v s // s
cch k // bacchanale
cc (Y ks // acc矇der
cc k // occuper
@@ -111,7 +129,7 @@
cq k // pecq
s) c (Y //
x) c (Y
c (Y s // c癡de
c (L01 s // c癡de
_) cyber (P5 sibEr
ban) c (_ // banc
blan) c (_ // blan
@@ -144,7 +162,6 @@
_gran) d (_ t2 // grand ami, grand marchand
Cen) d (_ t2
Con) d (_ t2
quan) d (_ t2
quen) d (_ t2
r) d (_
_har) d (_ d
@@ -176,6 +193,9 @@
elqu) e =@
uisqu) e =@
rsqu) e =@
_C) e (_ @ // je te
-c) e (_ @-
-j) e (_ @-

e (Ce_ E
eau o // bateau cheveaux
@@ -232,6 +252,8 @@
ol) en (t_ A~ // somnolent, violent
Vol) en (t_ // somnolent, violent
Xol) en (t_ // volent
ul) en (t_ A~ // turbulent
Vul) en (t_
imCoC) en (t_ A~ // impotent
inCoC) en (t_ A~ // innocent, indolent

@@ -382,8 +404,6 @@

d) esh (A ez // Deshormeaux

_r) es (A @s // resaisir resaluer

_r) e (ss @ // ressembler
_r) e (ssu e // ressusciter
_r) e (stra @
@@ -414,36 +434,25 @@
ey Ej // asseye

ez (_ ez2 // nez mangez chez
_C) e (_ @ // je te
_CC) e (_ =@-

-j) e (_ @-


g) e (A // mangeons

_d) e (ch @
_d) e (Cl @
_d) e (Cr @ // degr矇
_d) e (rr E // derri癡re
_r) e (ch @ // recherche
_r) e (Cl @
_r) e (Cr @ // retracer
e (Cl @

_l) e (xA E
_l) e (CA @
_l) e (ChA @
_l) e (ClA @ // Leclerc
_l) e (CrA @ // Lebrun
tr) e (CA @
tr) e (ChA @
tr) e (ClA @
tr) e (CrA @ // entreprise

e (CC E // infect pelle mettre
e (Cr @
_) e (ff e // effet, effectuer
_s) e (cr @ // secret
e (C_ E
e (rC E
es (_ z2

ll) e (m // actuellement guillemets
@@ -458,6 +467,9 @@
Av) e (pA

e @ // menue
_) e (CA e
_) e (xA E


// group e: English section
eac _^_en
@@ -469,11 +481,9 @@
eas _^_en // please
eave _^_en // leave
ed (_ _^_en
_) edit _^_en
ee _^_en // meeting
eing (_ _^_en // being, boeing
eive _^_en // receive
ej _^_en
eld (_ _^_en // field
_) enter (_ _^_en // enter
_) enhan _^_en
@@ -481,7 +491,8 @@
ock) et (_ _^_en // rocket, pocket
qu) est (_ _^_en // request
qu) este (X_ _^_en // requested, requester
_) ev _^_en // even, ever, event
_) even _^_en // forever, however
_) ever _^_en // forever, however
oC) ever _^_en // forever, however
_) eye _^_en

@@ -511,12 +522,12 @@

.group g
g g
g (L01 Z

su) gg (Y gZ // sugg矇rer suggestif
gg g // agglom矇rer
ai) gni n^ // craignions ch璽taignier
gn n^ // agneau
_quatre_vin) gts (_ z2 // quatre-vingts ans
_quatrevin) gts (_ z2

vin) gt (_A t // liaison: vingt ans
@@ -534,22 +545,18 @@
gt (_ // vingt doigts

gt t // vingtaine doigt矇
gua gua // anguille
gui gi // anguille
ai) gu (il gy // aiguillage
in) gu (is gy // linguiste
g (C g
g (a g // langage
g (u g
g (璽 g
g (羹 g
g (o g
g (羶 g

_ran) g (_ // rang
_san) g (_ // sang
_lon) g (_ // long
bour) g (_ // Strasbourg

g (_ g // grog gag goulag
g Z // cong矇 george

// group g: English section
_) game (X _^_en
@@ -611,6 +618,11 @@ _) half _^_en
i i // cri

i (A i // rien
_f) i (a i:
l) i (a i:
Cr) i (a i:
Cr) i (矇 i:
Cr) i (er_ i:
i (o j
ie (ment i // remerciement balbutiement
C) ien (t_ i
@@ -627,7 +639,6 @@ _) half _^_en

i (es_ i // parties
i (e_ i
i (A j // fermier portier patio renier
_) ill ill // ill矇gal
aigu) ill ij // aiguille
anqu) ill ill // tranquille
@@ -658,6 +669,7 @@ _) half _^_en
C) is (_ i

// group i: English section
ibuter (X _^_en
iev _^_en
ife (_ _^_en
igh _^_en
@@ -686,6 +698,7 @@ _) half _^_en

.group j
j Z // adjoint joujoux
_) j' (P2v Z


.group k
@@ -711,7 +724,7 @@ _) half _^_en
.group m
m m // film
mm m // pomme
_) m' (P2 m
_) m' (P2v m

// group m: English section
_) mail (_ _^_en // mailer
@@ -724,7 +737,7 @@ _) half _^_en
nn n
ng (_ N

_) n' (P2 n
_) n' (P2v n

A) ng (_ N // parking meeting
nn n // panne
@@ -742,13 +755,13 @@ _) half _^_en
_) os (_ Os
s_) os (_ o
x_) os (_ o
o (se_ o
o (seX o
o (CCement_ O2
o (Cement_ O2
o (t_ o
o (tre_ O2

oe (ll wa // moelleux
oe (ll o-a // moelleux
_) oe (C Y // oesophage
_ph) oe (C e // phoetus
oeu W // soeur coeur
@@ -757,10 +770,10 @@ _) half _^_en
_) oi (gnon o // oignons
oin (C wE~
oin (_ wE~ // coin
oi wa // poil
oie (m wa // d�loiement
o礙 (l wa // po礙le
o簾 wa // bo簾te
oi o-a // poil
oie (m o-a // d�loiement
o礙 (l o-a // po礙le
o簾 o-a // bo簾te
om (C O~ // bombe
om (m O // nommer
_) om (n O2m // omnibus
@@ -794,9 +807,9 @@ _) half _^_en
ou u // hibou brouillard
o羅 u // o羅
o羶 u // co羶ter
oyes (_ wa // troyes
oy (A waj // noyer voyelles
oy wa // roy
oyes (_ o-a // troyes
oy (A o-aj // noyer voyelles
oy o-a // roy
o (_ o // zorro all矇gro
o (z_ o // berlioz
o O
@@ -900,7 +913,7 @@ mou) rr RR // mourrai

s (_S1 z2

_) s' (P2 s // s'am癡ne
_) s' (P2v s // s'am癡ne
s癟 s // immis癟a
sch (ie sk // schierzo
sch (iz sk // schizophr癡ne
@@ -985,7 +998,7 @@ mou) rr RR // mourrai
.group t
t t // bataille
_) t (_ te
_) t' (P2 t
_) t' (P2v t
-) t (- t
V) t (_ t2 // silent at end of verb unless next word starts with a vowel
u) t (- t2 // silent at end of verb unless next word starts with a vowel

+ 8
- 9
dictsource/pt_list View File

@@ -74,8 +74,8 @@ _% pors'eINtU
_& 'e
?1 _' ap'Ostr,ofy
?2 _' ap'OstR,ofU
_( ,abRipa*'eINtezi
_) f,ES&pa*'eINtezi
_( ,abRipa*'eINtezy
_) f,ES&pa*'eINtezy
_* ,aste*'iskU
_+ m'aIs#

@@ -122,10 +122,9 @@ _" 'abRi;'asp&||d'upl&s#
_5 s'iNku
_6 s'eIs#
?1 _7 s'Ety
?2 _7 s'EtSi
?2 _7 s'EtSy
_8 'oItu
?1 _9 n'Ovy
?2 _9 n'Ovi
_9 n'Ovy
_10 d'Es#

_11 'oNzy
@@ -133,18 +132,18 @@ _12 d'ozy
?1_13 tr'ezy
?2_13 tR'ezi
?1_14 k&t'orzy
?2_14 kat'orzi
?2_14 kat'orzy
_15 k'iNzy
?1_16 dyz&s'eis#
?2_16 d,ezes'eIs#
?1_17 dyz&s'Ety
?2_17 d,ezes'EtSi
?2_17 d,ezes'EtSy
?1_18 dyz'Oitu
?2_18 dez'oItu
?1_19 dyz&n'Ovy
?2_19 dezen'Ovi
?2_19 dezen'Ovy
?1_2X v'iNty
?2_2X v'iNtSi
?2_2X v'iNtSy
_3X tR'iNt&

?1_4X kw&*'eNt&

+ 32
- 24
dictsource/pt_rules View File

@@ -4,6 +4,7 @@
// Options
// ?1 European Portuguese
// ?2 Brazilian Portuguese
// ?3 Epenthetic [I] between consonants
// ?4 Brazil mbrola voice

// Letter groups
@@ -43,7 +44,7 @@
am (C &~m
?4 am (C &~N
an (K+ &~N
a (nhA &~
a (nhA+ &
am (_ =&U~
?1 a (z_ 'a //eg: paz, rapaz, capaz, etc...
?1 C) acç 'a's // eg: selecção, etc...
@@ -100,14 +101,16 @@
_) b (_ be
b b
b (b
?2 b (B bI
?3 b (B bI
?3 b (_C b_


.group c
_) c (_ se
c k
c (Y s // ce ci
?2 c (B kI
?3 c (B kI
?3 c (_C k_
ch S
ck k
c (c //drop “c” in European Portuguese (eg: seleccionar)
@@ -120,8 +123,8 @@
_) d (_ de
d d
d (d
?2 d (B dZI
?2 d (_C d_
?3 d (B dZI
?3 d (_C d_
?2 d (i dZ
?2 d (í dZ
?2 d (e_ dZ
@@ -130,13 +133,11 @@
.group e
_) e (_ E
e e
e (_ =i
e (s_ =i
e (_ =y
e (s_ =y
?2 e (_AN =i/ // ?? elide to [j] if next word starts with a vowel
?2 &l) e (_AN =i // but not after l or r
?2 &r) e (_AN =i
?1 e (_ =y
?1 e (s_ =y
?1 e (_iN =i/ // drop final [i] is next word starts with another i

?1 e (e i //eg: candeeiro
@@ -324,7 +325,8 @@
_) f (_ 'Efe
f f
f (f
?2 f (B fI
?3 f (B fI
?3 f (_C f_


.group g
@@ -333,8 +335,8 @@
_) g (_ Ze
g g
g (g
?2 g (B ZI
?2 g (_C g_
?3 g (B ZI
?3 g (_C g_
g (Y Z // ge gi
gu (Y g
?1 guen (C gw'eIN // aguenta, etc.
@@ -410,7 +412,8 @@
.group j
_) j (_ Z'Ot&
j Z
?2 j (B ZI
?3 j (B ZI
?3 j (_C Z_


.group k
@@ -418,8 +421,8 @@
?2 _) k (_ ka
k k
k (k
?2 k (B kI
?2 k (_C k_
?3 k (B kI
?3 k (_C k_


.group l
@@ -439,7 +442,8 @@
_) m (_ 'eme
m m
m (m
?2 m (B mI
?3 m (B mI
?3 m (_C m_


.group n
@@ -448,7 +452,8 @@
_) n (_ 'ene
n n
n (n
?2 n (B nI
?3 n (B nI
?3 n (_C n_
nh n^
?1 A) nn n //drop “n” (eg: connosco).

@@ -568,7 +573,8 @@
_) p (_ pe
p p
p (p
?2 p (B pI
?3 p (B pI
?3 p (_C p_
?1 ph f //Didn’t use in European Portuguese (eg: English)
?1 ple (_ _^_EN

@@ -576,7 +582,7 @@
.group q
_) q (_ ke
q k
?2 q (B kI
?3 q (B kI
qu kw
qü kw
qu (Y k
@@ -646,8 +652,8 @@
_) t (_ te
t t
t (t
?2 t (B tSI
?2 t (_C t_
?3 t (B tSI
?3 t (_C t_
?2 t (i tS
?2 t (í tS
?2 t (e_ tS
@@ -690,7 +696,8 @@
.group v
v v
v (v
?2 v (B vI
?3 v (B vI
?3 v (_C v_


.group w
@@ -704,7 +711,7 @@
.group x
x (A S
A) x (A ks
?4 A) x (A z
?4 A) x (A S
_e) x (A z
e) x (A ks
?1 e) x (CA S
@@ -735,7 +742,8 @@
_) z (_ ze
z z
z (z
?2 z (B zI
?3 z (B zI
?3 z (_C z_
?1 @) z (_ S
?2 @) z (_ s
@) z (_A z

+ 1
- 1
docs/index.html View File

@@ -55,7 +55,7 @@ It can run as a command line program to speak text from a file or from stdin. A
<li>Written in C++.
</ul>
<p>
It works well as a "Talker" with the KDE text to speech system (KTTS), as an alternative to Festival for example. As such, it can speak text which has been selected into the clipboard, or directly from the Konquerer browser or the Kate editor. A Gnome Speech driver is now available.
It works well as a "Talker" with the KDE text to speech system (KTTS), as an alternative to Festival for example. As such, it can speak text which has been selected into the clipboard, or directly from the Konqueror browser or the Kate editor. A Gnome Speech driver is now available.
<p>
I regularly use it to listen to blogs and news sites. I prefer the sound through a domestic stereo system rather than my small computer speakers.
<hr>

+ 7
- 7
phsource/compile_report View File

@@ -15,8 +15,8 @@
eo 13 110
jbo 4 111
fi 40 129
fr 49 127
fr_ca 11 127
fr 50 128
fr_ca 11 128
hi 51 135
ta 17 138
hu 23 114
@@ -1431,9 +1431,6 @@ vowel/i [i] base2
[i:] hu
[i] pl
[i] it
[I] pt
[y] pt
[i/] pt
[i] pt_pt
[i/] ro
[i] el
@@ -1454,6 +1451,7 @@ vowel/i_2 [i:] en_rp
[i:] sv
vowel/i_3 [i] af
[i] fr
[i:] fr
[i:] sk
vowel/i_4 [i] fi
[i] hu
@@ -1473,7 +1471,6 @@ vowel/i#_6 [i.] zh
vowel/i#_7 [i[] zh
vowel/i_en [i:] en
[i:] en_us
[i:] fr
[i] vi
vowel/i_fnt [i:] en_wi
[i] hi
@@ -1514,6 +1511,9 @@ vowel/ii_5 [I] en_wi
vowel/ii_6 [I] en_wm
[I2] en_wm
[I] sr
[I] pt
[y] pt
[i/] pt
vowel/ii_en [i] en
vowel/@_low [3] en_rp
[@] en_rp
@@ -1553,6 +1553,7 @@ vowel/o-_2 [V] en_n
[V] en_wm
vowel/o_3 [oU] en_sc
[o] fr
[o-] fr
vowel/o-_3 [U] en_rp
vowel/o_4 [oU] en_n
vowel/o-_4 [o] ro
@@ -1892,7 +1893,6 @@ w/w2 [w2] base2
[w] sk
[w] pt_pt
w/wa [(a)] base
[w] fr
w/we [(e)] base
w/wi [(i)] base
[i] vi

+ 2
- 0
phsource/mbrola/fr1 View File

@@ -14,6 +14,7 @@ volume 15

0 Y NULL 0 2
0 W NULL 0 9
0 W2 NULL 0 9
0 A~ NULL 0 a~
0 E~ NULL 0 e~
0 O~ NULL 0 o~
@@ -40,6 +41,7 @@ volume 15
0 eI NULL 60 E j
0 aU NULL 60 a w
0 oU NULL 0 o
0 o- NULL 0 o
0 @L NULL 40 @ l
0 @2 NULL 0 @
0 @5 NULL 0 @

+ 107
- 0
phsource/mbrola/ptbr View File

@@ -0,0 +1,107 @@
0 l/ NULL 0 w
0 l/2 w 0 l
0 l/2 j 0 l
0 l/2 NULL 0 w
0 r/ NULL 0 r2
0 r- NULL 0 r
0 w/ NULL 0 w
0 j/ NULL 0 y
0 ; NULL 0 NULL
0 g- NULL 0 NULL
0 @- NULL 0 NULL
8 * j 0 r
0 * VWL 0 r
0 * NULL 0 r2
0 : NULL 0 NULL


0 S NULL 0 x
0 Z NULL 0 j
0 tS NULL 0 t
0 dZ NULL 0 d
0 l^ NULL 0 h
0 n^ NULL 0 nh
0 N NULL 0 n
0 x NULL 0 rr
0 z _ 0 s2
0 s VWL 0 s
0 s w 0 s
0 s j 0 s
0 s NULL 0 s2
8 s# VWL 0 s
0 s# NULL 0 s2
8 r VWL 0 r
0 r NULL 0 r2
0 R NULL 0 r
0 j NULL 0 y

0 a/ NULL 0 a
0 A NULL 0 a
0 & NULL 0 a
0 &/ NULL 0 a
9 &~ N 0 am
0 &~ NULL 0 am
0 E NULL 0 ee
9 eI m 0 em
9 eI N 0 em

0 i/ NULL 0 i
9 i N 0 im
9 i~ N 0 im
0 i~ NULL 0 im
9 o N 0 om
9 o~ j/ 60 om i
9 o~ N 0 om
0 o~ NULL 0 om
0 O NULL 0 oo
9 u~ j/ 60 um i
9 u~ N 0 um
0 u~ NULL 0 um
0 U NULL 0 o
0 y NULL 0 i

0 aI NULL 60 a y
0 eI NULL 60 e y
0 EI NULL 60 ee y
0 oI NULL 60 o y
0 OI NULL 60 oo y
0 uI NULL 60 u y
0 aU NULL 55 a w
0 &U~ NULL 60 @ w
0 eU NULL 55 e w
0 EU NULL 55 ee w
0 iU NULL 55 i w


// English phonemes
0 @ NULL 0 @
0 T NULL 0 t
0 D NULL 0 z
0 0 NULL 0 o
0 V NULL 0 a
0 I NULL 0 i
0 I2 NULL 0 i
0 A: NULL 0 a
0 A@ NULL 60 a r
0 o: NULL 0 o
0 O: NULL 0 o
0 O@ NULL 60 o r
0 o@ NULL 60 o r
0 i: NULL 0 i
0 i@ NULL 60 i a
0 i@3 NULL 60 i r
0 u: NULL 0 u
0 U@ NULL 60 u r
0 3 NULL 60 e r
0 3: NULL 60 e r
0 @L NULL 40 e l
0 a2 NULL 0 a
0 aa NULL 0 a
0 e@ NULL 0 e r
0 oU NULL 0 o
0 OI NULL 60 o i
0 aI@ NULL 60 a e
0 aU@ NULL 0 a
0 t2 NULL 0 t
0 h NULL 0 NULL


+ 106
- 0
phsource/mbrola/ptbr4 View File

@@ -0,0 +1,106 @@
0 l/ NULL 0 w
0 l/2 w 0 l
0 l/2 j 0 l
0 l/2 NULL 0 w
0 r/ NULL 0 r2
0 r- NULL 0 r
0 w/ NULL 0 w
0 j/ NULL 0 y
0 ; NULL 0 NULL
0 g- NULL 0 NULL
0 @- NULL 0 NULL
8 * j 0 r
0 * VWL 0 r
0 * NULL 0 r2
0 : NULL 0 NULL


0 S NULL 0 x
0 Z NULL 0 j
0 tS NULL 0 t
0 dZ NULL 0 d
0 l^ NULL 0 lh
0 n^ NULL 0 nh
0 N NULL 0 n
0 x NULL 0 rr
0 z _ 0 s2
0 s VWL 0 s
0 s w 0 s
0 s j 0 s
0 s NULL 0 s2
8 s# VWL 0 s
0 s# NULL 0 s2
8 r VWL 0 r
0 r NULL 0 r2
0 R NULL 0 r
0 j NULL 0 y

0 a/ NULL 0 a
0 A NULL 0 a
0 & NULL 0 a
0 &/ NULL 0 a
9 &~ N 0 an
0 &~ NULL 0 an
0 E NULL 0 ee
9 eI m 0 en
9 eI N 0 en

0 i/ NULL 0 i
9 i N 0 in
9 i~ N 0 in
0 i~ NULL 0 in
9 o N 0 on
9 o~ j/ 60 on i
9 o~ N 0 on
0 o~ NULL 0 on
0 O NULL 0 oo
9 u~ j/ 60 un i
9 u~ N 0 un
0 u~ NULL 0 un
0 U NULL 0 w
0 y NULL 0 y
0 I NULL 0 y

0 aI NULL 60 a y
0 eI NULL 60 e y
0 EI NULL 60 ee y
0 oI NULL 60 o y
0 OI NULL 60 oo y
0 uI NULL 60 u y
0 aU NULL 55 a w
0 &U~ NULL 0 @
0 eU NULL 55 e w
0 EU NULL 55 ee w
0 iU NULL 55 i w


// English phonemes
0 @ NULL 0 @
0 T NULL 0 t
0 D NULL 0 z
0 0 NULL 0 o
0 V NULL 0 a
0 I2 NULL 0 y
0 A: NULL 0 a
0 A@ NULL 60 a r
0 o: NULL 0 o
0 O: NULL 0 o
0 O@ NULL 60 o r
0 o@ NULL 60 o r
0 i: NULL 0 i
0 i@ NULL 60 i a
0 i@3 NULL 60 i r
0 u: NULL 0 u
0 U@ NULL 60 u r
0 3 NULL 60 e r
0 3: NULL 60 e r
0 @L NULL 40 e l
0 a2 NULL 0 a
0 aa NULL 0 a
0 e@ NULL 0 e r
0 oU NULL 0 o
0 OI NULL 60 o i
0 aI@ NULL 60 a e
0 aU@ NULL 0 a
0 t2 NULL 0 t


+ 10
- 3
phsource/ph_french View File

@@ -49,7 +49,7 @@ endphoneme
phoneme i: // Slitely longer than i
vowel starttype (i) endtype (i)
length 212
formants vowel/i_en
formants vowel/i_3
linkout ;
endphoneme

@@ -74,6 +74,13 @@ phoneme o
endphoneme


phoneme o-
vowel starttype (o) endtype (o)
length 100
formants vowel/o_3
endphoneme


phoneme O
vowel starttype (o) endtype (o)
length 170
@@ -112,13 +119,12 @@ endphoneme


phoneme w
vowel
vowel starttype (o) endtype w
length 120
beforenotvowel w/
lengthmod 7
formants w/w
after _ w/_w
before (a) w/wa
endphoneme


@@ -387,6 +393,7 @@ phoneme r/ // variant of [r] when not preceding a vowel
lengthmod 2
formants NULL
before j vwl_fr/@R
before l vwl_fr/@R
endphoneme



+ 3
- 3
phsource/ph_pt_brazil View File

@@ -6,7 +6,7 @@
phoneme I // epenthetic i
vowel starttype (i) endtype (i)
length 90
formants vowel/i
formants vowel/ii_6
unstressed
endphoneme

@@ -95,7 +95,7 @@ endphoneme
phoneme y // this is the same as [i] for Brazil
vowel starttype (i) endtype (i)
length 150
formants vowel/i
formants vowel/ii_6
linkout ;
endphoneme

@@ -104,7 +104,7 @@ phoneme i/ // changes to [j] before a vowel
vowel starttype (i) endtype (i)
beforevowel j
length 150
formants vowel/i
formants vowel/ii_6
linkout ;
endphoneme


+ 1
- 18
src/speak.cpp View File

@@ -212,23 +212,6 @@ void DisplayVoices(FILE *f_out, char *language)



static void PitchAdjust(int pitch_adjustment)
{//==========================================
int ix, factor;

voice->pitch_base = (voice->pitch_base * pitch_adjust_tab[pitch_adjustment])/128;

// adjust formants to give better results for a different voice pitch
factor = 256 + (25 * (pitch_adjustment - 50))/50;
for(ix=0; ix<=5; ix++)
{
voice->freq[ix] = (voice->freq2[ix] * factor)/256;
}
} // end of PitchAdjustment




static int OpenWaveFile(const char *path, int rate)
//=================================================
{
@@ -734,7 +717,7 @@ int main (int argc, char **argv)

if(pitch_adjustment != 50)
{
PitchAdjust(pitch_adjustment);
SetParameter(espeakPITCH,pitch_adjustment,0);
}
DoVoiceChange(voice);


+ 0
- 2
src/spectseq.cpp View File

@@ -987,7 +987,6 @@ void SpectSeq::MakeWave(int start, int end, PitchEnvelope &pitch)
// }

len_samples = int(((total_length * lfactor + 50) * samplerate) / 1000);
// SetPitch(len_samples,pitch.env,pitch.pitch1-pbase,pitch.pitch2-pbase);
SetPitch(len_samples,pitch.env,9,44);

fname_speech = WavFileName();
@@ -1064,7 +1063,6 @@ void SpectFrame::MakeWave(int control, PitchEnvelope &pitche, int amplitude, int

len_samples = (length * samplerate) / 1000;
pbase = voice->pitch_base >> 12;
// SetPitch(len_samples + 50,pitche.env,pitche.pitch1-pbase,pitche.pitch2-pbase);
SetPitch(len_samples + 50,pitche.env,9,44);

fname_speech = WavFileName();

+ 3
- 8
src/synth_mbrola.cpp View File

@@ -34,6 +34,7 @@
#include "voice.h"

extern int Read4Bytes(FILE *f);
extern void SetPitch2(voice_t *voice, int pitch1, int pitch2, int *pitch_base, int *pitch_range);

#ifdef USE_MBROLA_LIB

@@ -285,15 +286,9 @@ static char *WritePitch(int env, int pitch1, int pitch2, int split, int final)
output[0] = 0;
pitch_env = envelope_data[env];

if(pitch1 > pitch2)
{
x = pitch1; // swap values
pitch1 = pitch2;
pitch2 = x;
}

pitch_base = voice->pitch_base + (pitch1 * voice->pitch_range);
pitch_range = voice->pitch_base + (pitch2 * voice->pitch_range) - pitch_base;
SetPitch2(voice, pitch1, pitch2, &pitch_base, &pitch_range);


env_split = (split * 128)/100;
if(env_split < 0)

+ 1
- 1
src/synthdata.cpp View File

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

const char *version_string = "1.37.07 19.Jul.08";
const char *version_string = "1.37.09 31.Jul.08";
const int version_phdata = 0x013400;

int option_device_number = -1;

+ 31
- 25
src/wavegen.cpp View File

@@ -1594,14 +1594,41 @@ static void SetAmplitude(int length, unsigned char *amp_env, int value)
}


void SetPitch(int length, unsigned char *env, int pitch1, int pitch2)
{//==================================================================
// length in samples
void SetPitch2(voice_t *voice, int pitch1, int pitch2, int *pitch_base, int *pitch_range)
{//======================================================================================
int x;
int base;
int range;
int pitch_value;

if(pitch1 > pitch2)
{
x = pitch1; // swap values
pitch1 = pitch2;
pitch2 = x;
}

if((pitch_value = embedded_value[EMBED_P]) > MAX_PITCH_VALUE)
pitch_value = MAX_PITCH_VALUE;
pitch_value -= embedded_value[EMBED_T]; // adjust tone for announcing punctuation
if(pitch_value < 0)
pitch_value = 0;

base = (voice->pitch_base * pitch_adjust_tab[pitch_value])/128;
range = (voice->pitch_range * embedded_value[EMBED_R])/50;

// compensate for change in pitch when the range is narrowed or widened
base -= (range - voice->pitch_range)*18;

*pitch_base = base + (pitch1 * range);
*pitch_range = base + (pitch2 * range) - *pitch_base;
}


void SetPitch(int length, unsigned char *env, int pitch1, int pitch2)
{//==================================================================
// length in samples

#ifdef LOG_FRAMES
if(option_log_frames)
{
@@ -1623,28 +1650,7 @@ if(option_log_frames)
else
pitch_inc = (256 * ENV_LEN * STEPSIZE)/length;

if(pitch1 > pitch2)
{
x = pitch1; // swap values
pitch1 = pitch2;
pitch2 = x;
}

if((pitch_value = embedded_value[EMBED_P]) > MAX_PITCH_VALUE)
pitch_value = MAX_PITCH_VALUE;
pitch_value -= embedded_value[EMBED_T]; // adjust tone for announcing punctuation
if(pitch_value < 0)
pitch_value = 0;

base = (wvoice->pitch_base * pitch_adjust_tab[pitch_value])/128;
range = (wvoice->pitch_range * embedded_value[EMBED_R])/50;

// compensate for change in pitch when the range is narrowed or widened
base -= (range - wvoice->pitch_range)*18;

pitch_base = base + (pitch1 * range);
pitch_range = base + (pitch2 * range) - pitch_base;

SetPitch2(wvoice, pitch1, pitch2, &pitch_base, &pitch_range);
// set initial pitch
pitch = ((pitch_env[0]*pitch_range)>>8) + pitch_base; // Hz << 12


Loading…
Cancel
Save