Browse Source

[1.38.03]

Fix crash with SSML <say-as>.
Sada audio output now OK on big-endian processors.
Don't reduce the pause before doubles stop consonants (eg.Finnish "kk") as much at high speeds.
Language changes: pl (reduce length of stressed syllables, [i] closer, [f] stronger befiore [s]).


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

+ 10
- 5
dictsource/af_list View File

@@ -32,7 +32,7 @@ sanrb $abbrev
sauk $abbrev
st s@nt $dot
supt suprEntEnd'Ent $dot
vsa $abbrev

// letter names
// any letter which also appear as words should be prefixed by a _ here
@@ -149,6 +149,7 @@ _roman rum'eIns@
// Place names

alaska al'aska
algerië alx2'e@re@:@-
antwerpen antv&rp@n
asië A:si@
babilon babilOn
@@ -404,7 +405,10 @@ petrus pe@trWs
phoebe fi:bi
quixote kix2'OtE
rachmaninoff rax2m'aninOf
rademeyer rA:d@meI@r
rebekka r@bEka
reinette r@nEt
renette r@nEt
renée r@neI
retief r@tif
rhodes _^_EN
@@ -466,6 +470,7 @@ trichardt trix2A:rt
xhosa kO:za

khumalo kum'A:lu
zuma zu:ma

// Other proper names
centaurus $2
@@ -590,7 +595,7 @@ my $u $verbf
jou $u $verbf
hom $u $verbf
haar $u $only $verbf
se s@
se Es@ $capital

dis $u

@@ -634,12 +639,10 @@ attraksie $2
babelaas bab@lA:s
barrikade $3
beide beId@
bekaf b&kaf
belangriker b@laNr@k,Ir
belangrikst@ b@laNr@kst@
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
@@ -689,6 +692,7 @@ espeak i:;spi:k
euro Y@ru
exodus Eks'o@dWs

fakture $2
figuur f@x2yr
filippense f@l@pEns@
finalis $3
@@ -864,6 +868,7 @@ pandemonium pand@m'o@niWm
parate par'A:t@
parke park@
parkie $1
patos pA:tOs
patriotisme patri|ut'Ism@
penorent pEno@rEnt
per pIr

+ 74
- 9
dictsource/af_rules View File

@@ -18,6 +18,7 @@
a A:
AC) a (_ %a // short final a in words like: Eva/Pieta/(su)sara
%C) a (_ %a // short final a in words like: Bella/Betta/gogga
s) ate (l %at@ //satelliet and compounds
C) a (rina %a //unstressed short a in carina tarina etc.
&b) a (_ %a // short final a: mamba and compounds/marimba/hamba
&d) a (_ %a // short, unstressed a after d at end of word: soda/padda... and compounds
@@ -54,6 +55,7 @@
agtereen (volg %ax2t@r_%e@n // move default stress: agtereenvolgend/-e/-ens
agter (oor %ax2t@r_ // move default stress: agteroor/-buig/-druk/-val, etc.
&) agtig 'ax2t@x2 // this string almost always carries stress on a
_C) ali (forni %al@ // stress and vowel sounds: (C/K)alifornië/-niese
ara (bi %arA: // fix 1st a sound and stress: Arabië/Arabies/-e
ara (bier %ar%a // Stress and a sounds: Arabier/-e
C) are (CA A:r@ // e sound: amptenaredom/blaredak/garebiltong/haredos/jarelange
@@ -76,6 +78,7 @@
a (CAA %a
d) a (goggen %a //saterdagoggend and friends
ah (C A: // lengthen a and drop h: Ahmed/Dahl/Mahler, etc.
a (hle_ A: // Nguni names and words: kahle/pahle
a (Cie A: // apies/middagslapie
a (Cy %a
a (CA A:
@@ -315,6 +318,7 @@
aan (wesig %A:n // move default stress: aanwesig/-e/-es/-heid
aan (djie AIN
aan (tjie AIN
aan (wysende_voorn %A:n // move default stress only in case of aanwysende voornaamwoord/-e
_) aard (o A:rt_ // fix d sound, insert short pause: aardolie/-oppervlak/-te
_) aard (r A:rt // fix d sound: aardroos/aardryk/-skunde
aadjie AIci
@@ -370,6 +374,7 @@
@) baarlik b'A:rl@k // move default stress: wonderbaarlik/-e/-heid/-ste
bajone (t b%aj%unE // fix stress and vowel sounds: bajonet/-te and compounds
bakate (l b%ak@t& // fix stress and vowel sounds: bakatel/-le/-letjie
bakte (ri b%akte@ // fix stress and e sound: bakterie/-ë
_) bam (boes b%am // move default stress: bamboes/-e/bamboesfluit...
band (Alier b,and // fix stress and d sound: band(e/o)lier/-e
band (A bant // fix t sound: bandomslag/-ontwerp/-opname
@@ -380,7 +385,7 @@
ban (krot b%aN // move default stress: bankrot and derivitives
barberton bA:b@rt%On // fix stress and a sound: Barberton/-lelies/-pad
@) ba (ren b'A: // onrusbarend/opsienbarend and derivitives
ba (ret b%a // move default stress and shorten a sound: baret/-te
ba (retK b%a // move default stress and shorten a sound: baret/-te
ba (riton ba // shorten a sound: bariton and compounds
ba (rok b%a // fix stress and a sound: barok and compounds
baro (meter bar%u // fix a and o sounds: barometer and compounds
@@ -449,7 +454,6 @@
bi (za b%i // move default stress: bizar/-re
blad (A blat_ // fix d sound: blad(aar/-afdruk/-artikel/-ontwerp/-uitleg)
bla (tant bl%a // shorten 1st a and move default stress: blatant/-e/-heid
@) ble (_ _^_EN // words ending in ble is English
_) blik (A blIk_ // fix i sound: blikaspaai/blikemmer/-s/blikoopmaker/-s/blikoor/blikore
bloe (ddors@ bl%u // bloeddorstig and derivitives, but bloeddors
bloed (stol bl%ut // move default stress: bloedstollend/-e
@@ -466,6 +470,7 @@
bo (haai b%u // fix stress and o sound: bohaai and compounds
bo (he b%u // fix stress: boheems/boheme
bok (ooi bOk_ // bokooi/e/ribbokooi/boerbokooi
_) bongo bONgu // fix g and o sounds: bongo and compounds: bongotromme
bosch (_ bOs // Rondebosch/Stellenbosch
bo (tanie b%o@ // stress on 2nd slb.: botanies/-e
bota (nie_N b%o@t%a // stress on 3rd slb.: botanie
@@ -489,6 +494,7 @@
byge (low b%eIx2@ // move default stress: bygelowig/-e/-heid
_) by (telP2 b'eI // fix e sound: bytel/-ling/-lery
by (voorb b%eI// move default stress
bywoordeli b%eIvo@rd@l@ // move default stressa: bywoordelik/-e

.group be
_) be (_ b@ // words broken at end of line: be-
@@ -500,6 +506,7 @@
@) be (C b@
beige beI:Z // beige(kleurige)
_) beker (C@ b''e@k@r // fix stress and e sounds: bekerhouer/-kompetisie/-tjie/-vormig/-wedstryd/-wenner
beker (C@ be@k@r // fix e sound: Curriebekerwedstryd/-span
bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de
_) ben (ga b%EN // fix stress and n/g sounds: Bengaalse/Bengale
beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc.
@@ -792,6 +799,7 @@
e (C E
CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand
CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette
narkos) e (C @ // fix e sound: narkosedood/-gas/-masker/-middel/-rekords, etc.
C) e (marie @ //anemarie, lisemarie etc.
n) eke (_ @k@ //anneke Heineke etc.
CACp) e (rl @ // fix e sound: werperligte/wimperloos
@@ -874,6 +882,7 @@
l) ens (_ E:ns // fix e sound: kamaralens/wyehoeklens/kontaklens and similar
l) ense (_ E:ns@ // plurals: kamaralense/wyehoeklense/kontaklense
AAl) ens (_ @ns // fix e sound: meulens and compounds
ensemble _%A~nsA~mb@L // (kamer-/klavier)ensemble
vaCk) e (nC @ // fix e sound: Valkenburg/varkensgras/-kos, etc.
vel) ens (_ @ns // fix e sound: vervelens
vull) ens (_ @ns // fix e sound: vullens and compounds
@@ -896,8 +905,10 @@
Cy) e (C+ @ // fix connecting e sound in compounds like byekorf/skilderyemuseum, etc.
eier eI@r // eiergeel/eierwit/leierfiguur/leiergroep
@) ei (sen _'eI // (on)veeleisend/spoedeisend
mang) el (A @l_ // fix e sound, pause: mangelontsteking/-operasie and similar
r) ei (sen 'eI // rondreisend
C) e (h @ // alpehoring/beukehout/briewehoof/hondehok/tehuis...
C) e (hle_+ E: // Nguni names: Mokhehle/mpehle/phehle
@C) e (j @ // fix e sound: platejoggie/finalejaarstudent/heksejag/tweedejaar...
Cand) e (C @ // handelaar/handelsmerk/handelsware and similar/handegeklap/handewerk/wandelend
_) e (mi %E
@@ -1022,6 +1033,7 @@
&) e (l_ @
eiers) e (l & // fix e sound: eiersel/-le/-letjie/-s
kn) e (l & // fix e sound: toe-/vasknel/-lend/-ling
@sk) e (l & // kwyt(ge)skeld(ing)
skousp) e (l_ & // fis e sound: skouspel and compounds ending in -skouspel
Cdd) e (le_ e@
@@ -1177,6 +1189,7 @@
@) ery (_ @reI
@) ery (e_ @reI // fix 2nd e sound: delwerye and similar
eti (ket %Et%i // shorten e sound and move stress: etiket/-te
etikette (rA %Et%ik%Ete@ // fix e sound: etiketterend/-ering

ewig (du %e@v@x2 // move default stress: ewigdurend/-e/-heid
ewighei (d e@v@x2,eI // ewigheid/hewigheid/stewigheid/ewigheidjie
@@ -1248,6 +1261,7 @@
_) e (ks %E //move default stress in words starting with eks
_C) e (on_ 'i //Leon, Deon etc.
CoeC) e (C+ @ //fix e in boetedoening, boedelbelasting and many others
toed) e (ling e@ // fix e sound: (personeel)toedeling and similar
CoeC) e (tjie i // fix e sound: (water)poeletjie/(garing)spoeletjie/groenetjies, etc.
orr) e (l @ //fix e in borrel, orrel, korrel in compounds
intell) e (k %E //intellek, and friends
@@ -1277,6 +1291,7 @@
fa (briek f%a // move default stress: fabriek and many compounds/fabriseer
fabri (CA f%abr%i // move default stress: fabrikant/-e and compounds
fak (tore f%ak // move default stress: faktore and compounds
faktu (reri f%akt%y // move default stress: fakturering and compounds
fakul (teit f%ak%Wl // fix stress and a sound: fakulteit/-e and many compounds
fa (lanks fa // shorten 1st a: falanks/-e
familie f%amil%i
@@ -1386,6 +1401,7 @@
go (rilla g%u // fix g and o sounds: gorilla and compounds
goud (a@ x2@Ut_ // fix d sound: goudaandele/-aankope/-aar/-afsetting/-allooi...
goud (o x2@Ut_ // fix d sound: goudontdekking/-ontginning, etc.
gourmet go@rmeI: // gourmet(kos/-kombuis)
A) goë x2'u@ // demagoë/pedagoë
grade (C x2rA:d@ // fix e sound: gradedagseremonie/-dae/-lyn/retrogradewoordeboek
grade (ring x2r%ade@ // fix stress and vowel sounds: gradering and many compounds
@@ -1407,6 +1423,7 @@
gra (sieu x2r%a // fix stress and shorten a sound: grasieus/-e
_) gras (A x2ras_ // fix stress and a sound: graseter/grasoppervlakte/grasuie
_) gra (sie x2rA: // but restore default stress and long a: grasie
gri (ffier x2r@ // move default stress: griffier and compounds
_) gri (mA x2r@ // grimas/grimeer/-middel and other compounds/grimering
agter) grond (i x2rO:nt_ // fix d sound: agtergrondinligting/-informasie/-instrumente
grond (o x2rO:nt_ // fix d sound: grondonteiening/-oppervlakte, etc.
@@ -1594,7 +1611,11 @@
hiërar (gie_N h%i@r%ar // move default stress: hiërargie
hiër (argie h%i@r // stress on 1st a: hiërargies/-e
hiëro (glie h%i@r%u // fix stress and vowel sounds: hiëroglief/-gliewe
A) hle (_ =LE // Nguni words and names ending in -hle: Enhlalakahle/Hlalanikahle/malahle/Phahle
hoeve (r h%uf& // fix stress and e sounds: hoever(re)
hoe (veelhe h%u // move default stress: hoeveelheid/-hede
hof (A hOf_ // fix o, pause: hofaansoek/-amptenaar/-etiket/-interdik/-ordonnans/-uitspraak/-ure...
hof (ie ho@f // but: (blom-/water)hofie/-s, etc.
hong (a h%ONx2 // Hongaar/Hongare/Hongaarse
ho (nneur h%O // move default stress: honneurs/-graad, etc.
hoog (dra h%o@x2 // stress: hoogdrawend and derivitives
@@ -1618,11 +1639,14 @@
ie i
tr) ie (_ 'i //stress on trie at word end
ieë (K i:@ // knieë/vlieë/spieël/-tjie
ss) ief (_ 'if // move default stress: aggressief/massief/obsessief/progressief, etc.
ss) iewe (_ 'iv@ // move default stress: aggressiewe/massiewe/obsessiewe/progressiewe
h) i (dro i //hidro in compounds
_) i (ko %i // move default stress: ikoon/ikone
_) in (aCemP2 'In_ //inasem/inademing, etc.
self) in (C@ _@n // selfingenome/-nheid/selfinkeer, etc.
_) in (a@P2 In // inakkuraat/inaktief/inaktiwiteit
_) in (oe In_ // fix i sound, pause: inoefen/-oes and derivitives
invest (@ @nv%Est // fix stress, v and e sounds: investeer/-erende/-ering
_) iese (C ,is@ // iesegrimmig and derivitives
ieterma (g %it@rm%a // fix stress and a sound: ietermagô
@@ -1764,6 +1788,7 @@

iër (A i'e@r // kopiëring/subsidiërende
fn) is (A @s_ // fix i sound: begrafnisete/-ondernemer/-onkoste
nn) is (A @s_ // fix i sound, pause: kennisoordrag/vonnisooreenkoms/-oplegging, etc.
AC) is (_ 'Is // aktivis/humanis/kommunis/pianis/solis/violis/kompromis
AAm) is (_ @s // restore default stress: dassiemis/Karoomis/koeimis/seemis
@Cem) is (_ Is // default stress: dodemis/duiwemis/hondemis/môremis/perdemis, etc.
@@ -1921,6 +1946,7 @@
kre (diet kr@ // move default stress: krediet/-kaart/-balans, etc.
kre (dit kr%E // fix e sound: krediteer/akkreditasie
kreme (tart kr@m@ // fix stress and e sounds: kremetart and compounds
_) kre (pe@ kr@ // fix stress and 1ste sound: krepeer/-krepering
krimi (nA kr@m@' // krimineel/kriminele/diskrimineer
kri (oel kr%i // move default stress: krioel and derivitives
kri (sant kr@ // move default stress: krisant/-e
@@ -1954,6 +1980,7 @@
.group ka
@A) kaa (t k'A: // advokaatstoga/fabrikaat/sertifikaatjie/triplikaat and many similar
@) kate (_ k'A:t@ // plurals of some of the above
kabare (t k%ab%arE // fix stress and 1st a sound: kabaret/-te and compounds
kabel kA:b@l //stress and e sound
kabeljou kab@lj'@U //kabeljou and compounds

@@ -2063,7 +2090,7 @@
kollek (s k%ulEk // fix stress and vowel sounds: (deur)kolleksie/-s
kolle (kteK k%ulE // fix stress and vowel sounds: (straat)kollekte(-bordjie/blikkie...)
kolle (ktA k%ul%E // fix stress and vowel sounds: kollekteer/kollektering/kollektant
koeël kul
koeël ku:l
kollega k%ule@x2%a // kollega/-s and compounds
kolonne k%ulOn@ // fix stress and vowel sounds: kolonne/-s/-pad/-paaie
kolonel kOl@n'&l
@@ -2146,7 +2173,8 @@
la (tent l%a // fix stress and a sound: latent/-e
latrine l%atrin@ // fix stress and e sound in compounds: latrine(deur, etc.)
laventel l%afEnt@l // fix stress and vowel sounds: laventel and compounds

C) le (_ _^_EN // words ending in consonant followed by le are English
l) le (_ l@ // but: brille/pille, etc.
&) lede (_S4 le@d@
lede (C le@d@ // ledemate/ledegeld/ledelys
lede (kant l%e@d@ // move default stress: ledekant and compounds
@@ -2181,6 +2209,7 @@
lig (hoofd l@x2 // move default stress: lighoofdig/-e/-heid
&) lik (_S3 l@k
&) like (_S4 l@k@
&) like (C@ l@k@ // fix -like-: burgerlikebeskermingsaksie/komieklikerig/menslikehulpbronne, etc.
&) likes (_S5 l@k@s
&) liker (_S5 l@k@r
li (keur l@ // fix stress and i sound: likeur and compounds
@@ -2263,6 +2292,8 @@
man (sjet m%an // move default stress: mansjet/-te/-knoop/-knope
manu (sk ,many
_) ma (rA m%a // short, unstressed a: Marietjie/Marina/Marinda/Marita/Maree/marog
marat (on mar%at // fix stress and a sounds: maraton and compounds
marath (on mar%at // fix stress, a sound, drop h: marathon and compounds
marine m%arin@ // marine and compounds
mario (net m%ar%i%u // fix stress and vowel sounds: marionet/-te and compounds
ma (ritz m%a' // fix stress: Maritz/Pietermaritsburg
@@ -2300,6 +2331,8 @@
minder (jar m@n@r // move default stress: minderjarig and derivitives
miner (A m@n@r // mineraal and many compounds
mi (neur m%i // move default stress: mineur and compounds
ministe (rieK m@n@ste@ // fix stress and vowel sounds: ministerie/-s and compounds
ministeri m@n@st%e@r%i // fix stress and vowel sounds: ministerieel/-ële
mikr (o mikr
mikrobe m%ikro@b@ // fix stress and vowel sounds: mikrobe/-s and compounds
mini (ma@ m%in%i // move default stress: minimaal/-ale
@@ -2346,6 +2379,7 @@
monargie (_N m%o@n%arx2i // move stress to end: monargie
monder (A m%Onde@r // move default stress and lengthen 1st e sound
_) mon (go@ m%ON // fix stress and split -ng-: mongool/-tjie/-kind/Mongole, etc.
monit (e m%On%it // fix vowel sounds and stress: moniteer/-tering and compounds
monitor (K mOnitOr // fix o sound: monitor/-skerm, etc.
monnike mOn@k@ // fix i and e sounds: monnikedom/-klooster/-koor/-werk and many similar
monopo (li m%o@n%o@p%u // fix stress and o sound: monopolie/-ë/-monopolisties/-e
@@ -2425,6 +2459,7 @@
me (rrie mE // fix e sound: merrie/-s/perdemerrie and similar compounds
AAs) mes (_ mEs // fix last e sound in compounds like kombuismes
Cs) mes (_ mEs // fix last e sound in compounds like slagtersmes
_) mes (aan mEs_ // fix e sound, pause: mesaanval/-ler
metaal m@tA:l
metale m@t'A:l@
_) meta (C m%Et%a // metabolies/-e/metafoor/metafories
@@ -2565,6 +2600,7 @@
.group o
o o@
&C) o (_N %u // fix o at end of words: Marokko/(aanvang)saldo/risiko, etc.
_Audi) o %u: // fix o sound: oudio/audio and compounds
bur) o (_ ,o@ // but: buro and compounds like arbeidsburo
rb) o (_ 'o@ // and daarbo/hierbo/waarbo
&s) o (_ o@ // and: sommerso/netso
@@ -2859,6 +2895,7 @@
onder (myn %On@r // move default stress: ondermyn/-ing
onder (ne %On@r // move default stress: onderneem/onderneming
onderonsie %On@r?o~nsi // fix stress, short break and nasalised o: onderonsie/-s
onder (sekr ''On@r // forse stress on 1st slb.: ondersekretaris/-se/-resse
onder (soeken %On@r // move default stress: ondersoekend/-e
_) onder (skA %On@r // exception to default stress rule
onder (skeid_N On@r // restore default stress: onderskeid
@@ -3093,6 +3130,7 @@
po (liep p%u // fix stress and o sound: poliep/-e/-agtig and compounds of poliep
po (liesman pu // fix o sound: poliesman/-ne
polisie p%ulis%i
polisië p%ul%is%i;e@ // fix stress and o sound: (gemeenskaps)polisiëring(sforum) and similar
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
@@ -3146,9 +3184,11 @@
profesie prOf@s'i // fix vowel sounds and move stress
pro (gram pr%u // fix stress and o sound: program/-e/ontwikkelingsprogram
pro (CA pr%u // probeer/produk/proses/professie/provinsie
professio (n pr%uf%ES%i%u // fix stress and vowel sounds: professioneel/-nele/-naliteit
prokie pro@k%i //sprokie and compounds
promenade pr%Om@nA:d@ // fix stress and vowel sounds: promenade/-dek/-konsert, etc.
promisku pr%Om@sky // fix stress and o sound: promisku/-e/-íteit
promulg (e pr%Om%Wlx2 // fix stress and vowel sounds: promulgeer/-gering
proposi pr%Op@zi // stress, o and s sounds: (besigheids)proposisie/-si, etc.
prosa pr'o@sa //prosa and compounds
prosa (ïe pr%o@sA: // fix stress and vowel sounds: prosaïes/-e
@@ -3170,6 +3210,7 @@
pseudo sY@d%u // drop p sound: pseudo and compounds
ps (igA s // psigologie/kinderpsigoloog
psige (delie s%ix2@ // move default stress: psigedelies/-e
_nie) psige ps@x2@ // restore p sound: geniepsige/-r
_) psalm p@sal@m // schwa between p and s
psalmis p@s%al@mIs // move default stress: psalmis/-te

@@ -3243,6 +3284,7 @@
ru (briek r%W // move default stress: rubriek/-skrywer, etc.
rugby rWgbi
ru (dolC ru // fix u sound: rudolf
_) rug (A@ r''Wx2_ // fix u sound, pause: rugoefeninge/-operasie and similar
ru (moer r%W // fix stress and u sound: rumoer/-ig/-heid
rusper (C rWsp@r // fix e sound: rusperband/-tjie/-trekker and similar
ru (ïn r%y_ // move default stress: ruïne/-s
@@ -3311,7 +3353,7 @@
re (gresK r@ // fix stress and 1st e sound: regres/-sie/-sief
rehabilit r%i%ab%il%it // rehabilitasie(program)/rehabiliteer/rehabilitering
reke (nA re@k@ // rekenaar/sakrekenaar/rekenaarprogram/hoofrekene
rekord r'EkOrt
rekord rEk%Ort
o) rene r@n@ // eersgeborene/uitverkorenes
re (geer r@ // regeer/geregeer; stress to end
reger (A r@x2e@r // regering/regerende
@@ -3332,11 +3374,16 @@
s (s
@@@) s (_S1 s // to correctly handle plural s
i) s (_ s // exceptions to rule: @@@) s (_S1 s
se (_ s@ //the word se and some ending in se
._) se (_ s@ //Se at start of sentence.



sangeres s%aN@rEs //sangeres and compounds: opera-/popsangeres
o) s (_ s // exceptions to rule: @@@) s (_S1 s
u) s (_ s // exceptions to rule: @@@) s (_S1 s
sch S
sh (_ S
sh (_ _^_EN
_) sh S // sh at beginning of word pronounced like English sh
sj S
s (jag s // split sj: baasjagter/patrysjag/pelsjagter
@@ -3403,6 +3450,7 @@
sa (tanie s%A:
sa (tir s%a // move default stress: satire/satiries/-e
sa (turnu s%a // fix stress and a sound: saturnus and compounds
sav (annA s%av // fix stress and v sound: savanna/-s/savanne
_) schu (C Su // fix u sound: Schubert/Schultz/Schumann/Schumacher
_) sedan s@dan // fix stress and e sound: sedan/-s/sedanmotor, etc.
_) sede se@d@ // sede/-s|-preek
@@ -3466,18 +3514,21 @@
_) skar (C sk%ar // move default stress: skarlaken/skarminkel/skarnier and many compounds
skarrel skar@l // restore default stress: (ge)skarrel/-ing
ska (vot sk%a // fix stress and a sound: skavot and compounds
_) ske (let sk@ // fix stress and 1st e sound: skelet and compounds
ske (dule sk%E // fix stress and e sound: skedule/-s/(on)geskeduleer/-de
_) skele (t sk@lE // fix stress and 1st e sound: skelet and compounds
skemer ske@m@r // fix 2nd e in many compounds and derivitives of skemer-
sker (muts sk%&r // move default stress: (ge)skermutsel/skermutseling/-e
skerpi (oen sk%&rp%i // move default stress: skerpioen/-e and compounds
skilder (y sk@ld@r // move stress to y: skildery and compounds like skilderymuseum
skisofr (e sk%is%ufr // fix stress and o sound: skisofreen/skisofrene
skole sko@l@ // fix e sound in compounds: skolebeheerliggaam/-koor/-rugby/-wedstryd/-wet
sko (lier sk%o@ // move default stress: skolier/-e
skoppel (maa sk%Op@l // move default stress: skoppelmaai/-e/-er/-s
skrif (A skrIf_ // i sound: (hand)skrifontleder/skrifuitleg/tydskrifadvertensie/-afdeling/-artikel
skuld (erken skWlt_ // fix d sound: skulderkenning/-s/-erkentenis
skyn (hei sk%eIn // move default stress: skynheilig/-e/-heid
_) slag sl'ax2
slag (off slax2_ // short a sound, insert pause: misdaadslagoffer and similar compounds
sla (vin sl%a // move default stress and shorten a sound: slavin/-ne and compounds
slop (emmer slOp_ // fix o sound and insert pause: slopemmer/-s
@) sering s'e@r@N // analisering/kategorisering
@@ -3565,6 +3616,7 @@
spesi (f sp%Es%I // spesifiek/spesifiseer
stede (C ste@d@ // fix e sounds of many compounds and derivitives containing stede
%Cel) ste (r st& // fix e sound: dubbelster/-re
Cet) ste (rK st& // fix e sound: ballet-/kabaret-/krieketster/-re
dwaal) ste (r st& // fix e sound: dwaalster/-re
dwerg) ste (r st& // fix e sound: dwergster/-re
nd) ste (r st& // fix e sound: aandster/oggendster
@@ -3572,6 +3624,7 @@
see) ste (r st& // fix e sound: seester/-re/seesterpunte and similar compounds
sewe) ste (r st& // fix e sound: sewester and compounds
_) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit
ster (-hotel st&r // fix e sound: een-/twee-/drie-/vier-/vyfster-hotel
stimu (lA st@m%y // move default stress and fix i sound: stimuleer/stimulering/stimulasie
_) sub (a sWb_ // subagent/subartikel/subatomies, etc.
sub (li s%Wb // move default stress: subliem/-e
@@ -3606,7 +3659,9 @@

.group st
D_) ste st@ //ste after numbers 22ste etc.
_) staats st''A:ts // force stress: staatsadministrasie/-advokaat/-akkreditasie, etc.
_) sta (bi@ st%a // fix stress and a sound: (on)stabiel/-e/stabiliseer/(on)stabiliteit
sta (dion stA: // fix a sound: stadion and many compounds
stalag (Ciet st%al%ax2 // fix stress and 1st a sound: stalagmiet/stalagtiet/-e
stan (da st%an // standaard/-e/standardisering
standerd (@ st%and@rt // compounds starting with standerd
@@ -3639,6 +3694,7 @@
mAre) ste (r st& // fix e sound: more/môrester/-re
sterf (K st&rf // fix e sound: uitsterf/weg(ge)sterf/kindersterfte
@) sterkt st&rkt // compounds ending in sterkte
stero (ïed st%e@r%u; // fix stress and vowel sounds: steroïed/-e
bok) ster (t st&:r // fix e sound: bokstert/-e/-tjie/-s
weg) ster (we st&r // wegsterwe/wegsterwende
_) ster st&r
@@ -3667,6 +3723,7 @@
strategie str%at@x2i // fix stress and vowel sounds: strategie and compounds
strategies str%ate@x2is // fix stress and vowel sounds: strategies/-e
streke stre@k@
stres (_ strEs // fix final e sound: skeletstres and similar -stres compounds
strig (nien str@x2 // move default stress: strignien and compounds
strukt (u str%Wkt // correct stress: strukture/bevelstruktuur/-ture
studen (t st%ydEn // fix stress: student/regstudent/studentesentrum, etc.
@@ -3746,6 +3803,7 @@
toepaslik t%upasl@k // move default stress: toepaslik/-e/-heid
toereike t%ureIk@ // toereikend/heid
toereken (b t%ur'e@k@n // ontoerekenbaar/heid/ontoerekenbaarheid
borg) tog tOx2_ // fix o sound: borgtogaansoek/-e/-er
toneel t%une@l
tonele t%une@l@ // fix o sound: tonele and compounds
toegeef t%ux2e@f // move default stress: (on)toegeeflik/-e/-heid
@@ -3882,7 +3940,7 @@

@) tek (en te@k
teken (A te@k@n // compounds of betekenis/tekening
tekor t@k'Or // deelteken/koppelteken/litteken/handtekening/ondertekende
tekor t@kOr // stress: tekort(koming), etc.
tenaar t@nA:r


@@ -3928,6 +3986,7 @@
ul) terende (_ t'e@r@nd@ //konsulterende resulterende
ver) terende (_ t'e@r@nd@ //verterende in compounds
ter (myn t%&r // move default stress: termyn/-aandele/-versekering, etc.
_) terti (AK t&rSj // fix -ti- sound: Tertia/Tertius
tesame t@sA:m@ // fix stress and vowel sounds: moved here because of compounds with tesame: tesamebeleid
C) te (tjie ti // fix e sound: holtetjie/groentetjies/laagtetjie, etc.
tewe (_ te@v@ // fix e sound: (agter/voor)stewe/tewe and compounds
@@ -3939,6 +3998,7 @@
u (C W
u (CA y
ugan (de %ug%an // fix stress and g sound: Ugandees/Ugandese
u (hle_ u: // Nguni names: kwanobuhle/zamakuhle
uu y
ui Yy
uie (C Yy@ // graansuierdiens/kruiersloon/kuiergas/luierbroekie/sluierdoek/suierklep/getuienis
@@ -4014,6 +4074,7 @@
vanself (spr f%ans%&lf // move default stress: vanselfsprekend/-e/-heid
vari (A v%ar%i // fix v sound and stress: variasie/-s/varieer
vaseline v%as@lin // fix stress, v and vowel sounds: vaseline/-bottel, etc.
vasste (l fast& // fix e sound: vasstel(ling/-lende)
vati (kaan f%at%i // fix stress and shorten a sound: vatikaan and derivitives and compounds
@) ve (_ _^_EN //words ending in ve is English
veel (duid f%e@l // move default stress: veelduidig/-e/veelduidend/-e
@@ -4139,6 +4200,7 @@
vol (prop fOl // exception to: vo (lC f%O
vol (r fOl // volrond/-rooi/-ryp: exception to: vo (lC f%O
vol (sirk fOl // volsirkel: exception to: vo (lC f%O
_) vol (sk fOl // restore default stress: volskaalse/-skaduwee/-skerm/-skiet, etc.
vol (ste_ fOl // exception to: vo (lC f%O
vol (sto fOl // volstof/volstoom/volstop/volstort; exception to: vo (lC f%O
voltyds fOlteIts // voltyds/-e: exception to: vo (lC f%O
@@ -4160,6 +4222,7 @@
_) voorge (@P6 f'o@rx2@
_) voor (komA f%o@r // move default stress: voorkomende/voorkomer/voorkoming and compounds
voor (sie f%o@r // move default stress: voorsien/-ing
voorskrifteli (k f%o@rskrIft@l@ // move default stress: voorskriftelik/-e/-heid
voorspe (l fo@rsp'& // voorspel/voorspelling/voorspelbaar/onvoorspelbaar
voor (sk fo@r // voorskiet/voorskot/voorskrif/voorskryf
voorstedeli (k f%o@rste@d@l@ // move default stress: voorstedelik/-e vs voorstede
@@ -4302,6 +4365,8 @@
wa (spore vA: // fix a sound: (osse-/perde-)waspore and similar
@k) water vA:t@r // drinkwater/kalkwater/reukwater
wat (wond v%at // move default stress: watwonders/-e
wa (vol vA: // long a sound: (krui)wavol, etc.
wa (vrag vA: // long a sound: (bok-/krui)wavrag/-te
_) wa (wy vA: // fix stress and a sound: // wawyd/wawydwakker, etc.
weer (kaats v%e@r // move default stress: weerkaats/-in
@) wekkend v'Ek@nt // stress on wekkend at end compounds
@@ -4421,7 +4486,7 @@
óú '!@U // extra stress: sóú/wóú
ô O:
K) ú (CK '!W // extra stress: dús/júl(le) and similar
ûe W@ // brûe/rû
ûe W:@ // brûe/rû
ý '!eI // extra stress: jý/mý/sý and similar
ñ _^_ES // words containing ñ are Spanish: senñor/-a/-ita


+ 48
- 9
dictsource/dict_phonemes View File

@@ -87,10 +87,10 @@ T tS v v# w x z

Dictionary fi_dict

& &i &y @- a ai au e
ei eu ey i ie iu iy o
oi ou u ui uo Y y Yi
yi Yy yY
& &i &y @- a a2 ai au
e ei eu ey i I ie iu
iy o oi ou u ui uo Y
y Yi yi Yy yY

* : b d f g h j
k l m n N p r s
@@ -172,8 +172,8 @@ s S s; t v w x z

Dictionary pl_dict

@- a E E~ i O O~ u
y
@- a E E# E~ i I O
O~ u y

* : ; b c C d d;
dZ dz; f g h j k l
@@ -259,9 +259,9 @@ 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
f g h j k l L m
n N p r s S t tS
v w x2 z Z


Dictionary ta_dict
@@ -361,6 +361,17 @@ l m n N p R s S
t tS v w x z Z


Dictionary sq_dict

@ a e E i O u y
yE

* ** b c d D dZ f
g h j J k l ll m
n n^ p r R s S t
T tS ts v w z Z


Dictionary hbs_dict

& @ @2 a A a: aI aU
@@ -403,3 +414,31 @@ I o u U y
h j J k l m n p
q r R s S t tS v
w x z Z


Dictionary da_dict

@- O V

d n p


Dictionary rw_dict

a e i o u

* : b B c d dZ f
g h j J k l m n
N n^ p q R s S S;
t tS v w x z


Dictionary ko_dict

a e E i ji o u u-
V

b c C c` ch d dZ g
h j J k k` kh l m
n N p p` ph r s S;
s` t t` th w

+ 2
- 0
dictsource/en_list View File

@@ -449,6 +449,7 @@ alfalfa alf'alf@
alias eIli@s
alibi al@baI
alkali alk@laI
all O:l $allcaps // not abbrev.
allay a2leI
allegiance a2li:dZ@ns
allele a2li:l
@@ -681,6 +682,7 @@ carpel kA@p@l
cascade $2
cashmere kaSm'i@3
catarrh k@tA@
caterer keIt3r3
catholic kaTlIk
cavalier $3
caveat kavIat

+ 6
- 2
dictsource/en_rules View File

@@ -264,6 +264,7 @@
h) ache (_ eIk
r) ache (_ eIk
rt) ache (_ eIk
y) ache (_ eIk
d) aches (_ eIks
h) aches (_ eIks
r) aches (_ eIks
@@ -1586,6 +1587,7 @@
_) di (se ,dI
di (sh_ dI
di (shC dI
_) di (shev+ dI2
_) dis (hA dI2s
_) di (si ,dI
di (sint dI2
@@ -1977,6 +1979,7 @@
en (dea %En
en (dous En
_) endo EndoU
@) en (do_ 'En
endow End'aU
_) endor %Endo@
_) en (du %En
@@ -3452,6 +3455,8 @@
oer oU@
oe (soph I2
sh) oe u:
_) oe (d i:
_) oe (s i:
f) oe (tA i:
p) oe (m oUI
p) oe (t oUI
@@ -4434,7 +4439,7 @@
stein StaIn
ti) ssue Su:
_) s (u s
ssure S3
ssur S3
a) ssur SU@
a) ssure S'U@
ea) s (y z
@@ -4462,7 +4467,6 @@
&pe) s (_$1 s
&th) s (_$1 s
&t) s (_$1 s
plu) s s
_ha) s (_ z

.group su

+ 76
- 12
dictsource/fi_list View File

@@ -6,18 +6,82 @@
// "letter" name, then include the letter name here, with the letter
// prefixed by a _ character.

å r'uotsalainen'o:
š h'at:u&s
ž h'at:uts,et

_. piste
_! hu:tomerk:i
_" lainaus
_# rist:o
_$ dollarin
_% prosent:i
_& etmerk:i
_' heit:o
_cap 'iso
_?? m'erk:I
_#9 sarkain
_#32 v&li

a a:
ä &:
b be:
c se:
d de:
e e:
f &f
g ge:
h ho:
i i:
j ji:
k ko:
l &l
m &m
n &n
o o:
ö Y:
p pe:
q ku:
r &r
s &s
t te:
u u:
v ve:
w kaksoisve:
x &ks
y y:
z tset
å r'uotsalainen'o:
š h'at:u&s
ž h'at:uts,et



_. piste
_! hu:tomerk:i
_? kysymysmerk:I
_" lainaus
_# risu
_$ dollarin
_% prosent:i
_& etmerk:i
_' heit:o
_: kaksoispiste
€ euroa
% prosent:i
_( alkusulku
_) lop:usulku
_[ alkuhaka2
_] lop:uhaka2
_{ alkua:lto
_} lop:ua:lto
_< p'ienempIk'uin
_> s'u:*empIk'uin
+ plus
/ kaut:a2
\ keno
€ eu*o
£ punta2
& et
@ &t
% p@-*osent:I
~ tilde

_acu 'aku:t:I
_brv b@-*'eve
_ced s'edIljI
_cir s'irkumfl,eksI
_dia 'umlaut
_grv g@-*'avIs
_tld tilde

// numbers
_0 n'olla

+ 6
- 34
dictsource/fi_rules View File

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


.group a
_) a (_ a:
a a
aa a:
ai ai
@@ -15,7 +14,6 @@


.group ä
_) ä (_ &:
ä &
ää &:
äi &i
@@ -25,13 +23,11 @@


.group b
_) b (_ be:
b b
bb b:


.group c
_) c (_ se:
c k
c (i s
c (e s // Pronounce c as s. Mostly foreign words such as celcius, center, cervantes, cezanne.
@@ -42,13 +38,11 @@


.group d
_) d (_ de:
d d
dd d:


.group e
_) e (_ e:
e e
ee e:
ei ei
@@ -59,23 +53,19 @@
&) e(llä_ %e

.group f
_) f (_ &f
f f


.group g
_) g (_ ge:
g g
gg g:


.group h
_) h (_ ho:
h h


.group i
_) i (_ i:
i i
ii i:
iu iu
@@ -89,32 +79,27 @@


.group j
_) j (_ ji:
j j


.group k
_) k (_ ko:
k k
kk k:


.group l
_) l (_ &l
l l

@) lle (_ lle_X1 // double the initial consonant of the next word


.group m
_) m (_ &m
m m

_sydä) m (A m: // double the m in sydämelinnen


.group n
_) n (_ &n
n n
ng N:
ng (_ N
@@ -128,7 +113,6 @@


.group o
_) o (_ o:
o o
oo o:
oi oi
@@ -139,7 +123,6 @@


.group ö
_) ö (_ Y:
ö Y
öö Y:
öi Yi
@@ -148,7 +131,6 @@


.group p
_) p (_ pe:
p p
pp p:

@@ -162,13 +144,11 @@


.group q
_) q (_ ku:
q k
qq k:


.group r
_) r (_ &r
r r
A) r (A *
C) r (A @-*
@@ -176,7 +156,6 @@


.group s
_) s (_ &s
s s
ss ss2 // [s2] is a continuation for [s]
K) sh S
@@ -185,7 +164,6 @@


.group t
_) t (_ te:
t t
tt t:

@@ -193,7 +171,6 @@


.group u
_) u (_ u:
u u
uu u:
ui ui
@@ -201,23 +178,19 @@


.group v
_) v (_ ve:
v v


.group w
_) w (_ k'aksoisv,e:
w v


.group x
_) x (_ &ks
x ks
xx k:s


.group y
_) y (_ y:
y y
yy y:
yi yi
@@ -225,7 +198,6 @@


.group z
_) z (_ tset
z ts
zz t:s
K) zh Z
@@ -233,15 +205,15 @@
pi) zza tsa // Pronounce pizza as pitsa. Include inflections and compound words.


.group 9

.group
å o
å o:
š S
ž Z

€ euroa
$ dollarin
% prosent:i
* asteriski
$ dollarin
* asteriski
= 'yht&k'uin
__) - (_D mi:nus
A_) - (_D _
C_) - (_D _

+ 22
- 22
dictsource/fr_list View File

@@ -24,7 +24,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated 2008-08-20 Michel Such <[email protected]>
// Updated 2008-08-29 Michel Such <[email protected]>
//
// * Numbers, a few abbreviations and exceptions.
//
@@ -246,10 +246,11 @@ alt $pause
amd $abbrev
anpe $abbrev
api $abbrev
avh $abbrev
avh aveaS
bd boulevard $text
cci $abbrev
cio $abbrev
ctrl kO~tRol $pause
ctrl kO~tRo2l $pause
dept depaRt@mA~
edf $abbrev
etc etseteRa
@@ -259,7 +260,7 @@ hz _!Erts
ibm $abbrev
ide $abbrev
ip $abbrev
jaws Z'o2wz
jaws dZ'O2wz
kde $abbrev
kg kilogram
khz kiloErts
@@ -338,7 +339,7 @@ lorsque $u
puisque $u
presque $u+
(parce que) parsk@ $u+
que $u $verbf
que $u+
qui $u+ $verbf
quoique $u
si $u
@@ -367,6 +368,7 @@ ceci $u+ $verbf
cela $u+ $verbf
voici $u+
voilà $u+
cet $u $nounf
cette $u $nounf
ces sez2 $u $nounf
(celle ci) sEl||si $verbf
@@ -480,7 +482,8 @@ furent $u+
sois $u+ $verb
soit $u+

ai $u $verb
ai $u+ $verb
(ai je) EZ=@- $u+
as as
as az2 $u+ $verb
(as tu) aty
@@ -495,7 +498,10 @@ eus yz2 $u+
eut yt2 $u+ $verb
eûmes $u+ $verb
eûtes $u+ $verb
eurent $u+
eurent yrt2 $u+
eussions $u+
eussiez $u+
eussent $u+

aie $u+ $verb
aies $u+ $verb
@@ -509,10 +515,13 @@ d'est d'Est

quelque $u+
quelques $u+
tel $u+
telle $u+
telles $u+
tout t'ut2 $u+
toute t'ut $u+
toutes t'utz2 $u+
rien riE~n2 $u+
rien rjE~n2 $u+

// Letters which can be words
//===========================
@@ -536,6 +545,7 @@ riz ri
sphincter sfE~ktEr
sous $u+
sur $u+
tennis tenis
tunis tynis


@@ -558,7 +568,7 @@ absent absA~
admin admin
airbus Erbys
auvent ovA~
bien biE~n2 $u+
bien bjE~n2 $u+
bis bis
bissus bisys
bus bys
@@ -569,9 +579,9 @@ cocus coky
dernier dErnier2
éloquent ElokA~t2
fier fier2 $verb
fils fis
fuel fjul
gars ga
gym Zim
hélas elas $u+
iris iris
laser lazEr
@@ -674,7 +684,8 @@ epson EpsOn
espeak @spi:k
ethernet etERnEt
exit egzit
(file zilla) fajl||zija
(file zilla) fa2jl||zija
from _^_en $u+
get _^_en
google gu:gWl
gnome gnOm
@@ -716,25 +727,14 @@ yes _^_en


// tions (tjO~ instead of sjO~)
apportions apORtjO~z2
constations kO~statjO~z2
contentions kO~tA~tjO~z2
dations datjO~z2
discutions diskytjO~z2
débutions debytjO~z2
désertions dezERtjO~z2 $verb
détentions detA~tjO~z2
exploitions Eksplw^atjO~z2
exportions EkspORtjO~z2
heurtions hWRtjO~z2
limitions limitjO~z2
méritions meRitjO~z2
partions paRtjO~z2
rations RatjO~z2 $verb
respections REspEktjO~z2
répétions RepetjO~z2
sortions sORtjO~z2
supportions sypORtjO~z2
tentions tA~tjO~z2
votions votjO~z2
étions etjO~z2

+ 43
- 15
dictsource/fr_rules View File

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

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated: 2008-08-22 Michel Such <[email protected]>
// Updated: 2008-08-30 Michel Such <[email protected]>
//

// Letter classes:
@@ -32,6 +32,8 @@
// Y front vowels: e i y é ê è î
// K not a vowel (i.e. consonant, space, )

.L01 d e l n r t u


.group a
ae (_ e // reggae vitae
@@ -394,6 +396,7 @@ _) ç' (P2v s
_hi) er (_ ER // hier
_fi) er (_ ER // fier
_hiv) er (X ER // hiver
tain) er (X ER // container
_ti) er (_ ER
ack) er (K Wr
ock) er (K Er
@@ -430,6 +433,7 @@ _) ç' (P2v s
dg) et (_ Et // Bridget, gadget

eu Y // eu
_) eu (ss y // eu

eu (C W
eu (h_ Y
@@ -478,12 +482,14 @@ _) ç' (P2v s

%C) e (CA @-
%C) e (Ce // actuellement guillemets
%C) e (xA E // actuellement guillemets
%C) e (xA E
%C) e (mA // actuellement guillemets
ct) e (ment @
rC) e (ment @
AC) e (ment
u) e (ment @-
ul) e (CA
ull) e (CA

As) e (gA
As) e (pA
@@ -613,6 +619,7 @@ _) h (onn // honneur
_) h (ôp // hôpital
_) h (os // hostile
_) h (ora // horaire
_) h (orip // horipeau
_) h (oriz // horizon
_) h (oro // horoscope
_) h (orlo // horloge
@@ -640,6 +647,7 @@ _) half _^_en
i i // cri

i (A i
AC) i (a j
i (o j
i (è j
i (eu j
@@ -675,6 +683,7 @@ _) half _^_en
a) il (_ j // bail
e) il (_ j
u) il (_ j // deuil
L01_f) ils (_ is // deuil

imm imm // immaculé
im (_ im // karim
@@ -682,10 +691,11 @@ _) half _^_en
w) in in // winrar
inct (_ E~ // distinct
in (h in // inhumain
in (kX in // link
in (kX iN // link
in (n in // innombrable
in (C E~ // vingt
in (_ W~ // vin
ing (_ iN
_) infra (_P5 E~fra
_) inter (@P5 E~tEr
_) inter (_ E~t'Er
@@ -702,7 +712,6 @@ _) half _^_en
ind (_ _^_en // find, mind
_C) ind (er_ _^_en // finder, reminder
_AC) ind (er_ _^_en // finder, reminder
ing (_ _^_en // parking
// ink _^_en // link
ize (X _^_en // realize

@@ -725,6 +734,7 @@ _) half _^_en
.group j
j Z // adjoint joujoux
_) j' (P2v Z
_) j (azz dZ
_) j (obK dZ
_) j (ohK dZ
_) jusqu' (P6 Zysk
@@ -756,6 +766,7 @@ _) half _^_en
m m // film
mm m // pomme
_) m' (P2v m
_) mc (P2 mak
_) ms (P2 Em_!Es
master (_S6 mastWr

@@ -950,6 +961,7 @@ C) oing (_ _^_en // going
.group r
_su) rr RR // surréaliste
cou) rr RR // courrai
cou) rr (i r // courrier
mou) rr RR // mourrai
rr R // erreur
r r // rien
@@ -993,6 +1005,8 @@ mou) rr RR // mourrai
_) super (@@P5 sypEr
_) super (_ sypEr
_) supra (@P5 sypra
batro) s (_ s
océro) s (_ s


_u) s (_ s
@@ -1087,7 +1101,7 @@ _) t (_ te
Ama) t (ieX s // diplomatie
a) t (ia s // spatial
en) t (ia s // confidentialit�
bu) t (iA s // balbutiait
lbu) t (iA s // balbutiait
r) t (ia s // impartial
ini) t (i s // initier
p) t (ia s // nuptial
@@ -1098,29 +1112,43 @@ _) t (_ te
V) t (ion t // verbes
ache) t (ion t // achetions, rachetions
ai) t (ion t // souhaitions, traitions
oi) t (ion t // boitions
si) t (ion s // position
chan) t (ion t // chantions, d‚chantions
Cisi) t (ion t // visitions
ci) t (ion t // citions
comp) t (ion t // comptions, escomptions
Conc) t (ion s // fonctionner, ponctionner
Ce) t (ion t // jetions, rejetions
habi) t (ion t // habitions
ou) t (ion t // ajoutions
ci) t (ions t // citions
comp) t (ions t // comptions, escomptions
CAnc) t (ion s // fonctionner, ponctionner
Ce) t (ions t // jetions, rejetions
Vec) t (ion t // respections
Vep) t (ion t // respections
éCi) t (ions t // hésitions, héritions
éti) t (ion s // pétition
Vé) t (ion t // répétions
habi) t (ions t // habitions
imi) t (ions t // imitions, limitions
Vu) t (ion t // ajoutions
Apor) t (ion t // emportions, exportions
opor) t (ion s // proportion
Cpor) t (ion t // emportions, exportions
sor) t (ion t // sortions
rê) t (ion t // arrêtions, apprêtions

s) t (ion t // gestion
_ta) t (ion t // tation
sen) t (ion_ t // sentions, ressentions
t) t (ion t // combattions

t (iel s // partiel patiemment
t (iAm s
t (iel s // partiel
t (ieu s // ambitieux
t (iAm s // patiemment

mar) t (ien s // martien vénitienne
a) t (ien s
i) t (ien s
pa) t (ien s
o) t (ien s

Cu) t (ieX s // minutie
nu) t (ieX s // minutie
ni) tien (t_ si
bu) tien (t_ si


+ 11
- 4
dictsource/pl_rules View File

@@ -1,3 +1,7 @@
// This file is UTF8 encoded
// Spelling to phoneme words and exceptions for Polish

.L01 ka ki ce kę ką ko kach kom
//.L02 a i ę ą o

@@ -247,6 +251,7 @@

.group e
e E
i) e (_ E#

@) e (Cłbym_ =E
@) e (Cłbyś_ =E
@@ -337,7 +342,7 @@
_f) ire (fo ajE*
_m) ic (ro ajk

C) ie (_ ;E
C) ie (_ ;E#
_t) ime ajm
_t) ime (r ajmE
_dr) i (v aj
@@ -474,7 +479,7 @@

.group k
k k
k (i c
// k (i c
kł (_ k
ki (A kj
_) klow (n klaw
@@ -531,7 +536,7 @@

.group ń
ń n^
ń (_ n^_
ń (_ n_ // ?? jsd

.group o
o O
@@ -552,6 +557,8 @@

.group p
p p
pie (ń pI // ??? jsd

_ko) pi (A pj
_fotoko) pi (A pj

@@ -949,7 +956,7 @@
z (i Z;
zi (A Z;
_) zi (p Z;i
zi (m Z;i
zi (m+ Z;i
_) zi (C z_i
_nie) zi (C z_i
zi (C zi

+ 9
- 2
dictsource/pt_list View File

@@ -75,7 +75,7 @@ _$ s,ifR'&U~
_% pors'eINtU
_& 'e
?1 _' ap'Ostr,ofy
?2 _' ap'OstR,ofU
?2 _' &p'OstRofU
_( ,abRipa*'eINtezy
_) f,ES&pa*'eINtezy
_* &ste*'iskU
@@ -91,7 +91,7 @@ _< men'Or
?2 _= igw'aU
_> maI'Or
_? ,iNtex,ogas'&U~
_@ ax'ob&
_@ &x'ob&
_[ ,abRikowS'etSi
_\ b,ax&,iNvertS'id&
_] f,ES&kowS'etSi
@@ -108,6 +108,9 @@ _¡ ,eskl&mas,&U~,iNvertS'id&
_¿ ,iNtex,ogas,&U~,iNvertS'id&

_" 'abRi;'asp&||d'upl&s#
_º Oz'in^U
_ª az'in^U
° gR'aU


// numeric
@@ -236,6 +239,8 @@ dra $dot
mr $dot
mrs $dot
prof pr'Of $dot
profº pR,ofes'or
profª pR,ofes'o*&
sr $dot
?1 sra ,Es;'Errj'a $dot
?2 sra $dot
@@ -708,6 +713,8 @@ python p'aIT&~N
?1 site s'aIt
?2 site s'aItSi
?1 software s'Oft,w'Er-
símbolo s'imbolU
?4 símbolo s'iNbolU
?2 software s'Oftwe@-
?1 space sp'eIsy
?1 sporting sp'Ort,ing

+ 10
- 9
dictsource/pt_rules View File

@@ -793,6 +793,7 @@
ale) x (a S
_fa) x (i S
_li) x (A S
_lu) x (A S
má) x (im s // máximo, máximas, etc.
me) x (A S
pro) x (i s // aproximado, aproximadamente, aproximar, etc.
@@ -837,16 +838,16 @@
ü u
ß s

% pors'eNtu
% pors'eINtU
$ sifR'&U~
_r_) $
− m'enus
+ maIs
− m'enUs
+ maIs#
& 'e
@ ax'ob&
¤ 'eU*u
€ 'eU*u
§ pa*'agR,afu
@ &x'ob&
¤ 'eU*U
€ 'eU*U
§ p&*'agRafU

D_) º %o // ordinal
D_) ª %a // ordinal
@@ -854,7 +855,7 @@

// don't speak multiple occurances of these symbols
, (D v'irgul&
. p'oNtu
. p'oNtU
. (. _:
\.) .

@@ -863,7 +864,7 @@
**
**) * (_ _::

__) - (_D m'enus
__) - (_D m'enUs
A_) - (_D _
C_) - (_D _
--) -

+ 2
- 1
espeak-data/voices/fr View File

@@ -3,4 +3,5 @@ name french
gender male

dictrules 1
intonation 2
intonation 3


+ 1
- 1
espeak-data/voices/fr-be View File

@@ -3,5 +3,5 @@ name french (Belgium)
gender male

dictrules 2
intonation 2
intonation 3


+ 147
- 15
phsource/compile_report View File

@@ -1,4 +1,4 @@
47 phoneme tables
51 phoneme tables
new total
base 98 98
base2 24 117
@@ -15,18 +15,18 @@
eo 13 110
jbo 4 111
fi 40 129
fr 54 133
fr_ca 11 133
fr 54 134
fr_ca 11 134
hi 51 135
ta 17 138
hu 23 114
nl 28 121
pl 15 109
sk 29 127
cs 6 127
hr 26 132
mk 3 133
sr 14 132
pl 18 111
sk 29 129
cs 6 129
hr 26 133
mk 3 134
sr 14 133
ru 39 129
it 17 120
la 21 116
@@ -47,6 +47,10 @@
tr 18 122
ku 18 122
id 15 119
rw 15 124
ko 18 145
da 15 128
sq 12 122

Data file Used by
b/b [b] base
@@ -173,6 +177,7 @@ dzh/dz_pzd [J] base
[J2] hi
[J] tr
[J] ku
[J] sq
dzh/dz_pzd_ [J] base
[J2] hi
dzh/xdzh [dZ] base
@@ -186,6 +191,7 @@ dzh/xdzh [dZ] base
dzh/xdz_pzd [J] base
[J2] hi
envelope/i_risefall [11] zh
envelope/i_risefall2 [+2] rw
envelope/p_214 [214] zh
envelope/p_512 [8] vi
envelope/p_fall [2] vi
@@ -197,6 +203,7 @@ envelope/p_fall [2] vi
[22] zh
[33] zh
[53] zh
[+] rw
envelope/p_fallrise [4] vi
envelope/p_level [1] vi
[3] zhy
@@ -274,7 +281,6 @@ j2/j2o [(o)] base
j2/j2u [(u)] base
j2/xj2 [(i)] base
j/_j [j] base
[j] fr
[j] zh
j/j_ [j/] base
j/j@ [(@)] base
@@ -328,12 +334,21 @@ l/_l [l] base
l/l_ [l/] base
[l/] fr
l/l@ [(@)] base
[W] fr
[Y] fr
[W2] fr
l/L1_aL [(a)] base
l/L1_eL [(e)] base
l/L1_iL [(i)] base
[i] fr
[i:] fr
l/L1_@L [(@)] base
l/L1_oL [(o)] base
[o2] fr
l/L1_uL [(u)] base
[u] fr
[y] fr
[u:] fr
l/L2_aL [(a)] base
l/L2_eL [(e)] base
l/L2_iL [(i)] base
@@ -346,11 +361,19 @@ l/L2_uL [(u)] base
[u:] en_n
[u:] en_rp
l/l_3 [l/] de
l/l_4 [ll] sq
l/la [(a)] base
[a] fr
[a2] fr
l/le [(e)] base
[E] fr
[e] fr
[E2] fr
l/L_eL_af [&] af
[&:] af
l/li [(i)] base
[i] fr
[i:] fr
[l] zh
l/l_long [l] base
[l] fr
@@ -358,8 +381,18 @@ l/l_long [l] base
[l] la
[l;] ro
l/lo [(o)] base
[O] fr
[o] fr
[O2] fr
[o2] fr
[w^a] fr
l^/l_rfx [l.] hi
[l.] sq
l/lu [(u)] base
[u] fr
[y] fr
[u:] fr
[w^i] fr
l/tl [l] base
[l] en
[l] en_wi
@@ -377,6 +410,17 @@ l/xl [(@)] base
[(i)] base
[(o)] base
[(u)] base
[@] fr
[E] fr
[O] fr
[W] fr
[Y] fr
[a] fr
[e] fr
[@2] fr
[W2] fr
[w^a] fr
[w^i] fr
m/_m [m] base
[m;] ru
[m;] ro
@@ -401,11 +445,13 @@ n^/n^#_ [n^#] is
n/_n [n] base
[n;] ro
[n] zh
[n] da
n/n_ [n] base
[n2] fr
[n;] ro
n/n@ [(@)] base
n/n#_ [n#] is
[n] da
n^/n^a [(a)] base
n/na [(a)] base
n^/n^e [(e)] base
@@ -418,6 +464,7 @@ n/nj [n] base
[n.] base
[n^] base
[n;] ro
[n] da
n/n_long_ [n] zh
nn/_nn [N] base
[N] en
@@ -498,7 +545,10 @@ r3/rx [*] base
r3/rz_cs [R^] sk
[R^/] sk
r3/@tap [**] base
[r] ko
r3/@tap2 [**] base
[r] ko
r/a_ [r] da
r/r [r] base
[r-] base
[r] en_sc
@@ -551,6 +601,31 @@ r/xr [(@)] base
[(i)] base
[(o)] base
[(u)] base
[@] fr
[E] fr
[O] fr
[W] fr
[Y] fr
[a] fr
[e] fr
[i] fr
[o] fr
[u] fr
[y] fr
[@2] fr
[E2] fr
[O2] fr
[W2] fr
[a2] fr
[o2] fr
[i:] fr
[u:] fr
[A~] fr
[E~] fr
[O~] fr
[W~] fr
[w^a] fr
[w^i] fr
ufric/ch [C] base
[J^] base
[C2] de
@@ -558,10 +633,12 @@ ufric/ch_sr [h] sr
[x] sr
ufric/f [f] base
[pF] de
[f] pl
[f;] ro
[f] grc
[f] zh
ufric/f_ [f] base
[f] pl
[f;] ro
ufric/ll [L] base
[l#] is
@@ -570,6 +647,7 @@ ufric/s [s] base
[z2] fr
[s] es
[s#] pt
[s`] ko
ufric/s_ [s] base
[z] base
[s2] fi
@@ -602,6 +680,7 @@ ufric/sh3 [S] hr
[Z] hr
ufric/sh_pzd [S;] base
[S;] ro
[s`] ko
ufric/sh_pzd_ [S;] base
[Z;] base
ufric/sh_pzd2 [S] sr
@@ -647,6 +726,7 @@ ustop/k_ [k] base
[k] el
[kh] zh
[k] sw
[k] sq
ustop/ki [c] base
[k] base
[k] base2
@@ -664,6 +744,8 @@ ustop/ki [c] base
[c] tr
[J] ku
[c] ku
[J] sq
[c] sq
ustop/kl [k] base
[k] base2
[k] en
@@ -694,6 +776,8 @@ ustop/k_unasp [k] base
[k] sk
[k] el
[k] zhy
[k`] ko
[k] sq
ustop/k_unasp_ [k] zh
ustop/null [?] base
ustop/p [p] base
@@ -717,6 +801,7 @@ ustop/pl [p] base
[p] sk
[p] la
[p;] ro
[p] sq
ustop/pr [p] base
[p] base2
[p] fi
@@ -736,6 +821,8 @@ ustop/p_unasp [p] base
[p] la
[p;] ro
[p] zh
[p`] ko
[p] sq
ustop/p_unasp_ [p] base2
[p] fi
[p] hi
@@ -743,6 +830,7 @@ ustop/p_unasp_ [p] base2
[p] sk
[p] la
[p;] ro
[p] sq
ustop/q [q] base
ustop/q_u [q] base
ustop/t [t] base
@@ -759,6 +847,7 @@ ustop/t_ [t] base
[t] sk
[t] el
[th] zh
[t] sq
ustop/t_dnt [t] base
[t[] base
[t] base2
@@ -772,6 +861,7 @@ ustop/t_dnt [t] base
[t;] ro
[t[] vi
[t] sw
[t`] ko
ustop/t_dnt2 [t[] vi
ustop/t_hi [t] hi
[th] hi
@@ -803,6 +893,7 @@ ustop/t_short [t] fr
[t.] hi
[t] sk
[t] el
[t] sq
ustop/tsh_pzd [tS;] zh
ustop/tsh_pzd_unasp [tS;] zh
ustop/tsh_sr [tS] sr
@@ -814,6 +905,7 @@ ustop/ts_pzd_ [c] hi
[c] hu
ustop/ts_pzd2 [c] hi
[c] hu
[c`] ko
ustop/ts_pzd3 [tS;] hr
[dZ;] hr
ustop/t_sr [d] sr
@@ -873,8 +965,10 @@ vdiph2/uw [u:] en_us
vdiph2/uw_2 [u:] en
vdiph2/uw_3 [yU] ro
vdiph2/uw_4 [u:] en_n
vdiph2/uw_6 [y] ko
vdiph2/y@ [y@] zh
vdiph2/y#@ [Y@] af
vdiph2/yE [yE] sq
vdiph2/yu [yU] nl
[yu] zh
vdiph2/y-y# [yY] fi
@@ -1037,6 +1131,7 @@ vdiph/yi [yi] fi
vdiph/y#i [Yi] fi
vdiph/y#i_2 [Yy] is
vdiph/yi_fr [w^i] fr
[ji] ko
vdiph/y#y [Yy] fi
vdiph/y#y_2 [Yy] af
[eoi] zhy
@@ -1159,6 +1254,7 @@ vowel/@ [@] base
[@] en_rp
[V] cy
[@4] hi
[@] sq
vowel/@- [@-] base
[r*] hr
vowel/& [a] en_rp
@@ -1206,7 +1302,6 @@ vowel/a [a] en_n
[a] ta
[a:] hu
[a:] nl
[a] pl
[a] sk
[a:] sk
[A] hr
@@ -1214,12 +1309,15 @@ vowel/a [a] en_n
[a] it
[a] zh
[a] id
[a] ko
vowel/a# [a/] base2
[a2] en_sc
[a2] en_wi
[&] sr
[&] pt
[&/] pt
[a#] rw
[a/] rw
vowel/a_2 [a] base2
[a] en_wi
[A:] en_wi
@@ -1230,6 +1328,8 @@ vowel/a_2 [a] base2
[a] pt_pt
[a] ro
[a:] vi
[a] rw
[a] da
vowel/a#_2 [&] hr
[a2] sv
[&] is
@@ -1242,6 +1342,7 @@ vowel/a_3 [a] en_sc
[a:] la
[a] is
[A] zh
[A] da
vowel/a#_3 [a2] en
[a2] en_n
[a2] en_us
@@ -1289,9 +1390,11 @@ vowel/aa_6 [A] de
vowel/aa_7 [A] nl
vowel/aa_8 [0] en_us
[A:] en_us
[V] ko
vowel/a_en [a] en
[aa] en
[A] fr
[a] pl
vowel/@_bck [@] hi
[@] zh
vowel/e [e] base2
@@ -1315,6 +1418,10 @@ vowel/e [e] base2
[e] grc
[e] vi
[e] id
[e] rw
[e#] rw
[e] ko
[e] da
vowel/e# [I] en_sc
[I2] en_sc
vowel/e_2 [eI] en_sc
@@ -1331,6 +1438,7 @@ vowel/ee [E] pl
[E] sv
vowel/e_e [E] en_sc
[e] is
vowel/ee# [E#] pl
vowel/ee_1 [E] base2
[e@] en
[e@] en_n
@@ -1345,6 +1453,7 @@ vowel/ee_2 [E] en
[E2] nl
[E] zh
[E#] ku
[&] da
vowel/ee#_2 [E-] sv
vowel/ee_3 [&] af
[&:] af
@@ -1357,7 +1466,7 @@ vowel/ee_6 [E] en_n
vowel/e_mid [E] en_rp
[e] jbo
[E] fr
[E~] fr
[E2] fr
[E] fr_ca
[E] hi
[E] hu
@@ -1372,6 +1481,8 @@ vowel/e_mid [E] en_rp
[E] tr
[E] id
[E2] id
[E] da
[E] sq
vowel/e_mid2 [E] af
[E] de
[E2] de
@@ -1384,6 +1495,7 @@ vowel/e_mid2 [E] af
[e] el
[e] sw
[e] tr
[E] ko
vowel/@_fnt [@] en_wi
[@2] en_wi
[@2] hr
@@ -1399,7 +1511,6 @@ vowel/i [i] base2
[I] fr
[i:] ta
[i:] hu
[i] pl
[i] it
[i] pt_pt
[i/] ro
@@ -1408,6 +1519,9 @@ vowel/i [i] base2
[i] zhy
[i] zh
[i] sw
[i] rw
[i#] rw
[i] ko
vowel/i# [i] en_rp
[y:] cy
vowel/i_2 [i:] en_rp
@@ -1424,6 +1538,7 @@ vowel/i_4 [i] fi
[i] hu
[I] it
[i] is
[i] da
vowel/i_5 [i:] en_sc
vowel/i#_5 [y] pt_pt
[i/] pt_pt
@@ -1434,6 +1549,7 @@ vowel/i_6 [i] ta
[i] ku
[i] id
vowel/i#_6 [i.] zh
vowel/i_7 [i] pl
vowel/i#_7 [i[] zh
vowel/i_en [i:] en
[i:] en_us
@@ -1460,6 +1576,7 @@ vowel/ii_2 [i] zh
vowel/ii_3 [I] cy
[I] fi
[I] hi
[I] pl
[i] sk
[I] hr
[I] sv
@@ -1509,12 +1626,16 @@ vowel/o [o] base2
[o] grc
[o:] sv
[o] id
[o] rw
[o#] rw
vowel/o_2 [o:] cy
[o2] fr
[o:] hi
[o:] hu
[o:] la
[o:] no
[o] ko
[o] da
vowel/o-_2 [V] en_n
[V] en_wm
vowel/o_3 [oU] en_sc
@@ -1523,11 +1644,13 @@ vowel/o-_3 [U] en_rp
vowel/o_4 [oU] en_n
vowel/o-_4 [o] ro
vowel/o_5 [O] nl
[O] da
vowel/o_6 [O:] nl
vowel/o_7 [o] ku
vowel/oe [W] en
[W] af
[W] de
[W] da
vowel/oe_2 [W] no
[W] tr
vowel/oe_4 [W] sv
@@ -1564,15 +1687,16 @@ vowel/oo_1 [O:] en_n
vowel/oo_2 [0] en_sc
[O] cy
[o] cs
[0] da
vowel/oo_3 [O] af
vowel/oo_4 [O] base2
[0] en_wm
[V] en_wi
[3:] en_wi
[O:] hi
[O] pl
[O] it
vowel/oo_5 [O] is
vowel/oo_5 [O] pl
[O] is
vowel/oo_en [O] en
[O:] en
[O@] en
@@ -1641,6 +1765,9 @@ vowel/u_bck [u] base2
[u] is
[u] zhy
[u] zh
[u] rw
[u#] rw
[u] ko
vowel/u_bck2 [u:] la
vowel/u_fnt [u:] en_rp
vowel/uu [U] en
@@ -1661,6 +1788,7 @@ vowel/uu_bck [U] en_n
[U] pt
[U] no
[u] zhy
vowel/u_unr [u-] ko
vowel/V [3] en_sc
vowel/V_2 [V] en
[a] af
@@ -1672,6 +1800,7 @@ vowel/V_3 [V] en_rp
[V] ta
vowel/V_4 [V] en_sc
[@:] vi
[V] da
vowel/V_6 [V] en_us
vowel/y [y:] en
[y:] de
@@ -1680,6 +1809,7 @@ vowel/y [y:] en
[y] nl
[y] la
[yu] zhy
[y] sq
vowel/y# [Y:] en
[3:] en_wm
[Y:] de
@@ -1690,6 +1820,7 @@ vowel/y# [Y:] en
[Y] ro
[y] vi
[oe] zhy
[Y] ko
vowel/y## [y#] is
vowel/y_2 [y] fr
[y"] fr
@@ -1705,6 +1836,7 @@ vowel/y_5 [y:] sv
[y] ku
vowel/yy [y"] fr_ca
[y] no
[Y] da
vowel/yy_3 [y] sv
vowel/yy_4 [y] de
[y] hu

+ 1
- 1
phsource/ph_finnish View File

@@ -5,7 +5,7 @@

phoneme : // Lengthen previous vowel by "length"
virtual
length 150
length 160
endphoneme



+ 109
- 33
phsource/ph_french View File

@@ -12,6 +12,8 @@ phoneme @
vowel starttype (@) endtype (@)
length 170
formants vowel/@_hgh
before l/ DFT-30+l/xl+20
before (r) DFT-50+r/xr
endphoneme


@@ -19,6 +21,8 @@ phoneme @2
vowel starttype (@) endtype (@)
length 150
formants vowel/@_fr
before l/ DFT-30+l/xl+20
before (r) DFT-50+r/xr
endphoneme


@@ -26,6 +30,10 @@ phoneme a
vowel starttype (a) endtype (a)
length 170
formants vowel/a_5
after l l/la-15
before l/ DFT-20+l/xl
before (r) DFT-40+r/xr
before r/ DFT-30+r/xr
reduceto a2 1
endphoneme

@@ -34,6 +42,9 @@ phoneme a2
vowel starttype (a) endtype (a)
length 150
formants vowel/a_5
after l l/la-15
before (r) DFT-40+r/xr
before r/ DFT-20+r/xr
endphoneme


@@ -41,6 +52,9 @@ phoneme e
vowel starttype (e) endtype (e)
length 172
formants vowel/e
after l l/le-15
before l/ DFT-20+l/xl
before (r) DFT-50+r/xr
endphoneme


@@ -48,6 +62,21 @@ phoneme E
vowel starttype (e) endtype (e)
length 175
formants vowel/e_mid
after l l/le-15
before l/ DFT-20+l/xl
before (r) DFT-50+r/xr
before r/ DFT-40
reduceto E2 1
endphoneme


phoneme E2
vowel starttype (e) endtype (e)
length 175
formants vowel/e_mid
after l l/le-15
before (r) DFT-50+r/xr
before r/ DFT-20
endphoneme


@@ -56,6 +85,10 @@ phoneme i
length 150
formants vowel/i_3
linkout ;
after l l/li-15
before l/ DFT-20+l/L1_iL-80
before (r) DFT-40+r/xr
before r/ DFT-20+r/xr-25
endphoneme


@@ -64,19 +97,10 @@ phoneme i: // longer than i
length 240
formants vowel/i_3
linkout ;
endphoneme


phoneme j
liquid
palatal
length 100
beforenotvowel j/
formants NULL
after _ j/_j
after v NULL
lengthmod 7
// beforevowel i
after l l/li-15
before l/ DFT-20+l/L1_iL-80
before (r) DFT-40+r/xr
before r/ DFT-20+r/xr-25
endphoneme


@@ -84,6 +108,8 @@ phoneme o
vowel starttype (o) endtype (o)
length 170
formants vowel/o_3
after l l/lo-10
before (r) DFT-50+r/xr
endphoneme


@@ -91,6 +117,9 @@ phoneme o2
vowel starttype (o) endtype (o)
length 170
formants vowel/o_2
after l l/lo-10
before l/ DFT-20+l/L1_oL-80
before (r) DFT-50+r/xr
endphoneme


@@ -98,6 +127,10 @@ phoneme O
vowel starttype (o) endtype (o)
length 170
formants vowel/o_mid
after l l/lo-10
before l/ DFT-10+l/xl
before (r) DFT-50+r/xr
before r/ DFT-25+r/xr-20
reduceto o 1
endphoneme

@@ -106,6 +139,9 @@ phoneme O2 // Like O but no reduceto
vowel starttype (o) endtype (o)
length 170
formants vowel/o_mid
after l l/lo-10
before (r) DFT-50+r/xr
before r/ DFT-40+r/xr-10
endphoneme


@@ -113,6 +149,10 @@ phoneme u
vowel starttype (u) endtype (u)
length 180
formants vowel/u_3
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before (r) DFT-50+r/xr
before r/ DFT+r/xr-40
endphoneme


@@ -120,6 +160,10 @@ phoneme u: // slitely longer than u
vowel starttype (u) endtype (u)
length 220
formants vowel/u_3
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before (r) DFT-50+r/xr
before r/ DFT+r/xr-40
endphoneme


@@ -127,6 +171,10 @@ phoneme y
vowel starttype (u) endtype (u)
length 170
formants vowel/y_2
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before (r) DFT-40+r/xr
before r/ DFT+r/xr-30
endphoneme


@@ -134,6 +182,10 @@ phoneme Y
vowel starttype (@) endtype (@)
length 170
formants vowel/y#
after l l/l@-20
before l/ DFT-40+l/xl+15
before (r) DFT-40+r/xr
before r/ DFT+r/xr-40
endphoneme


@@ -141,6 +193,10 @@ phoneme W
vowel starttype (@) endtype (@)
length 180
formants vowel/@_5
after l l/l@-20
before l/ DFT-40+l/xl+15
before (r) DFT-50+r/xr
before r/ DFT-20+r/xr-30
reduceto Y 1
endphoneme

@@ -149,6 +205,10 @@ phoneme W2 // same as W but don't reduce
vowel starttype (@) endtype (@)
length 180
formants vowel/@_3
after l l/l@-20
before l/ DFT-40+l/xl+15
before (r) DFT-50+r/xr
before r/ DFT+r/xr-40
endphoneme


@@ -156,6 +216,10 @@ phoneme w^a
vowel starttype (o) endtype (a)
length 240
formants vwl_fr/w_a
after l l/lo-10
before l/ DFT-10+l/xl
before (r) DFT-50+r/xr
before r/ DFT-25+r/xr-15
endphoneme


@@ -163,15 +227,19 @@ phoneme w^i
vowel starttype (u) endtype (i)
length 220
formants vdiph/yi_fr
after l l/lu-20
before l/ DFT-20+l/xl
before (r) DFT-50+r/xr
before r/ DFT+r/xr-30
endphoneme




phoneme A~
vowel starttype (a) endtype (a)
length 210
length 190
formants vnasal/aa_n2
before (r) DFT-30+r/xr
before r/ DFT+r/xr-40
endphoneme


@@ -179,15 +247,17 @@ phoneme E~ // same as W~ for fr-fr
vowel starttype (e) endtype (e)
length 200
formants vnasal/W_n
before n2 vowel/e_mid
before n2 DFT-100
before (r) DFT-50+r/xr
endphoneme


phoneme O~
vowel starttype (o) endtype (o)
length 220
length 200
formants vnasal/o_n3
before n2 vowel/o_mid
before (r) DFT-30+r/xr
endphoneme


@@ -195,6 +265,7 @@ phoneme W~
vowel starttype (@) endtype (@)
length 204
formants vnasal/W_n
before (r) DFT-50+r/xr
endphoneme


@@ -257,6 +328,7 @@ phoneme d
formants d/d+x/d%40
before _ d/d_+x/d_%50
before (r) d/dr+x/d%50
before r/ d/dr+x/d%50
after _ d/d+x/d%50
after @ d/xd
lengthmod 5
@@ -285,7 +357,9 @@ phoneme k
wave ustop/k%40 // reduce strength of noise burst
before _ ustop/k_
before (r) ustop/kr%45
before r/ ustop/kr%45
before l ustop/kl%45
before l/ ustop/kl%45
before (i) ustop/ki%45
switchvoicing g
endphoneme
@@ -332,8 +406,8 @@ phoneme p
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 brk
lengthmod 2
wave ustop/p%60
before _ ustop/p_%70
after _ ustop/p%70
before _ ustop/p_%70
before (r) ustop/pr%60
before @- ustop/p_unasp%60
before l ustop/pl%60
@@ -354,10 +428,10 @@ endphoneme

phoneme r
vcd rfx frc starttype (r) endtype (r)
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=0 rms=30
vowelout f1=0 f2=800 -50 50 f3=-100 100 len=0 brk
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
vowelout f1=0 f2=800 -50 50 f3=-100 80 len=40
length 100
lengthmod 3
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R3+r3/rx%40
after t r/tr
@@ -369,10 +443,10 @@ endphoneme

phoneme r2 // silent unless followed by vowel
vcd rfx frc starttype (r) endtype (r)
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=0 rms=30
vowelout f1=0 f2=600 -100 100 f3=-100 100 len=0 brk
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
vowelout f1=0 f2=600 -100 100 f3=-100 100 len=40
length 100
lengthmod 3
lengthmod 7
beforenotvowel NULL
formants vwl_fr/@R3+r3/rx%40
before _ r/r
@@ -381,25 +455,26 @@ endphoneme

phoneme R
vcd rfx frc starttype (r) endtype (r)
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=0 rms=30
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
length 100
lengthmod 3
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R3+r3/rx%40
// after r r/rr
endphoneme

phoneme r/ // variant of [r] when not preceding a vowel
vcd rfx frc starttype (r) endtype (r)
vowelout f1=0 f2=800 -50 50 f3=-100 100 len=0 brk
vcd rfx frc
vowelout f1=0 f2=800 -50 50 f3=-100 100 len=40
length 100
lengthmod 2
formants r3/r_2+r3/rx%40
before n r3/r_n+r3/rx%50
after _ r/rr
after t r/trr
after p r/trr
after k r/trr
after t r/trr+r3/rx
after p r/trr+r3/rx
after k r/trr+r3/rx
before n r3/r_n+r3/rx%50
beforevowel r
endphoneme


@@ -437,6 +512,7 @@ phoneme t
lengthmod 2
wave ustop/t_short%50
before _ ustop/t_%40
before r/ ustop/t_short%50
before (r) ustop/t_short%50
switchvoicing d
endphoneme

+ 28
- 3
phsource/ph_polish View File

@@ -7,7 +7,7 @@
phoneme a
vowel starttype (a) endtype (a)
length 190
formants vowel/a
formants vowel/a_en
endphoneme


@@ -19,10 +19,24 @@ phoneme E
endphoneme


phoneme E#
vowel starttype (e) endtype (e)
length 180
formants vowel/ee#
endphoneme


phoneme i
vowel starttype (i) endtype (i)
length 170
formants vowel/i
formants vowel/i_7
linkout ;
endphoneme

phoneme I
vowel starttype (i) endtype (i)
length 170
formants vowel/ii_3
linkout ;
endphoneme

@@ -30,7 +44,7 @@ endphoneme
phoneme O
vowel starttype (o) endtype (o)
length 180
formants vowel/oo_4
formants vowel/oo_5
endphoneme


@@ -133,3 +147,14 @@ phoneme w
after _ w/w2
endphoneme


phoneme f
vls lbd frc
vowelout f1=0 f2=1000 -500 -350 f3=-200 80
lengthmod 3
wave ufric/f%140
before s ufric/f%200
before _ ufric/f_
switchvoicing v
endphoneme


+ 12
- 0
phsource/phonemes View File

@@ -1275,3 +1275,15 @@ include ph_kurdish
phonemetable id base2
include ph_indonesian


phonemetable rw base2
include ph_kinyarwanda

phonemetable ko hi
include ph_korean

phonemetable da is
include ph_danish

phonemetable sq es
include ph_albanian

BIN
phsource/vowel/ee# View File


BIN
phsource/vowel/i_7 View File


BIN
phsource/vwl_fr/@R3 View File


+ 1
- 1
src/espeakedit.cpp View File

@@ -363,7 +363,7 @@ void OnOptions2(int event_id)
switch(event_id)
{
case MENU_PARAMS:
value = wxGetNumberFromUser(_T(""),_T(""),_T("Speed"),option_speed,80,320);
value = wxGetNumberFromUser(_T(""),_T(""),_T("Speed"),option_speed,80,390);
if(value > 0)
{
option_speed = value;

+ 3
- 3
src/synth_mbrola.cpp View File

@@ -608,7 +608,7 @@ void MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, FILE *f_mbrola)
if(name2 == '_')
{
// add a pause after this phoneme
pause = PauseLength(len_percent);
pause = PauseLength(len_percent,0);
name2 = 0;
}

@@ -653,7 +653,7 @@ void MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, FILE *f_mbrola)
else
len = DoSample(p->ph,phoneme_tab[phonPAUSE],2,0,-1);
len = (len * 1000)/samplerate; // convert to mS
len += PauseLength(p->prepause);
len += PauseLength(p->prepause,1);
break;

case phVSTOP:
@@ -704,7 +704,7 @@ void MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, FILE *f_mbrola)

if(pause)
{
sprintf(buf,"_ \t%d\n",PauseLength(pause));
sprintf(buf,"_ \t%d\n",PauseLength(pause,0));
strcat(mbr_buf,buf);
pause = 0;
}

+ 1
- 1
src/synthdata.cpp View File

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

const char *version_string = "1.38 22.Aug.08";
const char *version_string = "1.38.03 01.Sep.08";
const int version_phdata = 0x013800;

int option_device_number = -1;

+ 19
- 13
src/synthesize.cpp View File

@@ -185,20 +185,26 @@ static void DoPitch(unsigned char *env, int pitch1, int pitch2)



int PauseLength(int pause)
{//=======================
int PauseLength(int pause, int control)
{//====================================
int len;
len = (pause * speed_factor1)/256;

if(control == 0)
len = (pause * speed_factor1)/256;
else
len = (pause * speed_factor2)/256;

if(len < 5) len = 5; // mS, limit the amount to which pauses can be shortened
return(len);
}


static void DoPause(int length)
{//============================
static void DoPause(int length, int control)
{//=========================================
// control = 1, less shortening at fast speeds
int len;

len = PauseLength(length);
len = PauseLength(length, control);

len = (len * samplerate) / 1000; // convert from mS to number of samples

@@ -617,7 +623,7 @@ static short vcolouring[N_VCOLOUR][5] = {
}

if(flags & 0x40)
DoPause(12); // add a short pause after the consonant
DoPause(12,0); // add a short pause after the consonant

if(flags & 16)
return(len);
@@ -1045,7 +1051,7 @@ static void DoEmbedded(int &embix, int sourceix)
{
if(soundicon_tab[value].length != 0)
{
DoPause(10); // ensure a break in the speech
DoPause(10,0); // ensure a break in the speech
wcmdq[wcmdq_tail][0] = WCMD_WAVE;
wcmdq[wcmdq_tail][1] = soundicon_tab[value].length;
wcmdq[wcmdq_tail][2] = (long)soundicon_tab[value].data + 44; // skip WAV header
@@ -1064,7 +1070,7 @@ static void DoEmbedded(int &embix, int sourceix)
break;

default:
DoPause(10); // ensure a break in the speech
DoPause(10,0); // ensure a break in the speech
wcmdq[wcmdq_tail][0] = WCMD_EMBEDDED;
wcmdq[wcmdq_tail][1] = command;
wcmdq[wcmdq_tail][2] = value;
@@ -1168,7 +1174,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
EndAmplitude();

if(p->prepause > 0)
DoPause(p->prepause);
DoPause(p->prepause,1);

if(option_phoneme_events && (p->type != phVOWEL))
{
@@ -1179,7 +1185,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
switch(p->type)
{
case phPAUSE:
DoPause(p->length);
DoPause(p->length,0);
break;

case phSTOP:
@@ -1229,7 +1235,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
DoSpect(p->ph,phoneme_tab[phonSCHWA],next->ph,1,p,0);
if(p->synthflags & SFLAG_LENGTHEN)
{
DoPause(20);
DoPause(20,0);
DoSpect(p->ph,phoneme_tab[phonSCHWA],next->ph,1,p,0);
}
}
@@ -1237,7 +1243,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
{
if(p->synthflags & SFLAG_LENGTHEN)
{
DoPause(50);
DoPause(50,0);
}
}


+ 2
- 2
src/synthesize.h View File

@@ -260,7 +260,7 @@ extern const char *version_string;
extern const int version_phdata;

#define N_SOUNDICON_TAB 80 // total entries in soundicon_tab
#define N_SOUNDICON_SLOTS 4 // number of slots reserved for dynamic loading of autio files
#define N_SOUNDICON_SLOTS 4 // number of slots reserved for dynamic loading of audio files
extern int n_soundicon_tab;
extern SOUND_ICON soundicon_tab[N_SOUNDICON_TAB];

@@ -273,7 +273,7 @@ int MbrolaSynth(char *p_mbrola);
int DoSample(PHONEME_TAB *ph1, PHONEME_TAB *ph2, int which, int length_mod, int amp);
int DoSpect(PHONEME_TAB *this_ph, PHONEME_TAB *prev_ph, PHONEME_TAB *next_ph,
int which, PHONEME_LIST *plist, int modulation);
int PauseLength(int pause);
int PauseLength(int pause, int control);
int LookupPhonemeTable(const char *name);

void InitBreath(void);

+ 10
- 4
src/tr_languages.cpp View File

@@ -276,7 +276,7 @@ Translator *SelectTranslator(const char *name)
case L('f','i'): // Finnish
{
static const unsigned char stress_amps_fi[8] = {18,16, 22,22, 20,22, 22,22 };
static const short stress_lengths_fi[8] = {150,170, 200,200, 0,0, 210,250};
static const short stress_lengths_fi[8] = {150,180, 200,200, 0,0, 210,250};

tr = new Translator();
SetupTranslator(tr,stress_lengths_fi,stress_amps_fi);
@@ -284,7 +284,7 @@ Translator *SelectTranslator(const char *name)
tr->langopts.stress_rule = 0;
tr->langopts.stress_flags = 0x56; // move secondary stress from light to a following heavy syllable
tr->langopts.param[LOPT_IT_DOUBLING] = 1;
tr->langopts.long_stop = 140;
tr->langopts.long_stop = 130;

tr->langopts.numbers = 0x1809;
SetLetterVowel(tr,'y');
@@ -568,8 +568,8 @@ SetLengthMods(tr,3); // all equal

case L('p','l'): // Polish
{
static const short stress_lengths_pl[8] = {160, 180, 175, 175, 0, 0, 260, 290};
static const unsigned char stress_amps_pl[8] = {17,14, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable
static const short stress_lengths_pl[8] = {160, 190, 175, 175, 0, 0, 200, 210};
static const unsigned char stress_amps_pl[8] = {17,13, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable

tr = new Translator();
SetupTranslator(tr,stress_lengths_pl,stress_amps_pl);
@@ -671,6 +671,12 @@ SetLengthMods(tr,3); // all equal
}
break;

case L('s','q'): // Albanian
tr = new Translator();
SetLetterVowel(tr,'y');
break;


case L('s','v'): // Swedish
{
static const unsigned char stress_amps_sv[] = {16,16, 20,20, 20,24, 24,22 };

+ 2
- 0
src/translate.cpp View File

@@ -399,6 +399,8 @@ int IsDigit(unsigned int c)

int IsSpace(unsigned int c)
{//========================
if(c == 0)
return(0);
if(wcschr(chars_space,c))
return(1);
return(iswspace(c));

+ 19
- 0
src/wave_sada.cpp View File

@@ -188,6 +188,25 @@ size_t wave_write(void* theHandler,
SHOW_TIME("wave_write > my_callback_is_output_enabled: no!");
return 0;
}

#if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN
{
// BIG-ENDIAN, swap the order of bytes in each sound sample
int c;
char *out_ptr;
char *out_end;
out_ptr = (char *)theMono16BitsWaveBuffer;
out_end = out_ptr + theSize;
while(out_ptr < out_end)
{
c = out_ptr[0];
out_ptr[0] = out_ptr[1];
out_ptr[1] = c;
out_ptr += 2;
}
}
#endif

num = write((int) theHandler, theMono16BitsWaveBuffer, theSize);

// Keep track of the total number of samples sent -- we use this in

Loading…
Cancel
Save