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

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


// People names
@@ -262,6 +270,7 @@ blomerus blum'e@rWs
botha bo@ta
bouwer b@U@r
brian _^_EN
bredenkamp bre@d@nkamp
breytenbach breIt@nbax2
brouwer bruw'&:r
caesar siz@r
@@ -288,6 +297,7 @@ darwin _^_EN
david _^_EN
debora d@bo@ra
debussy d@bus'i:
(de la) d@||la $u // de la Rey/de la Bat, etc.
der d@r
derick dErik
deventer d'e@v@nt@r
@@ -387,6 +397,7 @@ michiel $2
mike _^_EN
miriam mIri@m
mohammed muh'am@t
morné mOrn'eI
mostert m'Ost@rt
mouton mut'On
mozart mo@tsart
@@ -473,9 +484,12 @@ khumalo kum'A:lu
zuma zu:ma

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

@@ -595,7 +609,7 @@ my $u $verbf
jou $u $verbf
hom $u $verbf
haar $u $only $verbf
se Es@ $capital
se Es@ $capital

dis $u

@@ -620,6 +634,7 @@ aggressie $2
agterstevoor $4
agterweë $3
algaande $2
alge alx2@
algehele alx2@h,e@l@
allegro al'Egru
alles al@s
@@ -657,6 +672,7 @@ bourgeoisie _^_FR
cabernet kab@rn'eI
camembert kam@mb'&:r
camouflage kamufl'A:Z
casino kas'i:n@U
charisma kar'Isma
chemikalieë $3
crescendo kr@SEndu
@@ -795,6 +811,7 @@ misbruik $2 $verb
misbruikte $2
miskien $2
misterie m@ste@ri
(modus operandi) m,o@dWs||o@p@r'andi
monsieur _^_FR
motore mo@t'o@r@
motor mo@t@r
@@ -822,7 +839,9 @@ normale nOrm'A:l@
numeri nWm@ri

oeuvre W:vr@
oftewel Oft@v&l
omgeef $2
ommekeer Om@ke@r
omrede $2
omtrent Omtr'Ent
onbegrip $1
@@ -835,6 +854,7 @@ onderwyser $3
ondeug $1 $only
ondeugde $1 $only
onding $1
oneer On_e@r $only
ongeag $1
ongeduld $1
ongeloof $1
@@ -844,6 +864,7 @@ ongerief $1
ongewens $1
ongewensde $3
ongewoons $1
onguns $1
onkunde $1
onmag $1
onmin $1
@@ -981,7 +1002,6 @@ vrek fr&k

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

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


+ 18
- 5
dictsource/dict_phonemes View File

@@ -109,8 +109,8 @@ o O oI u

* ** : b B d D f
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
@@ -128,9 +128,9 @@ S s2 t v Z
Dictionary fr_dict

@ @- @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
h j k l m n N n2
@@ -469,3 +469,16 @@ oi ong ou u ui yu
b c d f g h j k
l m n N p r s t
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

@@ -1483,6 +1483,7 @@ overage oUv@r-eIdZ
overly oUv3lI2
overt oUv'3:t
overtly oUv'3:tlI2
overturn $3
oxen 0ks@n

padre pA:dreI
@@ -1995,6 +1996,7 @@ untidy Vnt'aIdI2
untie Vnt'aI
unty Vnt'aI // for untying
unwind Vnw'aInd
unwise $2
unwound Vnw'aUnd
update $1 $onlys
update $verb
@@ -2315,8 +2317,8 @@ Toulouse tu:l'u:z
Tripoli trIp@lI2
Ukraine ju:kr'eIn
Ural ju:@r@L
Utah ju:tA:
?3 Utah ju:tO:
Utah ju:t2A:
?3 Utah ju:t2O:
Utrecht ju:trECt
Vancouver $2
Vegas veIg@s

+ 11
- 7
dictsource/en_rules View File

@@ -1,6 +1,6 @@

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

+ 27
- 1
dictsource/es_list View File

@@ -26,6 +26,8 @@ _stk b'a*Ra // ??
_tld t'ilde




// names of symbols
_. punto
_, koma
@@ -351,6 +353,29 @@ alguna $u
// If a letter has a "word" pronunciation which is different from its
// "letter" name, then include the letter name here, with the letter
// 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 $atend
_o o
@@ -360,7 +385,8 @@ x Ekis
_y ,ig**'iEQa
y ,ig**'iEQa $atend
ch tSe
ll Ejje
ll EJ^e
?2 ll Ej:e
á 'a||aTEntw'aDa
é 'e||aTEntw'aDa
í 'i||aTEntw'aDa

+ 2
- 29
dictsource/es_rules View File

@@ -9,7 +9,6 @@
.L02 b d g n m // change [s] to [z] before these

.group a
_) a (_ a
a a
ai aI
ay (K aI
@@ -19,7 +18,6 @@


.group b
_) b (_ be
b B
_) b b
m) b b
@@ -29,14 +27,12 @@
b (uA b

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


.group d
_) d (_ de
d D
_) d d
m) d d
@@ -44,7 +40,6 @@


.group e
_) e (_ e
e e
e (CK E
e (r E
@@ -58,12 +53,10 @@


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


.group g
_) g (_ xe
g Q
_) g g
m) g g
@@ -73,12 +66,10 @@


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


.group i
_) i (_ i
i i
i (A J^
C) i (A j
@@ -87,29 +78,24 @@


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


.group k
_) k (_ ka
k k


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


.group m
_) m (_ Eme
m m


.group n
_) n (_ Ene
n n
n (b m
n (v m
@@ -121,7 +107,6 @@


.group o
_) o (_ o
o o
o (CK O
o (r O
@@ -133,21 +118,18 @@


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


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


.group r
_) r (_ E**e
r R
_) r R
_) r R2
r (_ *
r (t **
A) r (A **
@@ -156,22 +138,19 @@
m) r (A R
n) r (A R
s) r (A R
rr *R
rr *R2


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


.group t
_) t (_ te
t t


.group u
_) u (_ u
u u
u (A w
u (y_ w
@@ -182,7 +161,6 @@


.group v
_) v (_ uBe
v B
_) v v#
?1 m) v b
@@ -199,12 +177,10 @@


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


.group x
_) x (_ Ekis
x ks
?1 A) x (A Qs
x (_ =Qs
@@ -212,7 +188,6 @@


.group y
_) y (_ ,ig**'iEQa
y i
_) y J
_m) y J
@@ -223,7 +198,6 @@


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

@@ -237,7 +211,6 @@
ú ''u
ü u
ñ n^
_)ñ (_ En^e

$ d'Olar


+ 17
- 17
dictsource/fr_list View File

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


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

(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
@@ -566,7 +566,7 @@ montréal mO~real
(qu'est ce que) kEsk@ $u
absent absA~
admin admin
airbus Erbys
airbus E2rbys
auvent ovA~
bien bjE~n2 $u+
bis bis
@@ -577,7 +577,7 @@ campus kA~pys
(chef d'oeuvre) chédeuvre $text
choeur kWr
cocus coky
dernier dErnjer2
dernier dE2rnjer2
éloquent ElokA~t2
fier fier $verb
fuel fjul
@@ -623,7 +623,7 @@ rut ryt
scorbut skOrbyt
scout skut
stout staut
uppercut ypErkyt
uppercut ypE2rkyt
ut yt
zut zyt

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

+ 3
- 3
dictsource/fr_rules View File

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

// 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:
@@ -204,8 +204,6 @@ _) ç' (P2v s

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


// group e: English section

+ 25
- 5
phsource/compile_report View File

@@ -1,4 +1,4 @@
51 phoneme tables
52 phoneme tables
new total
base 98 98
base2 24 117
@@ -19,6 +19,7 @@
fr_ca 11 134
hi 51 135
ta 17 138
ml 13 137
hu 23 114
nl 28 121
pl 18 111
@@ -503,12 +504,15 @@ r3/r#_ [r#] is
r3/r_2 [r/] fr
r3/r_a [(a)] base
r3/r_e [(e)] base
[E] fr
r3/r_i [(i)] base
[i] fr
r3/r_n [r/] base
[r/] fr
[r/] ru
r3/r_o [(o)] base
[O] fr
[O2] fr
r3/r_ru [R4] ru
r3/r_ru2 [R4] ru
r3/r_trill [R2] base
@@ -602,15 +606,11 @@ r/xr [(@)] base
[(i)] base
[(o)] base
[(u)] base
[O] fr
[W] fr
[Y] fr
[a] fr
[e] fr
[i] fr
[u] fr
[y] fr
[W2] fr
[a2] fr
[i:] fr
[u:] fr
@@ -1247,6 +1247,7 @@ vowel/@ [@] base
[@] en_rp
[V] cy
[@4] hi
[@] ml
[@] sq
vowel/@- [@-] base
[r*] hr
@@ -1344,6 +1345,7 @@ vowel/a#_3 [a2] en
[3] de
[@] de
[a] hi
[a] ml
[a#] ru
[&] pt_pt
[&/] pt_pt
@@ -1354,6 +1356,7 @@ vowel/a_4 [a/] el
vowel/a_5 [a] fr
[a2] fr
[a:] ta
[a:] ml
[a/] it
[a] la
[a] sv
@@ -1404,6 +1407,8 @@ vowel/e [e] base2
[E:] fr
[e] ta
[e:] ta
[e] ml
[e:] ml
[e] hr
[e/] it
[e:] la
@@ -1505,6 +1510,7 @@ vowel/i [i] base2
[i] eo
[I] fr
[i:] ta
[i:] ml
[i:] hu
[i] it
[i] pt_pt
@@ -1539,6 +1545,7 @@ vowel/i#_5 [y] pt_pt
[i/] pt_pt
[y] ro
vowel/i_6 [i] ta
[i] ml
[i] hr
[i] tr
[i] ku
@@ -1564,6 +1571,7 @@ vowel/ii [I] en_rp
[i] zhy
[I] ku
vowel/ii# [Y] cy
[y] ml
[Y] ru
[I] ku
vowel/ii_2 [i] zh
@@ -1613,6 +1621,8 @@ vowel/o [o] base2
[o] hi
[o] ta
[o:] ta
[o] ml
[o:] ml
[o] it
[o/] it
[O] la
@@ -1718,6 +1728,8 @@ vowel/u [u:] en_wi
[U] fr
[u] ta
[u:] ta
[u] ml
[u:] ml
[u:] cs
[U] la
[u] id
@@ -1890,6 +1902,8 @@ vwl_en_us/or [O:] en_us
[o@] en_us
[O:] en_sc
vwl_en_us/ur [U@] en_us
vwl_fr/r_@ [W] fr
[W2] fr
vwl_fr/@R [x] pt_pt
vwl_fr/@R2 [R] fr_ca
vwl_fr/@R3 [R] fr
@@ -1897,6 +1911,12 @@ vwl_fr/@R3 [R] fr
[r2] fr
vwl_fr/@R4 [r] 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_hi/A [a:] hi
vwl_hi/l-voc [l-] jbo

BIN
phsource/l^/l^ View File


+ 1
- 1
phsource/ph_english_us View File

@@ -33,7 +33,7 @@ endphoneme


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

+ 11
- 7
phsource/ph_french View File

@@ -31,7 +31,7 @@ phoneme a
formants vowel/a_5
after l l/la-15
before l/ DFT-20+l/xl
before r/ DFT-30+r/xr
before r/ DFT+vwl_fr/r_a
reduceto a2 1
endphoneme

@@ -42,7 +42,7 @@ phoneme a2
formants vowel/a_5
after l l/la-15
before (r) DFT-20+r/xr
before r/ DFT-20+r/xr
before r/ DFT+vwl_fr/r_a
endphoneme


@@ -63,6 +63,7 @@ phoneme E
formants vowel/e_mid
after l l/le-15
before l/ DFT-20+l/xl
before r/ DFT+r3/r_e
reduceto E2 1
endphoneme

@@ -72,7 +73,7 @@ phoneme E2
length 175
formants vowel/e_mid
after l l/le-15
before r/ DFT-20
before r/ DFT+vwl_fr/r_e
endphoneme


@@ -82,6 +83,7 @@ phoneme i
formants vowel/i_3
linkout ;
after l l/li-15
after (r) vwl_fr/ri
before l/ DFT-20+l/L1_iL-80
before (r) DFT+r/xr
before r/ DFT+r3/r_i
@@ -143,7 +145,7 @@ phoneme u
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before (r) DFT+r/xr
before r/ DFT-20+r/xr
before r/ DFT-20+vwl_fr/r_u
endphoneme


@@ -163,6 +165,7 @@ phoneme y
formants vowel/y_2
after l l/lu-20
before l/ DFT-20+l/L1_uL-80
before (r) vwl_fr/r_y
before r/ DFT+r/xr-30
endphoneme

@@ -183,7 +186,7 @@ phoneme W
formants vowel/@_5
after l l/l@-20
before l/ DFT-40+l/xl+15
before r/ DFT-20+r/xr
before r/ DFT+vwl_fr/r_@
reduceto Y 1
endphoneme

@@ -194,7 +197,7 @@ phoneme W2 // same as W but don't reduce
formants vowel/@_3
after l l/l@-20
before l/ DFT-40+l/xl+15
before r/ DFT-20+r3/r_@
before r/ DFT+vwl_fr/r_@
endphoneme


@@ -295,6 +298,7 @@ phoneme b
vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk
formants b/b+x/b%70
before _ b/b_+x/b_
before R b/b+x/b_
after _ NULL
after @ b/xb%50
lengthmod 5
@@ -437,7 +441,7 @@ endphoneme

phoneme R // for beginning of words
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
lengthmod 7
beforenotvowel r/

+ 3
- 0
phsource/phonemes View File

@@ -1190,6 +1190,9 @@ include ph_hindi
phonemetable ta hi
include ph_tamil

phonemetable ml hi
include ph_malayalam

phonemetable hu base
include ph_hungarian


BIN
phsource/voc/j View File


BIN
phsource/vowel/ii# View File


+ 1
- 0
src/espeakedit.cpp View File

@@ -265,6 +265,7 @@ wxSashLayoutWindow *win;

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


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

+ 2
- 2
src/numbers.cpp View File

@@ -780,7 +780,7 @@ int Translator::TranslateRoman(char *word, char *ph_out)
else
repeat = 0;

if((prev==5) || (prev==50) || (prev==500))
if((prev > 1) && (prev != 10) && (prev != 100))
{
if(value >= prev)
return(0);
@@ -1353,7 +1353,7 @@ int Translator::TranslateNumber_1(char *word, char *ph_out, unsigned int *flags,
if(Lookup("_dpt2",buf1))
strcat(ph_out,buf1);

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

+ 6
- 5
src/readclause.cpp View File

@@ -511,7 +511,7 @@ const char *Translator::LookupSpecial(const char *string, char* text_out)
SetWordStress(phonemes,flags[0],-1,0);
DecodePhonemes(phonemes,phonemes2);
sprintf(text_out,"[[%s]]",phonemes2);
option_phoneme_input = 1;
option_phoneme_input |= 2;
return(text_out);
}
return(NULL);
@@ -589,13 +589,14 @@ const char *Translator::LookupCharName(int c)
DecodePhonemes(phonemes,phonemes2);
sprintf(buf,"[[%s]] ",phonemes2);
}
option_phoneme_input |= 2;
}
else
{
strcpy(buf,"[[(X1)(X1)(X1)]]");
option_phoneme_input |= 2;
}

option_phoneme_input = 1;
return(buf);
}

@@ -806,9 +807,9 @@ int Translator::AnnouncePunctuation(int c1, int c2, char *buf, int bufix)
}
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);
option_phoneme_input = 1;
return(CLAUSE_COMMA);
}
}
else
@@ -836,7 +837,7 @@ int Translator::AnnouncePunctuation(int c1, int c2, char *buf, int bufix)
if(iswspace(c2) && strchr_w(punct_stop,c1)!=NULL)
return(punct_attributes[lookupwchar(punct_chars,c1)]);
return(CLAUSE_COMMA);
return(CLAUSE_SHORTCOMMA);
} // end of AnnouncePunctuation

#define SSML_SPEAK 1

+ 1
- 0
src/speak.cpp View File

@@ -490,6 +490,7 @@ int main (int argc, char **argv)
option_waveout = 0;
option_wordgap = 0;
option_endpause = 1;
option_phoneme_input = 1;
option_multibyte = espeakCHARS_AUTO; // auto
f_trans = stdout;


+ 1
- 0
src/speak_lib.cpp View File

@@ -1065,6 +1065,7 @@ ESPEAK_API espeak_ERROR espeak_Cancel(void)
}
SHOW_TIME("espeak_Cancel > LEAVE");
#endif
embedded_value[EMBED_T] = 0; // reset echo for pronunciation announcements
return EE_OK;
} // end of espeak_Cancel


+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.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;

int option_device_number = -1;

+ 2
- 0
src/synthesize.cpp View File

@@ -1510,6 +1510,8 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
}
n_phoneme_list = 0;
WcmdqStop();

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


+ 8
- 1
src/tr_languages.cpp View File

@@ -42,11 +42,12 @@
#define L_jbo 0x6a626f // jbo Lojban
#define L_zhy 0x7a6879 // zhy

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


@@ -711,6 +712,7 @@ SetLengthMods(tr,3); // all equal
break;

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 unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 };
@@ -722,6 +724,11 @@ SetLengthMods(tr,3); // all equal
tr->langopts.stress_rule = 0;
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable
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

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

+ 25
- 5
src/translate.cpp View File

@@ -55,7 +55,7 @@ int option_sayas = 0;
int option_sayas2 = 0; // used in translate_clause()
int option_emphasis = 0; // 0=normal, 1=normal, 2=weak, 3=moderate, 4=strong
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_wordgap = 0;

@@ -367,6 +367,9 @@ int IsAlpha(unsigned int c)
if((c >= 0xb81) && (c <= 0xbe5))
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))
return(1); // combining accents

@@ -1938,7 +1941,7 @@ int Translator::TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned i
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"
ptr[0] = ' '; // delete the n
@@ -2010,6 +2013,7 @@ void *Translator::TranslateClause(FILE *f_text, const void *vp_input, int *tone_
int letter_count = 0;
int space_inserted = 0;
int syllable_marked = 0;
int decimal_sep_count = 0;
char *word;
char *p;
int j, k;
@@ -2030,6 +2034,7 @@ void *Translator::TranslateClause(FILE *f_text, const void *vp_input, int *tone_

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

if((clause_start_char = count_characters) < 0)
clause_start_char = 0;
@@ -2264,6 +2269,7 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou
}
}
}

if(iswdigit(prev_out))
{
if(!iswdigit(c) && (c != '.') && (c != ','))
@@ -2272,6 +2278,13 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou
space_inserted = 1;
}
}
else
{
if(prev_in != ',')
{
decimal_sep_count = 0;
}
}

if((c == '[') && (next_in == '[') && option_phoneme_input)
{
@@ -2455,10 +2468,17 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou
{
}
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
if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in))

+ 1
- 1
src/translate.h View File

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

Loading…
Cancel
Save