Browse Source

[1.39.14]

Provide Viseme events on the Windows SAPI5 interface.


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

+ 7
- 6
dictsource/af_list View File



// Place names // Place names


afganistan afg'anistan
alaska al'aska alaska al'aska
algerië alx2'e@re@:@- algerië alx2'e@re@:@-
antwerpen antv&rp@n antwerpen antv&rp@n
bethlehem bEt_liEm bethlehem bEt_liEm
boedapest budapEst boedapest budapEst
boekarest bukarEst boekarest bukarEst
bolivië bul'Ivi:@
bonnievale _^_EN bonnievale _^_EN
brittanje $2 brittanje $2
brooklyn _^_EN brooklyn _^_EN
hirosjima hiruS'ima hirosjima hiruS'ima
israel IsraI:l israel IsraI:l
italië it'A:li;@ italië it'A:li;@
kalafong kalaf'ON
kanada kanad%a kanada kanad%a
kanaän kA:nA:an kanaän kA:nA:an
kaïro ka_'iru kaïro ka_'iru
derick dErik derick dErik
deventer d'e@v@nt@r deventer d'e@v@nt@r
diana dij'A:na diana dij'A:na
donaldson _^_EN
du $u du $u
(du pisanie) du||pis'A:ni (du pisanie) du||pis'A:ni
(du plessis) du||pl@s'i (du plessis) du||pl@s'i
aangaande $2 aangaande $2
aanstaande $2 aanstaande $2
adagio ad'A:dZi;%@U adagio ad'A:dZi;%@U
afgaanse afg'A:ns@
afgane afg'A:n@
africana $3 africana $3
afkere afke@r@ afkere afke@r@
agamemnon ax2am'EmnOn agamemnon ax2am'EmnOn
alge alx2@ alge alx2@
algehele alx2@h,e@l@ algehele alx2@h,e@l@
allegro al'Egru allegro al'Egru
alles al@s
almiskie $3 almiskie $3
alom al_'Om alom al_'Om
alreeds $2 alreeds $2
alternatiewe $4 alternatiewe $4
amen A:mEn amen A:mEn
anale an'A:l@ anale an'A:l@
//###anatomie $4 $only
asof asOf asof asOf
asook %as_o@k asook %as_o@k
aspris $2 aspris $2
beswil bEsv@l beswil bEsv@l
besnedene b@sne@d@n@ besnedene b@sne@d@n@
bestes bEst@s bestes bEst@s
beta be@ta
beta be@ta $only
bewe be@v@ bewe be@v@
bewend be@v@nt bewend be@v@nt
bewering b@ve@rIN bewering b@ve@rIN
hoofsaaklik $2 hoofsaaklik $2
hoogedele ho@x2 _e@d@l@ hoogedele ho@x2 _e@d@l@
hosanna hus'ana hosanna hus'ana
//###huigelary $4


ibis $1 ibis $1
idee $2 idee $2
senatore s@nat'o@r@ senatore s@nat'o@r@
singenot sInx2@nOt singenot sInx2@nOt
sir _^_EN sir _^_EN
skares skA:r@s
skepsele skEps@l@ skepsele skEps@l@
skuldelas skWld@las skuldelas skWld@las
s'n s@n $u s'n s@n $u
vers f&:rs vers f&:rs
verste f&rst@ verste f&rst@
verte f&rt@ verte f&rt@
vertes f&rt@s
verweg f&:rv&x2 verweg f&:rv&x2
via via via via
volheid $1 volheid $1

+ 14
- 3
dictsource/af_rules View File

a (riA 'A: // akwarium/barium/estuarium/herbarium/seminaria a (riA 'A: // akwarium/barium/estuarium/herbarium/seminaria
a (ristokr %a // shorten 1st a: aristokrasie/-kraat/-krate/-kraties a (ristokr %a // shorten 1st a: aristokrasie/-kraat/-krate/-kraties
arm (last %ar@-m // move default stress: armlastig/-e arm (last %ar@-m // move default stress: armlastig/-e
@C) as (_ as // shorten final a of words ending in -as: rigtingvas/jonkmanskas, etc.
C) asie 'A:si C) asie 'A:si
@@@@) asie A:s%i @@@@) asie A:s%i
oub) asie A:si // restore default stress: oubasie/-s oub) asie A:si // restore default stress: oubasie/-s
ar (seen %ar ar (seen %ar
ar (tikel %ar // stress: artikel and compounds ar (tikel %ar // stress: artikel and compounds
artiku %art%ik%y // stress and vowel sounds: artikulasie/artikuleer artiku %art%ik%y // stress and vowel sounds: artikulasie/artikuleer
@C) as (_ as // shorten final a of words ending in -as: rigtingvas/jonkmanskas, etc.
_) a (sië A: // fix stress and a sound: Asië/-r/-rs _) a (sië A: // fix stress and a sound: Asië/-r/-rs
_) a (strA %a // astrant/astrale/astraal _) a (strA %a // astrant/astrale/astraal
artille (rie %art@l@ // stress and vowel sounds: artillerie and compounds artille (rie %art@l@ // stress and vowel sounds: artillerie and compounds
CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand
CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette
juwel) e (C @ // fix e sound: juwelekissie and similar compounds juwel) e (C @ // fix e sound: juwelekissie and similar compounds
fontein) e (C @_ // fix e sound: Fonteinesirkel/-wisselaar, etc.
kening) e (@ @ // fix e sound: rekeningeklerk/-navraag and similar kening) e (@ @ // fix e sound: rekeningeklerk/-navraag and similar
narkos) e (C @ // fix e sound: narkosedood/-gas/-masker/-middel/-rekords, etc. narkos) e (C @ // fix e sound: narkosedood/-gas/-masker/-middel/-rekords, etc.
ooi) e (C @ // fix e sound: dooiepunt/ooievaar and similar ooi) e (C @ // fix e sound: dooiepunt/ooievaar and similar
AAv) eer e@r // restore default stress: pouveer/makouveer/horlosieveer/kraaiveer/rooiveer AAv) eer e@r // restore default stress: pouveer/makouveer/horlosieveer/kraaiveer/rooiveer
w) eer e@r // stress may vary in words containing weer: lugafweer/donderweer w) eer e@r // stress may vary in words containing weer: lugafweer/donderweer
u) eer 'e@r // aktueer/konstrueer/salueer, etc. u) eer 'e@r // aktueer/konstrueer/salueer, etc.
effek %e@fEk // move default stress and fix e sound: effek/-te/-tief
effek (K %ifEk // move default stress and fix e sound: effek/-te/-tief/rimpeleffek
eienaardig %eI@nA:rd@x2 // move default stress: eienaardig/-ste eienaardig %eI@nA:rd@x2 // move default stress: eienaardig/-ste
@) ein (dig 'eIn // nimmereindige/nimmereindigend @) ein (dig 'eIn // nimmereindige/nimmereindigend
eind (eks eInt_ // fix d sound and make short pause: eindeksamen/-s and compounds eind (eks eInt_ // fix d sound and make short pause: eindeksamen/-s and compounds
j j j j
j (j j (j
ja (broer jA: // fix a sound: jabroer/-s ja (broer jA: // fix a sound: jabroer/-s
_) jag (A j''ax2_ // fix stress and a sound: jagavontuur/-ekspedisie/-entoesias/-eskader/-instink...
jag (end jA:x2 // but long a in jagend/-e and compounds
jag (er jA:x2 // long a in jager and compounds
jag (ing jA:x2 // long a in (ver)jaging and similar
jaguar jagwar // fix a, g and u sounds: jaguar and compounds
_) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus _) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus
jakaranda j%ak%ar'anda //jakaranda and compounds jakaranda j%ak%ar'anda //jakaranda and compounds
jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë
profesie prOf@s'i // fix vowel sounds and move stress profesie prOf@s'i // fix vowel sounds and move stress
profit (e pr%Of@t // fix stress and vowel sounds: profiteer/-tering profit (e pr%Of@t // fix stress and vowel sounds: profiteer/-tering
pro (gram pr%u // fix stress and o sound: program/-e/ontwikkelingsprogram pro (gram pr%u // fix stress and o sound: program/-e/ontwikkelingsprogram
programme (ring pr%ux2r%ame@ // fix e sound and stress: (rekenaar)programmering(staal), etc.
pro (gress pr%o@ // fix stress and o sound: progressie/-f/-we pro (gress pr%o@ // fix stress and o sound: progressie/-f/-we
pro (CA pr%u // probeer/produk/proses/professie/provinsie pro (CA pr%u // probeer/produk/proses/professie/provinsie
produk (A pr%udWk_ // fix u sound, pause: produkopsies/-uitstalling, etc. produk (A pr%udWk_ // fix u sound, pause: produkopsies/-uitstalling, etc.
regime (_ r@Zi:m // regime/-s and compounds regime (_ r@Zi:m // regime/-s and compounds
regi (ment r@x2@ // fix stress and e and i sounds: regement/-e and compounds regi (ment r@x2@ // fix stress and e and i sounds: regement/-e and compounds
regimen (ta@ r%Ex2%im%En // fix stress: regimentaal/-tale regimen (ta@ r%Ex2%im%En // fix stress: regimentaal/-tale
regi (sseuC r@x2@ // fix stress and e sound: (film-/kuns-/mede-/musiek-/oorklankings-)regisseur/-sseuse
reg (ist r@x2 // registrasie/-nommer/register/bevolkingsregister reg (ist r@x2 // registrasie/-nommer/register/bevolkingsregister
regle (ment r@x2l@ // fix stress and e sounds: reglement/-e and compounds regle (ment r@x2l@ // fix stress and e sounds: reglement/-e and compounds
regverdig r&x2f'&rd@x2 // regverdig/onregverdige/regverdigheid - verwyder uit af_list regverdig r&x2f'&rd@x2 // regverdig/onregverdige/regverdigheid - verwyder uit af_list
.group s .group s
s s s s
s (s s (s
@) s (_S1q s // to correctly handle plurals of propernames in af_list: Jouberts, etc.
@@@) s (_S1 s // to correctly handle plural s @@@) s (_S1 s // to correctly handle plural s
i) s (_ s // exceptions to rule: @@@) s (_S1 s i) s (_ s // exceptions to rule: @@@) s (_S1 s
se (_ s@ //the word se and some ending in se se (_ s@ //the word se and some ending in se
seroto (ni s%Er@t%u // fix stress and vowel sounds: serotonien(vlakke, etc.) seroto (ni s%Er@t%u // fix stress and vowel sounds: serotonien(vlakke, etc.)
sitrus s'itr%Ws_ //i sound and stress in compounds sitrus s'itr%Ws_ //i sound and stress in compounds


saamge (P6 s'A:mx2@ // saamgepers/-de/saamgetel/saamgeêet
_) saam (P4 s'A:m // saamgepers/-de/saamgetel/saamgeêet/saampers
saamgee sA:mx2e@ // fix ee in saamgee; see rule: saamge (P6 saamgee sA:mx2e@ // fix ee in saamgee; see rule: saamge (P6
sabot (A s%ab%ut // sabotasie/saboteer sabot (A s%ab%ut // sabotasie/saboteer
safari s%afA:r%i // fix 1st a: safari/safaripak, etc. safari s%afA:r%i // fix 1st a: safari/safaripak, etc.
straa) t (j t // split tj sound: straat(jas/-joggie/-jonge/-joernaal) straa) t (j t // split tj sound: straat(jas/-joggie/-jonge/-joernaal)
ui) tj tj // uitjaag/uitjou/uitjubel ui) tj tj // uitjaag/uitjou/uitjubel
ui) tjie ci // beskuitjie/fluitjie/ruitjie/uitjie, etc. ui) tjie ci // beskuitjie/fluitjie/ruitjie/uitjie, etc.
@) tjoernali tj%urn%al@ // fix stress, split t/j: front-/koerant-/sport-/vryskutjoernalis, etc.
_) th (@@ t _) th (@@ t
@) th (C t // drop h: Bothma/Neethling and similar @) th (C t // drop h: Bothma/Neethling and similar
_) theu t''Y@ // Theuns/Theunis _) theu t''Y@ // Theuns/Theunis
_) th _^_EN // if only one vowel character _) th _^_EN // if only one vowel character
@) thy (_ _^_EN // words and names ending in -thy are English: Cathy, etc.
@) th (_N _^_EN @) th (_N _^_EN
@) tion (_ _^_EN //words ending in tion is English @) tion (_ _^_EN //words ending in tion is English
@) tions (_ _^_EN //words ending in tions is English @) tions (_ _^_EN //words ending in tions is English

+ 0
- 5
dictsource/cs_rules View File

qu kv qu kv


.group r .group r
// r r
// A) r (A *
// C) r (A @-*
// rr *r
// right rajt
K) r (K r- K) r (K r-


r R r R

+ 7
- 0
dictsource/de_rules View File

&) ie (r_ 'i: &) ie (r_ 'i:
u) ie (r_ _|'i: u) ie (r_ _|'i:
&) ie (rlich 'i: &) ie (rlich 'i:
bank) ie (r I'e:
barr) ie (r I'e:
financ) ie (r I'e:
hotel) ie (r I'e:
prem) ie (r I'e:
hyg) ie (n I'e:
ital) ie (n I'e:
d) ienst i:nst d) ienst i:nst
r) ien (@ IEn r) ien (@ IEn
&) ien (_ =I@n &) ien (_ =I@n

+ 49
- 37
dictsource/dict_phonemes View File

v w x2 z Z v w x2 z Z




Dictionary bn_dict

& a a: a~ e E e~ i
I i: i:~ i~ l- o O o:
o~ O~ r- U u u: u:~ u~

* b B c C ch d d.
g h j J k kh l m
n N n. n^ p ph Q r
r. s S s. t t. t.h th
tS x z


Dictionary cs_dict Dictionary cs_dict


@- a a: aU e e: eI eU @- a a: aU e e: eI eU
ts tS; v x z Z ts tS; v x z Z




Dictionary ml_dict

a a: aI aU e E e: i
I i: 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.


Dictionary ne_dict

@ @- @2 @3 a a: aI aU
a~ e E e: E: E~ e~ i
I i: i~ l- o O o: O:
o~ O~ r- U u u: u~ V

- : b c ch d d. f
g h H j J k kh l
l. m n N n. n^ p ph
Q q r r. s S s. t
T t. t.h th v w x z
z.


Dictionary nl_dict Dictionary nl_dict


8 @ @- A a: E e: EI 8 @ @- A a: E e: EI
tS v w z tS v w z




Dictionary ml_dict

a a: aI aU e E e: i
I i: 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.


Dictionary bn_dict
Dictionary lv_dict


& a a: a~ e E e~ i
I i: i:~ i~ l- o O o:
o~ O~ r- U u u: u:~ u~
a a: ai au e e: ei i
i: ie iu o o: oi u u:
ui uo


* b B c C ch d d.
g h j J k kh l m
n N n. n^ p ph Q r
r. s S s. t t. t.h th
tS x z


Dictionary ne_dict

@ @- @2 @3 a a: aI aU
a~ e E e: E: E~ e~ i
I i: i~ l- o O o: O:
o~ O~ r- U u u: u~ V

- : b c ch d d. f
g h H j J k kh l
l. m n N n. n^ p ph
Q q r r. s S s. t
T t. t.h th v w x z
z.
b c d dZ f g h j
J k l l^ m n N n^
p R R2 s S t tS ts
v z Z

+ 7
- 2
dictsource/en_list View File

rev $dot rev $dot
st $dot st $dot


// not abbreviations when all-caps
all O:l $allcaps
no noU $allcaps




// MAIN WORD DICTIONARY // MAIN WORD DICTIONARY
alias eIli@s alias eIli@s
alibi al@baI alibi al@baI
alkali alk@laI alkali alk@laI
all O:l $allcaps // not abbrev.
allay a2leI allay a2leI
allegiance a2li:dZ@ns allegiance a2li:dZ@ns
allele a2li:l allele a2li:l
barrage barA:Z barrage barA:Z
basis beIsIs basis beIsIs
bass beIs bass beIs
baste beIst
bastion basti@n bastion basti@n
batman batman batman batman
bayou baIu: bayou baIu:
edition I2dIS@n edition I2dIS@n
edwardian Edw'O@di@n edwardian Edw'O@di@n
efile i:faIl efile i:faIl
egg Eg // egging
eh eI eh eI
el ,El el ,El
electricity I2lEktr'IsI2tI electricity I2lEktr'IsI2tI
san ,san san ,san
sardine $2 sardine $2
satan seIt@n satan seIt@n
satanist seIt@nIst
saucepan sO:sp@n saucepan sO:sp@n
saudi saUdI saudi saUdI
says sEz says sEz
signage saInI2dZ signage saInI2dZ
sikh si:k sikh si:k
silhouette sI2lUw'Et silhouette sI2lUw'Et
silo saIloU
simon saIm@n simon saIm@n
simultaneous $3 simultaneous $3
singly sINglI $verbf singly sINglI $verbf
Derek dErIk Derek dErIk
Dinah daIn@ Dinah daIn@
Dominic d0mI2nIk Dominic d0mI2nIk
Donald d0n@Ld
Doris d0rIs Doris d0rIs
Dougall du:g@L Dougall du:g@L
Dylan dIl@n Dylan dIl@n

+ 6
- 1
dictsource/en_rules View File

// ?7 Scottish // ?7 Scottish
// ?8 Use full vowel, not schwa in some word endings // ?8 Use full vowel, not schwa in some word endings


.L01 l r

.replace .replace
ff ff // ligature ff ff // ligature
fi fi fi fi
_) exc (e %Eks _) exc (e %Eks
exc (i %Eks exc (i %Eks
exc (elle Eks exc (elle Eks
ex (e+ Eks
C) ex (e Eks
exe (cutio EksI exe (cutio EksI
ex (erc Eks ex (erc Eks
_) ex (A %Egz _) ex (A %Egz
@) i (butive 'I @) i (butive 'I
@) i (butor 'I @) i (butor 'I
&) i (c_ =I &) i (c_ =I
&) i (ciCe_ =I
&) i (ca_ =I &) i (ca_ =I
&) ico (_ =I2koU &) ico (_ =I2koU
&) i (cal =I &) i (cal =I
pers) on @n pers) on @n
pers) on (i '0n pers) on (i '0n
postp) on 'oUn postp) on 'oUn
on (ald 0n
d) on (at %oUn d) on (at %oUn
on (an_ oUn on (an_ oUn
_) on (io Vn _) on (io Vn
rhyth rID rhyth rID
_) rm ,A@Em _) rm ,A@Em
rrhoea r'i@ rrhoea r'i@
_) ru (bL01 ru:
_) run (a rVn _) run (a rVn
_) run (o rVn _) run (o rVn
_) rw r%U _) rw r%U

+ 2
- 1
dictsource/fr_list View File



// 2006-11-18 Gilles Casse <[email protected]> // 2006-11-18 Gilles Casse <[email protected]>
// //
// Updated 2008-10-13 Michel Such <[email protected]>
// Updated 2008-10-24 Michel Such <[email protected]>
// //
// * Numbers, a few abbreviations and exceptions. // * Numbers, a few abbreviations and exceptions.
// //
api $abbrev api $abbrev
avh aveaS avh aveaS
bd boulevard $text bd boulevard $text
brltty $abbrev
cci $abbrev cci $abbrev
cio $abbrev cio $abbrev
ctrl control $text $pause ctrl control $text $pause

+ 15
- 8
dictsource/fr_rules View File



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


// Letter classes: // Letter classes:


a (nnA a // manne a (nnA a // manne
an (K A~ // ancien, élan an (K A~ // ancien, élan
@@m) an (_ an // tennisman
lism) an (_ A~ // talisman
_C) aon (_ A~ // faon, paon, taon _C) aon (_ A~ // faon, paon, taon
s) aoul (_ u // saoul s) aoul (_ u // saoul
s) aou (le u // saoule s) aou (le u // saoule
_) auto (@P4 oto _) auto (@P4 oto
_) autom (n otO _) autom (n otO
_) au (treX o2 _) au (treX o2
bb) aye (X ei // abbaye
p) a (ys E // pays paysage p) a (ys E // pays paysage
ay (C E // aymé ay (C E // aymé
ay Ej // paye ay Ej // paye
cc (Y ks // accéder cc (Y ks // accéder
cc k // occuper cc k // occuper
_) ch (arism k // charisme, charismatique _) ch (arism k // charisme, charismatique
_) ch (irop k // chiroptère
a) ch (_ k // almanach a) ch (_ k // almanach
e) ch (_ k // varech e) ch (_ k // varech
_A) ch (o_ k // écho _A) ch (o_ k // écho
mani) ch (é k // manichéisme
_eu) ch (ari k // eucharistie _eu) ch (ari k // eucharistie
or) ch (esC k // orchestre or) ch (esC k // orchestre
or) ch (iC k // orchidée or) ch (iC k // orchidée
CC) ein (_ E~n2 // plein emploi CC) ein (_ E~n2 // plein emploi
e (il E // vieille e (il E // vieille
ei E // neige ei E // neige
eoi wA // asseoir
ell El // selle ell El // selle
el (K El // celsius, caramel el (K El // celsius, caramel
_f) em (me a // femme _f) em (me a // femme
em (p A~ em (p A~
en (_ A~n2 // en en (_ A~n2 // en
en (hA A~n // enharmonique en (hA A~n // enharmonique
en (A A~n // enivrer
_) en (A A~n // enivrer


C) en (d_ A~ // comprend dépend C) en (d_ A~ // comprend dépend
od) en (dr E~ // rhododendron od) en (dr E~ // rhododendron
qu) en (d_ A~ qu) en (d_ A~


pati) en A~ // patient patience pati) en A~ // patient patience
X) en (nu A~ // ennui
en (nu A~ // ennui
en (nA E // penne ennemi


C) en (A @n // menu
é) en (_ E~ // européen


en (nA E // penne ennemi
Ci) en (nA E // mienne Ci) en (nA E // mienne


éC) en (t_ A~ // récent différent élément éC) en (t_ A~ // récent différent élément
vin) gt (_sept t vin) gt (_sept t
vin) gt (_huit t vin) gt (_huit t
vin) gt (_neuf t vin) gt (_neuf t
vin) gt (_neuvi t


gt (_ // vingt doigts gt (_ // vingt doigts




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


A) ng (_ N // parking meeting
nn n // panne nn n // panne
_) n (_° nymero _) n (_° nymero
_) neuro (@@P5 nYro _) neuro (@@P5 nYro
s s // verser sien s s // verser sien


s (_S1 z2 s (_S1 z2
stein (_ Stajn


_) s' (P2v s // s'amène _) s' (P2v s // s'amène
_) s' (esXP2v s // s'amène _) s' (esXP2v s // s'amène
_) sky _^_en _) sky _^_en
_) smil _^_en // smile, smiley _) smil _^_en // smile, smiley
spy _^_en spy _^_en
sy (_ _^_en




.group t .group t
x ks x ks
xs ks // lexique lexicaux vox xs ks // lexique lexicaux vox
e) x (A gz // exagérer exemple e) x (A gz // exagérer exemple
le) x (i ks
Ce) x (i ks
ine) x (i gz
_e) x (h gz // exhumer _e) x (h gz // exhumer


ai) x (_ // voix paix prix ai) x (_ // voix paix prix

+ 0
- 5
dictsource/sk_rules View File

qu kv qu kv


.group r .group r
// r r
// A) r (A *
// C) r (A @-*
// rr *r

K) r (K r- K) r (K r-
r R r R
rr R rr R

+ 35
- 1
phsource/compile_report View File

54 phoneme tables
55 phoneme tables
new total new total
base 100 100 base 100 100
base2 24 119 base2 24 119
ml 13 139 ml 13 139
bn 59 145 bn 59 145
ne 14 141 ne 14 141
lv 26 121


Data file Used by Data file Used by
b/b [b] base b/b [b] base
[R] sk [R] sk
[r*] sr [r*] sr
[x] pt [x] pt
[R] lv
r3/r_trill2 [R] base r3/r_trill2 [R] base
[r] cy [r] cy
[R] hr [R] hr
[R] sk [R] sk
[r*] sr [r*] sr
[x] pt [x] pt
[R] lv
r3/r_u [(u)] base r3/r_u [(u)] base
r3/rx [*] base r3/rx [*] base
[r/] base [r/] base
[k] sw [k] sw
[k] sq [k] sq
[kh] bn [kh] bn
[k] lv
ustop/ki [c] base ustop/ki [c] base
[k] base [k] base
[k] base2 [k] base2
[c] tr [c] tr
[J] ku [J] ku
[c] ku [c] ku
[k] lv
ustop/kl [k] base ustop/kl [k] base
[k] base2 [k] base2
[k] en [k] en
[k] zhy [k] zhy
[k] sw [k] sw
[kh] bn [kh] bn
[k] lv
ustop/kr [k] base ustop/kr [k] base
[k] base2 [k] base2
[k] en [k] en
[k] zhy [k] zhy
[k] sw [k] sw
[kh] bn [kh] bn
[k] lv
ustop/k_unasp [k] base ustop/k_unasp [k] base
[k] base2 [k] base2
[k] fi [k] fi
[k`] ko [k`] ko
[k] sq [k] sq
[k] bn [k] bn
[k] lv
ustop/k_unasp_ [k] zh ustop/k_unasp_ [k] zh
ustop/null [?] base ustop/null [?] base
ustop/p [p] base ustop/p [p] base
[p] sq [p] sq
[p] bn [p] bn
[ph] bn [ph] bn
[p] lv
ustop/pr [p] base ustop/pr [p] base
[p] base2 [p] base2
[p] fi [p] fi
[p`] ko [p`] ko
[p] sq [p] sq
[p] bn [p] bn
[p] lv
ustop/p_unasp_ [p] base2 ustop/p_unasp_ [p] base2
[p] fi [p] fi
[p] hi [p] hi
[p;] ro [p;] ro
[p] sq [p] sq
[p] bn [p] bn
[p] lv
ustop/q [q] base ustop/q [q] base
ustop/q_u [q] base ustop/q_u [q] base
ustop/t [t] base ustop/t [t] base
[t] sq [t] sq
[t.] bn [t.] bn
[t.h] bn [t.h] bn
[t] lv
ustop/t_dnt [t] base ustop/t_dnt [t] base
[t[] base [t[] base
[t] base2 [t] base2
[ts;] ro [ts;] ro
[z] zhy [z] zhy
[tsh] zh [tsh] zh
[ts] lv
ustop/tsh [tS] base ustop/tsh [tS] base
[c] zhy [c] zhy
ustop/tsh_ [tS] base ustop/tsh_ [tS] base
[t] el [t] el
[t] sq [t] sq
[t.] bn [t.] bn
[t] lv
ustop/tsh_pzd [tS;] zh ustop/tsh_pzd [tS;] zh
ustop/tsh_pzd_unasp [tS;] zh ustop/tsh_pzd_unasp [tS;] zh
ustop/tsh_sr [tS] sr ustop/tsh_sr [tS] sr
vdiph2/i@_2 [i@] en_wm vdiph2/i@_2 [i@] en_wm
vdiph2/ie [i@] en_wi vdiph2/ie [i@] en_wi
[ie] fi [ie] fi
vdiph2/ie_2 [ie] lv
vdiph2/ii@ [i@] en vdiph2/ii@ [i@] en
[i@3] en [i@3] en
vdiph2/ii@_3 [i@] vi vdiph2/ii@_3 [i@] vi
[iU] vi [iU] vi
[iu] zhy [iu] zhy
vdiph2/iu_2 [iu] fi vdiph2/iu_2 [iu] fi
[iu] lv
vdiph2/iu_3 [iu] af vdiph2/iu_3 [iu] af
vdiph2/iu_4 [Iu] cy vdiph2/iu_4 [Iu] cy
[Yu] cy [Yu] cy
[o] zh [o] zh
vdiph2/u-@ [y@] vi vdiph2/u-@ [y@] vi
vdiph2/u#@ [U@] en_sc vdiph2/u#@ [U@] en_sc
vdiph2/uaa [uo] lv
vdiph2/uo [uo] fi vdiph2/uo [uo] fi
vdiph2/uu@ [U@] en vdiph2/uu@ [U@] en
[U@] en_n [U@] en_n
[AY] cy [AY] cy
vdiph/aai_3 [ai] fi vdiph/aai_3 [ai] fi
vdiph/aau [au] fi vdiph/aau [au] fi
[au] lv
vdiph/aau_2 [aU] en_wi vdiph/aau_2 [aU] en_wi
[aU] de [aU] de
[VU] nl [VU] nl
[aI] pt [aI] pt
[a:I] vi [a:I] vi
[aI] id [aI] id
[ai] lv
vdiph/ai_2 [aI] cy vdiph/ai_2 [aI] cy
[aY] cy [aY] cy
vdiph/ai_3 [aI] no vdiph/ai_3 [aI] no
vdiph/eei_2 [eI] eo vdiph/eei_2 [eI] eo
[ei] fi [ei] fi
[eI] id [eI] id
[ei] lv
vdiph/eei_3 [eI] sk vdiph/eei_3 [eI] sk
[eI] ku [eI] ku
vdiph/eeu [EU] pt vdiph/eeu [EU] pt
[oi] fi [oi] fi
[OI] no [OI] no
[oi] zhy [oi] zhy
[oi] lv
vdiph/ooi_2 [OI] af vdiph/ooi_2 [OI] af
vdiph/ooi_3 [OI] en_rp vdiph/ooi_3 [OI] en_rp
[aI] en_wm [aI] en_wm
[ui] fi [ui] fi
[uI] vi [uI] vi
[ui] zhy [ui] zhy
[ui] lv
vdiph/u-i [yI] vi vdiph/u-i [yI] vi
vdiph/ui_2 [uI] af vdiph/ui_2 [uI] af
vdiph/ui_3 [uI] cy vdiph/ui_3 [uI] cy
[&] sv [&] sv
[&] bn [&] bn
[&:] bn [&:] bn
[&:] lv
vowel/0 [0] en vowel/0 [0] en
[O] hi [O] hi
[O] pt [O] pt
[&/] pt [&/] pt
[a#] rw [a#] rw
[a/] rw [a/] rw
[&] lv
vowel/a_2 [a] base2 vowel/a_2 [a] base2
[a] en_wi [a] en_wi
[A:] en_wi [A:] en_wi
[a] tr [a] tr
[a] sq [a] sq
[a:] ml [a:] ml
[a] lv
vowel/a_6 [a] fr vowel/a_6 [a] fr
[a2] fr [a2] fr
vowel/aa [a] fi vowel/aa [a] fi
[A] zh [A] zh
vowel/aa_3 [A:] af vowel/aa_3 [A:] af
[A] sq [A] sq
[a:] lv
vowel/aa_4 [O:] en_us vowel/aa_4 [O:] en_us
[A:] sv [A:] sv
[O] vi [O] vi
[E2] id [E2] id
[E] da [E] da
[E] bn [E] bn
[e] lv
vowel/e_mid2 [E] af vowel/e_mid2 [E] af
[E] de [E] de
[E2] de [E2] de
[e] sw [e] sw
[e] tr [e] tr
[E] ko [E] ko
[e:] lv
vowel/@_fnt [@] en_wi vowel/@_fnt [@] en_wi
[@2] en_wi [@2] en_wi
[@2] hr [@2] hr
[i] fr [i] fr
[i:] fr [i:] fr
[i:] sk [i:] sk
[i] lv
[i:] lv
vowel/i_4 [i] fi vowel/i_4 [i] fi
[i] hu [i] hu
[I] it [I] it
[o] hr [o] hr
[o] vi [o] vi
[O/] sq [O/] sq
[o] lv
[o:] lv
vowel/oo_2 [0] en_sc vowel/oo_2 [0] en_sc
[O] cy [O] cy
[o] cs [o] cs
vowel/uu_2 [U] base2 vowel/uu_2 [U] base2
[U] de [U] de
[U] tr [U] tr
[u] lv
[u:] lv
vowel/uu_3 [u] af vowel/uu_3 [u] af
[y] zh [y] zh
vowel/uu_4 [U] fi vowel/uu_4 [U] fi

+ 1
- 0
phsource/ph_french View File

beforenotvowel r/2 beforenotvowel r/2
formants vwl_fr/@R3+r3/rx%30 formants vwl_fr/@R3+r3/rx%30
after @2 vwl_fr/@R5+r3/rx%40 after @2 vwl_fr/@R5+r3/rx%40
after (u) vwl_fr/@R5+r3/rx%30
after (e) vwl_fr/@R4+r3/rx%20 after (e) vwl_fr/@R4+r3/rx%20
endphoneme endphoneme



+ 3
- 0
phsource/phonemes View File



phonemetable ne hi phonemetable ne hi
include ph_nepali include ph_nepali

phonemetable lv base
include ph_latvian

BIN
phsource/vdiph2/ie_2 View File


BIN
phsource/vdiph2/uaa View File


BIN
phsource/vowel/& View File


BIN
phsource/vowel/a_6 View File


BIN
phsource/vowel/aa_9 View File


+ 78
- 5
platforms/windows/windows_sapi/ttsengobj.cpp View File

#include "src/speak_lib.h" #include "src/speak_lib.h"
#include "stdio.h" #include "stdio.h"
#define CTRL_EMBEDDED 1 #define CTRL_EMBEDDED 1
CTTSEngObj *m_EngObj; CTTSEngObj *m_EngObj;
ISpTTSEngineSite* m_OutputSite; ISpTTSEngineSite* m_OutputSite;
FILE *f_log2=NULL; FILE *f_log2=NULL;
ULONGLONG event_interest;
extern int AddNameData(const char *name, int wide); extern int AddNameData(const char *name, int wide);
extern void InitNamedata(void); extern void InitNamedata(void);
unsigned long audio_offset = 0; unsigned long audio_offset = 0;
unsigned long audio_latest = 0; unsigned long audio_latest = 0;
int prev_phoneme = 0;
int prev_phoneme_position = 0;
unsigned long prev_phoneme_time = 0;
unsigned int gBufSize = 0; unsigned int gBufSize = 0;
wchar_t *TextBuf=NULL; wchar_t *TextBuf=NULL;
FRAG_OFFSET *frag_offsets = NULL; FRAG_OFFSET *frag_offsets = NULL;
int VisemeCode(unsigned int phoneme_name)
{//======================================
// Convert eSpeak phoneme name into a SAPI viseme code
int ix;
unsigned int ph;
unsigned int ph_name;
#define PH(c1,c2) (c2<<8)+c1 // combine two characters into an integer for phoneme name
const unsigned char initial_to_viseme[128] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0,19, 0, 0, 0, 0, 0,
0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,
4, 2,18,16,17, 4,18,20,12, 6,16,20,14,21,20, 3,
21,20,13,16,17, 4, 1, 5,20, 7,16, 0, 0, 0, 0, 0,
0, 1,21,16,19, 4,18,20,12, 6, 6,20,14,21,19, 8,
21,20,13,15,19, 7,18, 7,20, 7,15, 0, 0, 0, 0, 0 };
const unsigned int viseme_exceptions[] = {
PH('a','I'), 11,
PH('a','U'), 9,
PH('O','I'), 10,
PH('t','S'), 16,
PH('d','Z'), 16,
PH('_','|'), 255,
0
};
ph_name = phoneme_name & 0xffff;
for(ix=0; (ph = viseme_exceptions[ix]) != 0; ix+=2)
{
if(ph == ph_name)
{
return(viseme_exceptions[ix+1]);
}
}
return(initial_to_viseme[phoneme_name & 0x7f]);
}
int SynthCallback(short *wav, int numsamples, espeak_EVENT *events); int SynthCallback(short *wav, int numsamples, espeak_EVENT *events);
int SynthCallback(short *wav, int numsamples, espeak_EVENT *events) int SynthCallback(short *wav, int numsamples, espeak_EVENT *events)
wchar_t *tailptr; wchar_t *tailptr;
unsigned int text_offset; unsigned int text_offset;
int length; int length;
int phoneme_duration;
int this_viseme;
espeak_EVENT *event; espeak_EVENT *event;
#define N_EVENTS 100 #define N_EVENTS 100
m_EngObj->CheckActions(m_OutputSite); m_EngObj->CheckActions(m_OutputSite);
// return the events // return the events
for(event=events; event->type != 0; event++)
for(event=events; (event->type != 0) && (n_Events < N_EVENTS); event++)
{ {
audio_latest = event->audio_position + audio_offset; audio_latest = event->audio_position + audio_offset;
Event->lParam = (long)event->id.name; Event->lParam = (long)event->id.name;
Event->wParam = wcstol((wchar_t *)event->id.name,&tailptr,10); Event->wParam = wcstol((wchar_t *)event->id.name,&tailptr,10);
} }
if(event->type == espeakEVENT_PHONEME)
{
if(event_interest & SPEI_VISEME)
{
phoneme_duration = audio_latest - prev_phoneme_time;
// ignore some phonemes (which translate to viseme=255)
if((this_viseme = VisemeCode(event->id.number)) != 255)
{
Event = &Events[n_Events++];
Event->eEventId = SPEI_VISEME;
Event->elParamType = SPET_LPARAM_IS_UNDEFINED;
Event->ullAudioStreamOffset = ((prev_phoneme_position + audio_offset) * srate)/10; // ms -> bytes
Event->lParam = phoneme_duration << 16 | this_viseme;
Event->wParam = VisemeCode(prev_phoneme);
prev_phoneme = event->id.number;
prev_phoneme_time = audio_latest;
prev_phoneme_position = event->audio_position;
}
}
}
#ifdef deleted #ifdef deleted
if(event->type == espeakEVENT_SENTENCE) if(event->type == espeakEVENT_SENTENCE)
{ {
gEmphasis = 0; gEmphasis = 0;
gSayas = 0; gSayas = 0;
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install,0);
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install,1);
espeak_SetVoiceByName(voice); espeak_SetVoiceByName(voice);
espeak_SetSynthCallback(SynthCallback); espeak_SetSynthCallback(SynthCallback);
m_ullAudioOff = 0; m_ullAudioOff = 0;
m_OutputSite = pOutputSite; m_OutputSite = pOutputSite;
pOutputSite->GetEventInterest(&event_interest);
xVolume = gVolume; xVolume = gVolume;
xSpeed = gSpeed; xSpeed = gSpeed;
} }
audio_latest = 0; audio_latest = 0;
prev_phoneme = 0;
prev_phoneme_time = 0;
prev_phoneme_position = 0;
size = ProcessFragList(pTextFragList,TextBuf,pOutputSite,&n_text_frag); size = ProcessFragList(pTextFragList,TextBuf,pOutputSite,&n_text_frag);
if(size > 0) if(size > 0)

+ 7
- 1
src/numbers.cpp View File



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


if((hundreds >= 10) && (((langopts.numbers & 0x0800) == 0) || (hundreds != 19)))
if(((langopts.numbers & 0x0800) != 0) && (hundreds == 19))
{
// speak numbers such as 1984 as years: nineteen-eighty-four
// ph_100[0] = 0; // don't say "hundred", we also need to surpess "and"
}
else
if(hundreds >= 10)
{ {
ph_digits[0] = 0; ph_digits[0] = 0;



+ 1
- 1
src/speak.cpp View File

int *flag; int *flag;
int val; int val;
}; };
static int optind;
int optind;
static int optional_argument; static int optional_argument;
static const char *arg_opts = "afklpsvw"; // which options have arguments static const char *arg_opts = "afklpsvw"; // which options have arguments
static char *opt_string=""; static char *opt_string="";

+ 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.12 24.Oct.08";
const char *version_string = "1.39.14 02.Nov.08";
const int version_phdata = 0x013900; const int version_phdata = 0x013900;


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

+ 16
- 2
src/tr_languages.cpp View File

int name2 = 0; int name2 = 0;
Translator *tr; Translator *tr;


static const unsigned char stress_amps_sk[8] = {16,16, 20,20, 20,24, 24,22 };
static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210};

// convert name string into a word of up to 4 characters, for the switch() // convert name string into a word of up to 4 characters, for the switch()
while(*name != 0) while(*name != 0)
name2 = (name2 << 8) + *name++; name2 = (name2 << 8) + *name++;
} }
break; break;


case L('l','v'): // latvian
{
tr = new Translator();
SetupTranslator(tr,stress_lengths_sk,stress_amps_sk);

tr->langopts.stress_rule = 0;
tr->langopts.spelling_stress = 1;
tr->charset_a0 = charsets[4]; // ISO-8859-4
tr->langopts.numbers = 0x409;
tr->langopts.stress_flags = 0x16;
}
break;

case L('m','k'): // Macedonian case L('m','k'): // Macedonian
{ {
static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R] static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R]
case L('s','k'): // Slovak case L('s','k'): // Slovak
case L('c','s'): // Czech case L('c','s'): // Czech
{ {
static const unsigned char stress_amps_sk[8] = {16,16, 20,20, 20,24, 24,22 };
static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210};
static const char *sk_voiced = "bdgjlmnrvwzaeiouy"; static const char *sk_voiced = "bdgjlmnrvwzaeiouy";


tr = new Translator(); tr = new Translator();

Loading…
Cancel
Save