Browse Source

[1.39.04]

Reduce pause when announcing punctuation.
Fix crash for list of numbers in some languages, eg: "22,23,24,25,26,27..."
Recognise XLL (etc) is not a valid Roman number.
espeak_Cancel(), reset punctuation echo.
Don't permanently change option_phoneme_input after using [[ ]] internally.
lang=af: Only recognise word "'n" as [@] when followed by a space. 


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

+ 24
- 4
dictsource/af_list View File

alaska al'aska alaska al'aska
algerië alx2'e@re@:@- algerië alx2'e@re@:@-
antwerpen antv&rp@n antwerpen antv&rp@n
asië A:si@
babilon babilOn babilon babilOn
bangladesh baNglad'ES bangladesh baNglad'ES
bastille bast'il bastille bast'il
bellevue b&lvju:
berlyn $2 berlyn $2
bermuda $2 bermuda $2
bethlehem bEt_liEm bethlehem bEt_liEm
boedapest budapEst
boekarest bukarEst boekarest bukarEst
bonnievale _^_EN bonnievale _^_EN
brittanje $2 brittanje $2
constantia $2 constantia $2
christiana kr@stij'A:na christiana kr@stij'A:na
damaskus d@maskWs damaskus d@maskWs
doebaai $2
duitswes dYytsv'Es duitswes dYytsv'Es
ermelo &rm@lo@ ermelo &rm@lo@
franschhoek frA~nsh'uk franschhoek frA~nsh'uk
kimberley kimb@rli kimberley kimb@rli
kongo kONgu kongo kONgu
knysna neIsna knysna neIsna
kuruman kuruman
kwa kwa $u $only // KwaZulu, etc.
lesotho l@sutu lesotho l@sutu
limpopo l@mpo@po@ limpopo l@mpo@po@
macedonië mas@d'o@ni@ macedonië mas@d'o@ni@
milaan $2 milaan $2
mesopotamië mEsuput'A:mi@ mesopotamië mEsuput'A:mi@
montagu mOnt@ky montagu mOnt@ky
moreletapark mOr@l,Etap'ark
moorreesburg mur'e@sbWrx2 moorreesburg mur'e@sbWrx2
mosambiek musamb'ik mosambiek musamb'ik
(thaba nchu) tab'A:||ntSu (thaba nchu) tab'A:||ntSu
portugal $1 portugal $1
potchefstroom pOtSIfstr'o@m potchefstroom pOtSIfstr'o@m
robertson _^_EN robertson _^_EN
sahara sah'A:ra
secunda s@kunda
senekal se@n@kal senekal se@n@kal
singapoer siNgapur singapoer siNgapur
soweto suw'E:tu soweto suw'E:tu
vesuvius v@su:viWs vesuvius v@su:viWs
viëtnam vj'Etnam viëtnam vj'Etnam
wallonië val'o@ni@ wallonië val'o@ni@
washington _^_EN
wellington wEliNt@n wellington wEliNt@n
wolseley wulsli wolseley wulsli
worcester v'ust@r worcester v'ust@r
uganda ug'anda uganda ug'anda
zimbabwe zI:mb'ab_wE zimbabwe zI:mb'ab_wE
zulu zulu // Kwazulu-Natal




// People names // People names
botha bo@ta botha bo@ta
bouwer b@U@r bouwer b@U@r
brian _^_EN brian _^_EN
bredenkamp bre@d@nkamp
breytenbach breIt@nbax2 breytenbach breIt@nbax2
brouwer bruw'&:r brouwer bruw'&:r
caesar siz@r caesar siz@r
david _^_EN david _^_EN
debora d@bo@ra debora d@bo@ra
debussy d@bus'i: debussy d@bus'i:
(de la) d@||la $u // de la Rey/de la Bat, etc.
der d@r der d@r
derick dErik derick dErik
deventer d'e@v@nt@r deventer d'e@v@nt@r
mike _^_EN mike _^_EN
miriam mIri@m miriam mIri@m
mohammed muh'am@t mohammed muh'am@t
morné mOrn'eI
mostert m'Ost@rt mostert m'Ost@rt
mouton mut'On mouton mut'On
mozart mo@tsart mozart mo@tsart
zuma zu:ma zuma zu:ma


// Other proper names // Other proper names
absa absa
boeing _^_EN
centaurus $2 centaurus $2
checkers tSEk@rs checkers tSEk@rs
chrysler kraIsl@r chrysler kraIsl@r
ferrari f@rA:ri
martini mart'i:ni martini mart'i:ni
wimpy wImpi wimpy wImpi


jou $u $verbf jou $u $verbf
hom $u $verbf hom $u $verbf
haar $u $only $verbf haar $u $only $verbf
se Es@ $capital
se Es@ $capital


dis $u dis $u


agterstevoor $4 agterstevoor $4
agterweë $3 agterweë $3
algaande $2 algaande $2
alge alx2@
algehele alx2@h,e@l@ algehele alx2@h,e@l@
allegro al'Egru allegro al'Egru
alles al@s alles al@s
cabernet kab@rn'eI cabernet kab@rn'eI
camembert kam@mb'&:r camembert kam@mb'&:r
camouflage kamufl'A:Z camouflage kamufl'A:Z
casino kas'i:n@U
charisma kar'Isma charisma kar'Isma
chemikalieë $3 chemikalieë $3
crescendo kr@SEndu crescendo kr@SEndu
misbruikte $2 misbruikte $2
miskien $2 miskien $2
misterie m@ste@ri misterie m@ste@ri
(modus operandi) m,o@dWs||o@p@r'andi
monsieur _^_FR monsieur _^_FR
motore mo@t'o@r@ motore mo@t'o@r@
motor mo@t@r motor mo@t@r
numeri nWm@ri numeri nWm@ri


oeuvre W:vr@ oeuvre W:vr@
oftewel Oft@v&l
omgeef $2 omgeef $2
ommekeer Om@ke@r
omrede $2 omrede $2
omtrent Omtr'Ent omtrent Omtr'Ent
onbegrip $1 onbegrip $1
ondeug $1 $only ondeug $1 $only
ondeugde $1 $only ondeugde $1 $only
onding $1 onding $1
oneer On_e@r $only
ongeag $1 ongeag $1
ongeduld $1 ongeduld $1
ongeloof $1 ongeloof $1
ongewens $1 ongewens $1
ongewensde $3 ongewensde $3
ongewoons $1 ongewoons $1
onguns $1
onkunde $1 onkunde $1
onmag $1 onmag $1
onmin $1 onmin $1


waarskynlik $2 waarskynlik $2
waarskynlike $2 waarskynlike $2
wangedrag vanx2@drax2
watwo vatvo@ watwo vatvo@
watwou vatv@U watwou vatv@U
weergalm $2 weergalm $2

+ 155
- 27
dictsource/af_rules
File diff suppressed because it is too large
View File


+ 18
- 5
dictsource/dict_phonemes View File



* ** : b B d D f * ** : b B d D f
g j J J^ k l m n g j J J^ k l m n
N n^ p Q r R s t
T tS v v# w x z
N n^ p Q r R R2 s
t T tS v v# w x z




Dictionary fi_dict Dictionary fi_dict
Dictionary fr_dict Dictionary fr_dict


@ @- @2 a A a2 A~ e @ @- @2 a A a2 A~ e
E E~ i i: o O o2 O2
O~ u u: W W2 w^i wA W~
y Y
E E2 E~ i i: o O o2
O2 O~ u u: W W2 w^i wA
W~ y Y


: ; b c d dZ f g : ; b c d dZ f g
h j k l m n N n2 h j k l m n N n2
b c d f g h j k b c d f g h j k
l m n N p r s t l m n N p r s t
tS v w z tS v w z


Dictionary ml_dict

a a: aI aU e E e: i
I i: l- o o: r- u u:
V y

: b c ch d d. dZ f
g h j J k kh l l.
m n N n. n^ p ph R
R2 s s. S; t t. t.h th
tS v w z z.

+ 4
- 2
dictsource/en_list View File

overly oUv3lI2 overly oUv3lI2
overt oUv'3:t overt oUv'3:t
overtly oUv'3:tlI2 overtly oUv'3:tlI2
overturn $3
oxen 0ks@n oxen 0ks@n


padre pA:dreI padre pA:dreI
untie Vnt'aI untie Vnt'aI
unty Vnt'aI // for untying unty Vnt'aI // for untying
unwind Vnw'aInd unwind Vnw'aInd
unwise $2
unwound Vnw'aUnd unwound Vnw'aUnd
update $1 $onlys update $1 $onlys
update $verb update $verb
Tripoli trIp@lI2 Tripoli trIp@lI2
Ukraine ju:kr'eIn Ukraine ju:kr'eIn
Ural ju:@r@L Ural ju:@r@L
Utah ju:tA:
?3 Utah ju:tO:
Utah ju:t2A:
?3 Utah ju:t2O:
Utrecht ju:trECt Utrecht ju:trECt
Vancouver $2 Vancouver $2
Vegas veIg@s Vegas veIg@s

+ 11
- 7
dictsource/en_rules View File



// *************************************************************************** // ***************************************************************************
// * Copyright (C) 2005 to 2007 by Jonathan Duddington *
// * Copyright (C) 2005 to 2008 by Jonathan Duddington *
// * email: [email protected] * // * email: [email protected] *
// * * // * *
// * This program is free software; you can redistribute it and/or modify * // * This program is free software; you can redistribute it and/or modify *
&) at (eer_ @t &) at (eer_ @t
g) at (eau at g) at (eau at
p) atrol a2troUl p) atrol a2troUl
?3 p) at (r eIt
?3 p) at (riA eIt
fr) at (ern a2t fr) at (ern a2t
c) atego atIg@ c) atego atIg@
c) atego (ric atIg'0 c) atego (ric atIg'0
@) e (ctive 'E @) e (ctive 'E
_) eco (s i:koU _) eco (s i:koU
econo (m Ik'0n@ econo (m Ik'0n@
econo (mic Ek@n'0
econo (mic i:k@n'0
&) ecy (_ @sI2 &) ecy (_ @sI2
ee i: ee i:
ee (m 'i: ee (m 'i:
l) egion i:dZ@n l) egion i:dZ@n
egy (pt i:dZI egy (pt i:dZI
n) e (gro i: n) e (gro i:
eh (_ eI
eh (K eI
ei eI ei eI
_) ei aI _) ei aI
c) ei i: c) ei i:
ep (ox I2p ep (ox I2p
e (qual i: e (qual i:
_) e (qua i: _) e (qua i:
e (quat I2
_) e (quat I2
fr) e (q i: fr) e (q i:
_s) e (que i: _s) e (que i:
e (quip I2 e (quip I2
&) eous (_ =i@s &) eous (_ =i@s
th) eo (@ I2@ th) eo (@ I2@
th) eo (r i@ th) eo (r i@
th) eo (cracy I'0
th) eo (logy I'0 th) eo (logy I'0
th) eo (logis I'0 th) eo (logis I'0
eover oUv@ eover oUv@
s) er (van 3: s) er (van 3:
ery (_ @rI2 ery (_ @rI2
ery @rI ery @rI
ery (A 3j
_v) ery ErI2 _v) ery ErI2
_ev) ery rI2 _ev) ery rI2
qu) ery i@rI2 qu) ery i@rI2
o (bstin 0 o (bstin 0
o (bt %0 o (bt %0
o (bu %0 o (bu %0
o (by_ oU
f) o (cA oU f) o (cA oU
ff) o (cA @ ff) o (cA @
_l) o (cA oU _l) o (cA oU
ox (ide '0ks ox (ide '0ks
oxy 0ksI oxy 0ksI
oy OI oy OI
oy (A_ 'OI
d) o (zen V d) o (zen V
_) o (zo oU _) o (zo oU
o (zy_ oU o (zy_ oU
&l) ous (_ @s &l) ous (_ @s
&) ous (_ @s &) ous (_ @s
&) ousy (_ @sI2 &) ousy (_ @sI2
&m) ous (_ @s
&n) ous (_ @s &n) ous (_ @s
_) out (@P3 %aUt // prefix out _) out (@P3 %aUt // prefix out
c) ou (si V c) ou (si V
_) un (@P2 %Vn // prefix _) un (@P2 %Vn // prefix
_) un (AP2 %Vn // prefix _) un (AP2 %Vn // prefix
_) unn %Vnn _) unn %Vnn
_) un (u %Vn
@) un (al 'ju:n @) un (al 'ju:n
une (_ ju:n une (_ ju:n
?3 d) une (_ u:n ?3 d) une (_ u:n
j) une (_ u:n
j) un (A u:n
l) une (_ u:n l) une (_ u:n
r) une (_ u:n r) une (_ u:n
?3 t) une (_ u:n ?3 t) une (_ u:n

+ 27
- 1
dictsource/es_list View File

_tld t'ilde _tld t'ilde






// names of symbols // names of symbols
_. punto _. punto
_, koma _, koma
// If a letter has a "word" pronunciation which is different from its // If a letter has a "word" pronunciation which is different from its
// "letter" name, then include the letter name here, with the letter // "letter" name, then include the letter name here, with the letter
// prefixed by a _ character. // prefixed by a _ character.

b be
c Te
d de
f Efe
g xe
h atSe
j xOta
k ka
l Ele
m Eme
n Ene
ñ En^e
p pe
q ku
r E**e
s Ese
t te
v uBe
w ,uBe||d'OBle
x Ekis
z TEta

_a a _a a
a a $atend a a $atend
_o o _o o
_y ,ig**'iEQa _y ,ig**'iEQa
y ,ig**'iEQa $atend y ,ig**'iEQa $atend
ch tSe ch tSe
ll Ejje
ll EJ^e
?2 ll Ej:e
á 'a||aTEntw'aDa á 'a||aTEntw'aDa
é 'e||aTEntw'aDa é 'e||aTEntw'aDa
í 'i||aTEntw'aDa í 'i||aTEntw'aDa

+ 2
- 29
dictsource/es_rules View File

.L02 b d g n m // change [s] to [z] before these .L02 b d g n m // change [s] to [z] before these


.group a .group a
_) a (_ a
a a a a
ai aI ai aI
ay (K aI ay (K aI




.group b .group b
_) b (_ be
b B b B
_) b b _) b b
m) b b m) b b
b (uA b b (uA b


.group c .group c
_) c (_ Te
c k c k
c (Y T // ce, ci c (Y T // ce, ci
ch tS ch tS




.group d .group d
_) d (_ de
d D d D
_) d d _) d d
m) d d m) d d




.group e .group e
_) e (_ e
e e e e
e (CK E e (CK E
e (r E e (r E




.group f .group f
_) f (_ 'Efe
f f f f




.group g .group g
_) g (_ xe
g Q g Q
_) g g _) g g
m) g g m) g g




.group h .group h
_) h (_ 'atSe
h // silent h // silent




.group i .group i
_) i (_ i
i i i i
i (A J^ i (A J^
C) i (A j C) i (A j




.group j .group j
_) j (_ x'Ota
j x j x




.group k .group k
_) k (_ ka
k k k k




.group l .group l
_) l (_ Ele
l l l l
ll J^ ll J^
?2 A) ll (A j: ?2 A) ll (A j:




.group m .group m
_) m (_ Eme
m m m m




.group n .group n
_) n (_ Ene
n n n n
n (b m n (b m
n (v m n (v m




.group o .group o
_) o (_ o
o o o o
o (CK O o (CK O
o (r O o (r O




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




.group q .group q
_) q (_ ku
q k q k
qu k qu k




.group r .group r
_) r (_ E**e
r R r R
_) r R
_) r R2
r (_ * r (_ *
r (t ** r (t **
A) r (A ** A) r (A **
m) r (A R m) r (A R
n) r (A R n) r (A R
s) r (A R s) r (A R
rr *R
rr *R2




.group s .group s
_) s (_ Ese
s s s s
&) s (_S1 s &) s (_S1 s




.group t .group t
_) t (_ te
t t t t




.group u .group u
_) u (_ u
u u u u
u (A w u (A w
u (y_ w u (y_ w




.group v .group v
_) v (_ uBe
v B v B
_) v v# _) v v#
?1 m) v b ?1 m) v b




.group w .group w
_) w (_ ,uBe||d'OBle
w w w w




.group x .group x
_) x (_ Ekis
x ks x ks
?1 A) x (A Qs ?1 A) x (A Qs
x (_ =Qs x (_ =Qs




.group y .group y
_) y (_ ,ig**'iEQa
y i y i
_) y J _) y J
_m) y J _m) y J




.group z .group z
_) z (_ TEta
z T z T
?2 z (L02 z ?2 z (L02 z


ú ''u ú ''u
ü u ü u
ñ n^ ñ n^
_)ñ (_ En^e


$ d'Olar $ d'Olar



+ 17
- 17
dictsource/fr_list View File

_' apOstrOf _' apOstrOf
_( 'uvr@-parA~t'Ez _( 'uvr@-parA~t'Ez
_) f'Erm parA~t'Ez _) f'Erm parA~t'Ez
_* astErisk:
_* asterisk:
_, virgyl _, virgyl
_- tirE _- tirE
_. _|pw%E~ _. _|pw%E~
_? pwE~dE~terogasj'O~ _? pwE~dE~terogasj'O~
_[ uvr@-_kroSE _[ uvr@-_kroSE
_\ b'aksl'aS _\ b'aksl'aS
_] f'Erm_kroS'E
_] f'E2rm_kroS'E
_^ sirkOnflEks _^ sirkOnflEks
__ sulin^e __ sulin^e
_` aks'A~_gr'av _` aks'A~_gr'av
_{ uvr_akOlad _{ uvr_akOlad
_| bar _| bar
_} f'Erm_akOl'ad
_} f'E2rm_akOl'ad
² pw^is'A~s||d'Y ² pw^is'A~s||d'Y




bd boulevard $text bd boulevard $text
cci $abbrev cci $abbrev
cio $abbrev cio $abbrev
ctrl kO~tRo2l $pause
ctrl control $text $pause
dept depart@mA~ dept depart@mA~
edf $abbrev edf $abbrev
etc etsetera etc etsetera
ghz ZigaErts
ghz ZigaE2rts
hmm h@m hmm h@m
hz _!Erts
hz _!E2rts
ibm $abbrev ibm $abbrev
ide $abbrev ide $abbrev
ip $abbrev ip $abbrev
jaws dZ'O2wz jaws dZ'O2wz
kde $abbrev kde $abbrev
kg kilogRam kg kilogRam
khz kiloErts
khz kiloE2rts
km kilomEtr km kilomEtr
kw kilowat kw kilowat
m. m@sjY m. m@sjY
mbrola EmbRola mbrola EmbRola
mhz megaErts
mhz megaE2rts
mlle mad@mwAzEl mlle mad@mwAzEl
mme madam mme madam
mr m@sjY mr m@sjY
//********************* //*********************


(1 er) pr@mjer2 (1 er) pr@mjer2
(1 ers) pr@mi;'ez2
(1 ère) pr@mi;'Er
(1 ères) pr@mi;'Erz2
(1 èrement) pr@mi;'Er@-mA~
(1 ers) pr@mjez2
(1 ère) pr@mjEr
(1 ères) pr@mjErz2
(1 èrement) pr@mjEr@-mA~




monsieur m@sjY monsieur m@sjY
(qu'est ce que) kEsk@ $u (qu'est ce que) kEsk@ $u
absent absA~ absent absA~
admin admin admin admin
airbus Erbys
airbus E2rbys
auvent ovA~ auvent ovA~
bien bjE~n2 $u+ bien bjE~n2 $u+
bis bis bis bis
(chef d'oeuvre) chédeuvre $text (chef d'oeuvre) chédeuvre $text
choeur kWr choeur kWr
cocus coky cocus coky
dernier dErnjer2
dernier dE2rnjer2
éloquent ElokA~t2 éloquent ElokA~t2
fier fier $verb fier fier $verb
fuel fjul fuel fjul
scorbut skOrbyt scorbut skOrbyt
scout skut scout skut
stout staut stout staut
uppercut ypErkyt
uppercut ypE2rkyt
ut yt ut yt
zut zyt zut zyt


end _^_en end _^_en
epson EpsOn epson EpsOn
espeak @spi:k espeak @spi:k
ethernet etErnEt
ethernet etE2rnEt
exit egzit exit egzit
(file zilla) fa2jl||zija (file zilla) fa2jl||zija
from _^_en $u+ from _^_en $u+
constations kO~statjO~z2 constations kO~statjO~z2
contentions kO~tA~tjO~z2 contentions kO~tA~tjO~z2
dations datjO~z2 dations datjO~z2
désertions dezErtjO~z2 $verb
désertions dezE2rtjO~z2 $verb
exploitions EksplwAtjO~z2 exploitions EksplwAtjO~z2
heurtions hWrtjO~z2 heurtions hWrtjO~z2
partions partjO~z2 partions partjO~z2

+ 3
- 3
dictsource/fr_rules View File



// 2006-11-18 Gilles Casse <[email protected]> // 2006-11-18 Gilles Casse <[email protected]>
// //
// Updated: 2008-09-13 Michel Such <[email protected]>
// Updated: 2008-09-16 Michel Such <[email protected]>
// //


// Letter classes: // Letter classes:


// Define use of the final 'e' in french // Define use of the final 'e' in french
e (_ e (_
qu) e (_ =@-
qu) e (s_ =@-
elqu) e =@- elqu) e =@-
uisqu) e =@ uisqu) e =@
rsqu) e =@ rsqu) e =@
%C) e (mA // actuellement guillemets %C) e (mA // actuellement guillemets
ct) e (ment @ ct) e (ment @
rC) e (ment @ rC) e (ment @
g) e (rie
AC) e (ment AC) e (ment
u) e (ment @- u) e (ment @-
ul) e (CA ul) e (CA
Cr) eamer i:mWr Cr) eamer i:mWr
Cl) eaner i:nWr Cl) eaner i:nWr
Ack) et (_ Et Ack) et (_ Et
eïn (_ 'Ein




// group e: English section // group e: English section

+ 25
- 5
phsource/compile_report View File

51 phoneme tables
52 phoneme tables
new total new total
base 98 98 base 98 98
base2 24 117 base2 24 117
fr_ca 11 134 fr_ca 11 134
hi 51 135 hi 51 135
ta 17 138 ta 17 138
ml 13 137
hu 23 114 hu 23 114
nl 28 121 nl 28 121
pl 18 111 pl 18 111
r3/r_2 [r/] fr r3/r_2 [r/] fr
r3/r_a [(a)] base r3/r_a [(a)] base
r3/r_e [(e)] base r3/r_e [(e)] base
[E] fr
r3/r_i [(i)] base r3/r_i [(i)] base
[i] fr [i] fr
r3/r_n [r/] base r3/r_n [r/] base
[r/] fr [r/] fr
[r/] ru [r/] ru
r3/r_o [(o)] base r3/r_o [(o)] base
[O] fr
[O2] fr
r3/r_ru [R4] ru r3/r_ru [R4] ru
r3/r_ru2 [R4] ru r3/r_ru2 [R4] ru
r3/r_trill [R2] base r3/r_trill [R2] base
[(i)] base [(i)] base
[(o)] base [(o)] base
[(u)] base [(u)] base
[O] fr
[W] fr
[Y] fr [Y] fr
[a] fr
[e] fr [e] fr
[i] fr [i] fr
[u] fr [u] fr
[y] fr [y] fr
[W2] fr
[a2] fr [a2] fr
[i:] fr [i:] fr
[u:] fr [u:] fr
[@] en_rp [@] en_rp
[V] cy [V] cy
[@4] hi [@4] hi
[@] ml
[@] sq [@] sq
vowel/@- [@-] base vowel/@- [@-] base
[r*] hr [r*] hr
[3] de [3] de
[@] de [@] de
[a] hi [a] hi
[a] ml
[a#] ru [a#] ru
[&] pt_pt [&] pt_pt
[&/] pt_pt [&/] pt_pt
vowel/a_5 [a] fr vowel/a_5 [a] fr
[a2] fr [a2] fr
[a:] ta [a:] ta
[a:] ml
[a/] it [a/] it
[a] la [a] la
[a] sv [a] sv
[E:] fr [E:] fr
[e] ta [e] ta
[e:] ta [e:] ta
[e] ml
[e:] ml
[e] hr [e] hr
[e/] it [e/] it
[e:] la [e:] la
[i] eo [i] eo
[I] fr [I] fr
[i:] ta [i:] ta
[i:] ml
[i:] hu [i:] hu
[i] it [i] it
[i] pt_pt [i] pt_pt
[i/] pt_pt [i/] pt_pt
[y] ro [y] ro
vowel/i_6 [i] ta vowel/i_6 [i] ta
[i] ml
[i] hr [i] hr
[i] tr [i] tr
[i] ku [i] ku
[i] zhy [i] zhy
[I] ku [I] ku
vowel/ii# [Y] cy vowel/ii# [Y] cy
[y] ml
[Y] ru [Y] ru
[I] ku [I] ku
vowel/ii_2 [i] zh vowel/ii_2 [i] zh
[o] hi [o] hi
[o] ta [o] ta
[o:] ta [o:] ta
[o] ml
[o:] ml
[o] it [o] it
[o/] it [o/] it
[O] la [O] la
[U] fr [U] fr
[u] ta [u] ta
[u:] ta [u:] ta
[u] ml
[u:] ml
[u:] cs [u:] cs
[U] la [U] la
[u] id [u] id
[o@] en_us [o@] en_us
[O:] en_sc [O:] en_sc
vwl_en_us/ur [U@] en_us vwl_en_us/ur [U@] en_us
vwl_fr/r_@ [W] fr
[W2] fr
vwl_fr/@R [x] pt_pt vwl_fr/@R [x] pt_pt
vwl_fr/@R2 [R] fr_ca vwl_fr/@R2 [R] fr_ca
vwl_fr/@R3 [R] fr vwl_fr/@R3 [R] fr
[r2] fr [r2] fr
vwl_fr/@R4 [r] fr vwl_fr/@R4 [r] fr
[r2] fr [r2] fr
vwl_fr/r_a [a] fr
[a2] fr
vwl_fr/r_e [E2] fr
vwl_fr/ri [i] fr
vwl_fr/r_u [u] fr
vwl_fr/r_y [y] fr
vwl_fr/w_a [wA] fr vwl_fr/w_a [wA] fr
vwl_hi/A [a:] hi vwl_hi/A [a:] hi
vwl_hi/l-voc [l-] jbo vwl_hi/l-voc [l-] jbo

BIN
phsource/l^/l^ View File


+ 1
- 1
phsource/ph_english_us View File





phoneme a phoneme a
vowel starttype (a) endtype (@)
vowel starttype (e) endtype (@)
length 210 length 210
formants vwl_en_us/a formants vwl_en_us/a
before n vnasal/ee_n2 before n vnasal/ee_n2

+ 11
- 7
phsource/ph_french View File

formants vowel/a_5 formants vowel/a_5
after l l/la-15 after l l/la-15
before l/ DFT-20+l/xl before l/ DFT-20+l/xl
before r/ DFT-30+r/xr
before r/ DFT+vwl_fr/r_a
reduceto a2 1 reduceto a2 1
endphoneme endphoneme


formants vowel/a_5 formants vowel/a_5
after l l/la-15 after l l/la-15
before (r) DFT-20+r/xr before (r) DFT-20+r/xr
before r/ DFT-20+r/xr
before r/ DFT+vwl_fr/r_a
endphoneme endphoneme




formants vowel/e_mid formants vowel/e_mid
after l l/le-15 after l l/le-15
before l/ DFT-20+l/xl before l/ DFT-20+l/xl
before r/ DFT+r3/r_e
reduceto E2 1 reduceto E2 1
endphoneme endphoneme


length 175 length 175
formants vowel/e_mid formants vowel/e_mid
after l l/le-15 after l l/le-15
before r/ DFT-20
before r/ DFT+vwl_fr/r_e
endphoneme endphoneme




formants vowel/i_3 formants vowel/i_3
linkout ; linkout ;
after l l/li-15 after l l/li-15
after (r) vwl_fr/ri
before l/ DFT-20+l/L1_iL-80 before l/ DFT-20+l/L1_iL-80
before (r) DFT+r/xr before (r) DFT+r/xr
before r/ DFT+r3/r_i before r/ DFT+r3/r_i
after l l/lu-20 after l l/lu-20
before l/ DFT-20+l/L1_uL-80 before l/ DFT-20+l/L1_uL-80
before (r) DFT+r/xr before (r) DFT+r/xr
before r/ DFT-20+r/xr
before r/ DFT-20+vwl_fr/r_u
endphoneme endphoneme




formants vowel/y_2 formants vowel/y_2
after l l/lu-20 after l l/lu-20
before l/ DFT-20+l/L1_uL-80 before l/ DFT-20+l/L1_uL-80
before (r) vwl_fr/r_y
before r/ DFT+r/xr-30 before r/ DFT+r/xr-30
endphoneme endphoneme


formants vowel/@_5 formants vowel/@_5
after l l/l@-20 after l l/l@-20
before l/ DFT-40+l/xl+15 before l/ DFT-40+l/xl+15
before r/ DFT-20+r/xr
before r/ DFT+vwl_fr/r_@
reduceto Y 1 reduceto Y 1
endphoneme endphoneme


formants vowel/@_3 formants vowel/@_3
after l l/l@-20 after l l/l@-20
before l/ DFT-40+l/xl+15 before l/ DFT-40+l/xl+15
before r/ DFT-20+r3/r_@
before r/ DFT+vwl_fr/r_@
endphoneme endphoneme




vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk
formants b/b+x/b%70 formants b/b+x/b%70
before _ b/b_+x/b_ before _ b/b_+x/b_
before R b/b+x/b_
after _ NULL after _ NULL
after @ b/xb%50 after @ b/xb%50
lengthmod 5 lengthmod 5


phoneme R // for beginning of words phoneme R // for beginning of words
vcd pal frc vcd pal frc
vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40
vowelin f1=0 f2=800 -50 50 f3=-100 100
length 100 length 100
lengthmod 7 lengthmod 7
beforenotvowel r/ beforenotvowel r/

+ 3
- 0
phsource/phonemes View File

phonemetable ta hi phonemetable ta hi
include ph_tamil include ph_tamil


phonemetable ml hi
include ph_malayalam

phonemetable hu base phonemetable hu base
include ph_hungarian include ph_hungarian



BIN
phsource/voc/j View File


BIN
phsource/vowel/ii# View File


+ 1
- 0
src/espeakedit.cpp View File



f_trans = stdout; f_trans = stdout;
option_ssml = 1; option_ssml = 1;
option_phoneme_input = 1;




// if(LoadVoice(voice_name,0) == NULL) // if(LoadVoice(voice_name,0) == NULL)

+ 2
- 2
src/numbers.cpp View File

else else
repeat = 0; repeat = 0;


if((prev==5) || (prev==50) || (prev==500))
if((prev > 1) && (prev != 10) && (prev != 100))
{ {
if(value >= prev) if(value >= prev)
return(0); return(0);
if(Lookup("_dpt2",buf1)) if(Lookup("_dpt2",buf1))
strcat(ph_out,buf1); strcat(ph_out,buf1);


if(c == langopts.decimal_sep)
if((c == langopts.decimal_sep) && isdigit(word[n_digits+1]))
{ {
Lookup("_dpt",buf1); Lookup("_dpt",buf1);
strcat(ph_out,buf1); strcat(ph_out,buf1);

+ 6
- 5
src/readclause.cpp View File

SetWordStress(phonemes,flags[0],-1,0); SetWordStress(phonemes,flags[0],-1,0);
DecodePhonemes(phonemes,phonemes2); DecodePhonemes(phonemes,phonemes2);
sprintf(text_out,"[[%s]]",phonemes2); sprintf(text_out,"[[%s]]",phonemes2);
option_phoneme_input = 1;
option_phoneme_input |= 2;
return(text_out); return(text_out);
} }
return(NULL); return(NULL);
DecodePhonemes(phonemes,phonemes2); DecodePhonemes(phonemes,phonemes2);
sprintf(buf,"[[%s]] ",phonemes2); sprintf(buf,"[[%s]] ",phonemes2);
} }
option_phoneme_input |= 2;
} }
else else
{ {
strcpy(buf,"[[(X1)(X1)(X1)]]"); strcpy(buf,"[[(X1)(X1)(X1)]]");
option_phoneme_input |= 2;
} }


option_phoneme_input = 1;
return(buf); return(buf);
} }


} }
else else
{ {
sprintf(p,"%s %s %d %s %s [[______]]",
sprintf(p,"%s %s %d %s %s",
tone_punct_on,punctname,punct_count,punctname,tone_punct_off); tone_punct_on,punctname,punct_count,punctname,tone_punct_off);
option_phoneme_input = 1;
return(CLAUSE_COMMA);
} }
} }
else else
if(iswspace(c2) && strchr_w(punct_stop,c1)!=NULL) if(iswspace(c2) && strchr_w(punct_stop,c1)!=NULL)
return(punct_attributes[lookupwchar(punct_chars,c1)]); return(punct_attributes[lookupwchar(punct_chars,c1)]);
return(CLAUSE_COMMA);
return(CLAUSE_SHORTCOMMA);
} // end of AnnouncePunctuation } // end of AnnouncePunctuation


#define SSML_SPEAK 1 #define SSML_SPEAK 1

+ 1
- 0
src/speak.cpp View File

option_waveout = 0; option_waveout = 0;
option_wordgap = 0; option_wordgap = 0;
option_endpause = 1; option_endpause = 1;
option_phoneme_input = 1;
option_multibyte = espeakCHARS_AUTO; // auto option_multibyte = espeakCHARS_AUTO; // auto
f_trans = stdout; f_trans = stdout;



+ 1
- 0
src/speak_lib.cpp View File

} }
SHOW_TIME("espeak_Cancel > LEAVE"); SHOW_TIME("espeak_Cancel > LEAVE");
#endif #endif
embedded_value[EMBED_T] = 0; // reset echo for pronunciation announcements
return EE_OK; return EE_OK;
} // end of espeak_Cancel } // end of espeak_Cancel



+ 1
- 1
src/synthdata.cpp View File

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


const char *version_string = "1.39 08.Sep.08";
const char *version_string = "1.39.04 19.Sep.08";
const int version_phdata = 0x013900; const int version_phdata = 0x013900;


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

+ 2
- 0
src/synthesize.cpp View File

} }
n_phoneme_list = 0; n_phoneme_list = 0;
WcmdqStop(); WcmdqStop();

embedded_value[EMBED_T] = 0;
return(0); return(0);
} }



+ 8
- 1
src/tr_languages.cpp View File

#define L_jbo 0x6a626f // jbo Lojban #define L_jbo 0x6a626f // jbo Lojban
#define L_zhy 0x7a6879 // zhy #define L_zhy 0x7a6879 // zhy


// start of unicode pages for character sets
#define OFFSET_GREEK 0x380 #define OFFSET_GREEK 0x380
#define OFFSET_CYRILLIC 0x420 #define OFFSET_CYRILLIC 0x420
#define OFFSET_DEVANAGARI 0x900 #define OFFSET_DEVANAGARI 0x900
#define OFFSET_TAMIL 0xb80 #define OFFSET_TAMIL 0xb80
#define OFFSET_MALAYALAM 0xd00
#define OFFSET_KOREAN 0x1100 #define OFFSET_KOREAN 0x1100




break; break;


case L('t','a'): // Tamil case L('t','a'): // Tamil
case L('m','l'): // Malayalam
{ {
static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230}; static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230};
static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 }; static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 };
tr->langopts.stress_rule = 0; tr->langopts.stress_rule = 0;
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable
tr->letter_bits_offset = OFFSET_TAMIL; tr->letter_bits_offset = OFFSET_TAMIL;

if(name2 == L('m','l'))
{
tr->letter_bits_offset = OFFSET_MALAYALAM;
}
tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words


memset(tr->letter_bits,0,sizeof(tr->letter_bits)); memset(tr->letter_bits,0,sizeof(tr->letter_bits));

+ 25
- 5
src/translate.cpp View File

int option_sayas2 = 0; // used in translate_clause() int option_sayas2 = 0; // used in translate_clause()
int option_emphasis = 0; // 0=normal, 1=normal, 2=weak, 3=moderate, 4=strong int option_emphasis = 0; // 0=normal, 1=normal, 2=weak, 3=moderate, 4=strong
int option_ssml = 0; int option_ssml = 0;
int option_phoneme_input = 1; // allow [[phonemes]] in input
int option_phoneme_input = 0; // allow [[phonemes]] in input
int option_phoneme_variants = 0; // 0= don't display phoneme variant mnemonics int option_phoneme_variants = 0; // 0= don't display phoneme variant mnemonics
int option_wordgap = 0; int option_wordgap = 0;


if((c >= 0xb81) && (c <= 0xbe5)) if((c >= 0xb81) && (c <= 0xbe5))
return(1); // Tamil vowel signs and other signs return(1); // Tamil vowel signs and other signs


if((c >= 0xd01) && (c <= 0xd57))
return(1); // Malayalam vowel signs and other signs

if((c >= 0x300) && (c <= 0x36f)) if((c >= 0x300) && (c <= 0x36f))
return(1); // combining accents return(1); // combining accents


if(!iswalpha(prev_in)) if(!iswalpha(prev_in))
{ {
if((c == '\'') && (next_in == 'n'))
if((c == '\'') && (next_in == 'n') && isspace(ptr[1]))
{ {
// n preceded by either apostrophe or U2019 "right single quotation mark" // n preceded by either apostrophe or U2019 "right single quotation mark"
ptr[0] = ' '; // delete the n ptr[0] = ' '; // delete the n
int letter_count = 0; int letter_count = 0;
int space_inserted = 0; int space_inserted = 0;
int syllable_marked = 0; int syllable_marked = 0;
int decimal_sep_count = 0;
char *word; char *word;
char *p; char *p;
int j, k; int j, k;


embedded_ix = 0; embedded_ix = 0;
embedded_read = 0; embedded_read = 0;
option_phoneme_input &= 1; // clear bit 1 (temporary indication)


if((clause_start_char = count_characters) < 0) if((clause_start_char = count_characters) < 0)
clause_start_char = 0; clause_start_char = 0;
} }
} }
} }

if(iswdigit(prev_out)) if(iswdigit(prev_out))
{ {
if(!iswdigit(c) && (c != '.') && (c != ',')) if(!iswdigit(c) && (c != '.') && (c != ','))
space_inserted = 1; space_inserted = 1;
} }
} }
else
{
if(prev_in != ',')
{
decimal_sep_count = 0;
}
}


if((c == '[') && (next_in == '[') && option_phoneme_input) if((c == '[') && (next_in == '[') && option_phoneme_input)
{ {
{ {
} }
else else
if((prev_out != ' ') && !iswdigit(prev_out) && (prev_out != langopts.decimal_sep)) // TEST2
if((prev_out != ' ') && !iswdigit(prev_out))
{ {
c = ' ';
space_inserted = 1;
if((prev_out != langopts.decimal_sep) || ((decimal_sep_count > 0) && (langopts.decimal_sep == ',')))
{
c = ' ';
space_inserted = 1;
}
else
{
decimal_sep_count = 1;
}
} }
else else
if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in)) if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in))

+ 1
- 1
src/translate.h View File

#define CLAUSE_VOICE 0 + 0x24000 #define CLAUSE_VOICE 0 + 0x24000
#define CLAUSE_PERIOD 35 + 0x80000 #define CLAUSE_PERIOD 35 + 0x80000
#define CLAUSE_COMMA 20 + 0x41000 #define CLAUSE_COMMA 20 + 0x41000
#define CLAUSE_SHORTCOMMA 15 + 0x41000
#define CLAUSE_SHORTCOMMA 5 + 0x41000
#define CLAUSE_QUESTION 35 + 0x82000 #define CLAUSE_QUESTION 35 + 0x82000
#define CLAUSE_EXCLAMATION 40 + 0x83000 #define CLAUSE_EXCLAMATION 40 + 0x83000
#define CLAUSE_COLON 30 + 0x40000 #define CLAUSE_COLON 30 + 0x40000

Loading…
Cancel
Save