Browse Source

[1.47.04a]

Fix: SSML <voice> </voice> lost the current voice.
Fix: French Mbrola voices.
Command-line, add  --ipa=3  separates phoneme names with underscores.
Language changes, an, hi, pt.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@338 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 12 years ago
parent
commit
33577a399f

+ 52
- 33
dictsource/an_list View File

y je $atend y je $atend
ch tSe ch tSe
ll 'El^e ll 'El^e
ny n^e
á 'a||akTEntw'aDa á 'a||akTEntw'aDa
é 'e||akTEntw'aDa é 'e||akTEntw'aDa
í 'i||akTEntw'aDa í 'i||akTEntw'aDa
_x#ª %a _x#ª %a
º orDin'al||maskul'in º orDin'al||maskul'in
ª orDin'al||femen'in ª orDin'al||femen'in
ºc gr'aUs||T'e
ºf gr'aUs||'Efe
ºk gr'aUs||k'a
(1 ºc) un||gr'aU||T'e
ºc gr'aUs||Tentigr'aUs
ºf gr'aUs||f'arEnxeI
ºk gr'aUs||k'elBin


_1ox prim'Er _1ox prim'Er
_2ox seQ'und _2ox seQ'und
\ kontraBaRRa \ kontraBaRRa
| b'aRRaBertik'al | b'aRRaBertik'al
° graUs ° graUs
(1 °) un||gr'aU


_- gj'on _- gj'on
! TaRR'ar||eksklamaTj'on ! TaRR'ar||eksklamaTj'on




// exceptions // exceptions
barça b'arsa
holio x'olio
jazz dZ'as
banjo Banjo
barça barsa
desenyermar DesenjErmar
halar xalar
halma xalma
harcia xarTja
hibo xiBo
hoder xoDer
holgorio xolg'orio
holio x'olio
hopar xopar
huerga xuerga
huerza xuerTa
jacuzzi jakusi
jazz jas
jet jet
judo juDo




// Foreign words // Foreign words
android andr'oId
apple 'apEl
at 'at
chat tS'at
chrome kr'ome
espeak isp'ik
(e speak) isp'ik
facebook f'eIsbuk
firefox f'aIrfoks
google g'ugEl
hotmail xotm'eIl
android androId
apple 'apEl
at at
chat tSat
chrome krome
espeak ispik
(e speak) ispik
facebook f'eIsbuk
firefox f'aIrfoks
google g'ugEl
hardware x'ardwer
hockey xokeI
hotmail xotmeIl
(i phone) 'aIfon (i phone) 'aIfon
iphone 'aIfon
(i pod) 'aIpod
ipod 'aIpod
hardware x'ardwer
linux $1
live l'aIB
messenger m'esendZer
mozilla moT'ila
nvda ene|be|de|'a
office 'ofis
skype esk'aIp
iphone 'aIfon
(i pod) 'aIpod
ipod 'aIpod
junior j'unior
linux $1
live laIB
messenger m'esendZer
mozilla moTila
nvda ene|be|de|'a
office ofis
skype eskaIp
software s'oftwer software s'oftwer
thunderbird Tanderb'ird
twitter tw'iter
unix j'uniks
whatsapp was'app
windows w'indows
thunderbird Tanderbird
twitter tw'iter
unix j'uniks
whatsapp wasap
windows w'indows


//mobile _^_EN //mobile _^_EN

+ 6
- 0
dictsource/an_rules View File


// Aragon translation rules // Aragon translation rules
// This file is UTF-8 encoded // This file is UTF-8 encoded


i i i i
i (u_ i i (u_ i
i (A j i (A j




.group j .group j




.group q .group q
q k
qu (A kw qu (A kw
qü kw qü kw
qu (e k qu (e k
u) t (_ t# u) t (_ t#
ei) t (_ t# ei) t (_ t#
n) t (_ = // silent, but stress on last vowel n) t (_ = // silent, but stress on last vowel
n) t (m // Silent
_pos) t (h t
_pos) t (C // Silent
tz T tz T
ue) t (_ t# ue) t (_ t#
ui) t (_ t# ui) t (_ t#

+ 17
- 16
dictsource/dict_phonemes View File

tS tS` v w x z Z tS tS` v w x z Z




Dictionary an_dict 2013-03-29
Dictionary an_dict 2013-04-04


a aI aU e E eI eU i a aI aU e E eI eU i
o O oI u U o O oI u U
v v# w z v v# w z




Dictionary pt_dict 2013-04-02
Dictionary pt_dict 2013-04-05


& &/ &U~ &~ @ @- a A & &/ &U~ &~ @ @- a A
aI aU e E eI EI eU EU aI aU e E eI EI eU EU
i I i/ iU o O oI OI
o~ u U uI u~ y
i I i/ iU i~ o O oI
OI o~ u U uI u~ y


* : ; b c C d dZ
f g h j k l l^ m
n N n^ p Q r R r-
s S s# s; t T tS ts
v w x z Z
* : ; ? b c C d
dZ f g h j k l l^
m n N n^ p Q r R
r- s S s# s; t T tS
ts v w x z Z




Dictionary bg_dict 2013-03-16 Dictionary bg_dict 2013-03-16
ts v x z ts v x z




Dictionary en_dict 2013-04-02
Dictionary en_dict 2013-04-05


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


* : ; ? b C d D * : ; ? b C d D
d# dZ f g h j k l d# dZ f g h j k l
l# l/ m n N n^ p Q l# l/ m n N n^ p Q
q Q" r R r- R2 s S q Q" r R r- R2 s S
t T t2 tS tS; v w x
z Z z# z.
t T t# t2 tS tS; v w
x z Z z# z.




Dictionary eo_dict 2013-03-08 Dictionary eo_dict 2013-03-08
S s2 t v w Z S s2 t v w Z




Dictionary fr_dict 2013-03-15
Dictionary fr_dict 2013-04-04


@ @- a a- A~ e E e- @ @- a a- A~ e E e-
E: E~ i I o O O~ u E: E~ i I o O O~ u
t tS ts tS; v x z Z t tS ts tS; v x z Z




Dictionary hi_dict 2013-03-31
Dictionary hi_dict 2013-04-05


@ @2 a a: aI aU a~ e @ @2 a a: aI aU a~ e
E e: E: e~ E~ i I i: E e: E: e~ E~ i I i:

+ 7
- 0
dictsource/en_list View File

ok $abbrev ok $abbrev
omg $abbrev omg $abbrev
os $abbrev os $abbrev
osx $abbrev
otoh $abbrev otoh $abbrev
pcie $abbrev pcie $abbrev
pcmcia $abbrev pcmcia $abbrev
genuine dZEnju:I#n genuine dZEnju:I#n
geode dZi:oUd geode dZi:oUd
geologist $2 geologist $2
gettin gEt#n-
geyser gi:z3 geyser gi:z3
?3 geyser gaIz3 ?3 geyser gaIz3
gibbon gIb@n gibbon gIb@n
habitual $alt3 habitual $alt3
haggis hagIs haggis hagIs
haha hA:h'A: haha hA:h'A:
halation $alt3 // in-
halleluiah halI2'lu:j@ halleluiah halI2'lu:j@
hallelujah halI2'lu:j@ hallelujah halI2'lu:j@
halloween $3 halloween $3
purist pju:r-Ist purist pju:r-Ist
purport $2 purport $2
purportedly $2 purportedly $2
puttin pUt#n-
pyjama p@dZA:m@ pyjama p@dZA:m@
pyrites paIr'aIti:z pyrites paIr'aIti:z
pythagoras paIT'ag@r@s pythagoras paIT'ag@r@s
Kosovo k0s@voU Kosovo k0s@voU
Kuala kwA:la# Kuala kwA:la#
Lagos leIg0s Lagos leIg0s
Lahore $alt3
Lebanon lEb@n0n Lebanon lEb@n0n
Leipzig laIpsIg Leipzig laIpsIg
Leone li:'oUn Leone li:'oUn
Phoebe fi:bi: Phoebe fi:bi:
Rachael reItS@L Rachael reItS@L
Rachel reItS@L Rachel reItS@L
Rae reI
Rafael rA:faI'El Rafael rA:faI'El
Rashid rA:S'i:d Rashid rA:S'i:d
Raul raU'u:l Raul raU'u:l
Sonia s0nj@ Sonia s0nj@
Sophie soUfi Sophie soUfi
Stephen sti:v@n Stephen sti:v@n
Stevie sti:vi
Stewart stju:3t Stewart stju:3t
?3 Stewart stu:3t ?3 Stewart stu:3t
Stuart stju:3t Stuart stju:3t

+ 10
- 6
dictsource/en_rules View File

u) ar (ish e@r u) ar (ish e@r
?3 _) ar (istocrat a#r ?3 _) ar (istocrat a#r
log) ar (i @r log) ar (i @r
marg) ar (AtA_ 3r'
m) ar (it ar m) ar (it ar
p) ar (i ar p) ar (i ar
p) ar (in e@ p) ar (in e@
g (eek g g (eek g
_) g (ert g _) g (ert g
_) g (ek g _) g (ek g
g (eld g
ge (nic_ dZ'E ge (nic_ dZ'E
genesis dZ'EnI2sIs genesis dZ'EnI2sIs
geous dZ=@s geous dZ=@s


.group in .group in
@) ing (_+S3dve %IN @) ing (_+S3dve %IN
@) ings (_S4dve %INz
@) ings (_S1m z
@) ingly (_S5dve %INl%I @) ingly (_S5dve %INl%I
@) ingment (_S7dve %INm@nt @) ingment (_S7dve %INm@nt
logu) ing (_S4v %IN logu) ing (_S4v %IN
o (tion oU o (tion oU
m) o (tiv oU m) o (tiv oU
r) o (to oU r) o (to oU
pr) oto oUtoU
pr) oto (C oUtoU
pr) oto (n oUt0 pr) oto (n oUt0
m) otor oUt3 m) otor oUt3
n) o (tor oU n) o (tor oU
Cd) on (_ @n Cd) on (_ @n
?3 ag) on (_ 0n ?3 ag) on (_ 0n
rg) on (_ @n rg) on (_ @n
&k) on (_ @n
&s) on (_ @n &s) on (_ @n
&t) on (_ @n &t) on (_ @n
&tr) on (_ 0n &tr) on (_ 0n
_) re (arm %ri: _) re (arm %ri:
_) re (au@P2 ,ri: _) re (au@P2 ,ri:
re (ck rE re (ck rE
reckon rEk@n
reco (g rEk@ reco (g rEk@
_) re (comP2 r,i: _) re (comP2 r,i:
_) re (conP2 ,ri: _) re (conP2 ,ri:
@) s (hill_ s @) s (hill_ s
@) s (hous s @) s (hous s
_) she' %Si: _) she' %Si:
A) sh (i_ =S
A) sh (A_ =S
&) ship (_S4 SIp &) ship (_S4 SIp
&) ships (_S5 SIps &) ships (_S5 SIps
&) shire (_S5 S3 &) shire (_S5 S3
_) sus (A su:z _) sus (A su:z
su (al Zu: su (al Zu:
n) su (al sju: n) su (al sju:
?3 n) su (al Su:
_) su (b sV _) su (b sV
_) su (bdi s,V _) su (bdi s,V
su (bdue s%V su (bdue s%V
ttu (r t@ ttu (r t@
tz ts tz ts
tze (_ tsi tze (_ tsi
?3 @@A) t (Ary_ t2


.group th .group th
th T th T
d) u (ly ju: d) u (ly ju:
z) u (l_ 'u: z) u (l_ 'u:
&) um (_ @m &) um (_ @m
vol) u (m ju:
vol) u (me ju:
u (ma_ 'u: u (ma_ 'u:
h) u (man ju: h) u (man ju:
u (me ju: u (me ju:




.group ' .group '
's (_S2 z
's (_S2m z
f) 's (_S2 s f) 's (_S2 s
p) 's (_S2 s p) 's (_S2 s
t) 's (_S2 s t) 's (_S2 s

+ 2
- 2
dictsource/fr_rules View File

_) game (X _^_en _) game (X _^_en
girl _^_en // girl girl _^_en // girl
gh (K _^_en gh (K _^_en
gy (_ _^_en
@) gy (_ _^_en




.group h .group h
y (nn i y (nn i


// group y: English section // group y: English section
_C) y (_ _^_en
//_C) y (_ _^_en
AC) y (_ _^_en AC) y (_ _^_en
C) y (e_ _^_en C) y (e_ _^_en
%C) y (_ _^_en %C) y (_ _^_en

+ 15
- 6
dictsource/hi_rules View File

क़ qV क़ qV
क़ (B q क़ (B q


क्ष kSV
क्ष (B kS
.group ख .group ख
ख k#V ख k#V
ख (B k# ख (B k#
ज (B J ज (B J
ज़ zV ज़ zV
ज़ (B z ज़ (B z
ज्ञ gjV
ज्ञ (B gj


.group झ .group झ
झ J#V झ J#V
झ (B J# झ (B J#



.group ञ .group ञ
ञ n^V ञ n^V
ञ (B n^ ञ (B n^
्) ञ (_ n^
्) ञ (_ n^@



.group ट .group ट
ट t.V ट t.V
ढ़ (B r.h // nukta ढ़ (B r.h // nukta


.group ण .group ण
ण n.V // (temporary) same as dental [n]
ण n.V
ण (B n. ण (B n.
्) ण (_ n.@ ्) ण (_ n.@


.group र .group र
र rV र rV
र (B r र (B r
र (_ r
्) र (_ r@ ्) र (_ r@


.group ऱ // rra .group ऱ // rra
ऱ rV // (temporary) same as [r]
ऱ rV // (temporary) same as [r] should this be [r.] or perhaps [z.] ?
ऱ (B r ऱ (B r
्) ऱ (_ r@ ्) ऱ (_ r@


श (B S श (B S


.group ष .group ष
ष s.V //?? or retroflex [S]
ष (B s. //??
ष s.V
ष (B s.


.group स .group स
स sV स sV
स (B s स (B s


.group ह .group ह
ह H
ह HV
ह (B H ह (B H





+ 30
- 21
dictsource/pt_list View File

_\ b,ax&,iNvertS'id& _\ b,ax&,iNvertS'id&
_] f,ES&kowS'etSi _] f,ES&kowS'etSi
_^ s,irku~Nfl'Eksu _^ s,irku~Nfl'Eksu
_´ as'eINtu,ag'udU
__ s,ublin^'adu __ s,ublin^'adu
_` gR'avi _` gR'avi
_{ ,abRiS'avi _{ ,abRiS'avi
_¿ ,iNtex,ogas,&U~,iNvertS'id& _¿ ,iNtex,ogas,&U~,iNvertS'id&


_" 'abRi;'asp&||d'upl&s# _" 'abRi;'asp&||d'upl&s#
Oz'in^U
az'in^U
o*@-dZin'almaskul'i~nU
o*@-dZin'alfemin'i~nU
° gR'aU ° gR'aU




apoio $alt $verb apoio $alt $verb
arredores $alt arredores $alt
arremesso $alt2 $noun arremesso $alt2 $noun
arroto $alt2 $noun
arroz $alt2 arroz $alt2
assembleia $alt assembleia $alt
ateia $alt ateia $alt
borra $alt2 $noun borra $alt2 $noun
bosque $alt bosque $alt
boto $alt2 $noun boto $alt2 $noun
boxe $alt
boxe $alt
brejo $alt brejo $alt
bromelha $alt bromelha $alt
cabelo $alt2 cabelo $alt2
cachorra $alt2 cachorra $alt2
caderneta $alt2 caderneta $alt2
cadete $alt2 cadete $alt2
caibro k'aIbRU
camelha $alt camelha $alt
camelo $alt2 camelo $alt2
caminhonete $alt
caminhonete $alt
camiseta $alt2 camiseta $alt2
cantora $alt2 cantora $alt2
capacete $alt2 capacete $alt2
caractere $alt caractere $alt
carbureto $alt2 carbureto $alt2
careta $alt2 careta $alt2
carrapeta $alt2
carreta $alt2 carreta $alt2
carroça $alt carroça $alt
casebre $alt casebre $alt
cateto $alt2 cateto $alt2
catorze $alt2 catorze $alt2
cebola $alt2 cebola $alt2
cedro $alt
cefaleia $alt cefaleia $alt
centopeia $alt centopeia $alt
cerca $alt cerca $alt
cerca $alt2 $noun cerca $alt2 $noun
cerco $alt $verb cerco $alt $verb
cetro $alt
chamego $alt2 chamego $alt2
chefe $alt chefe $alt
checam $alt checam $alt
faceta $alt2 faceta $alt2
fantoche $alt fantoche $alt
farofa $alt farofa $alt
farolete $alt2
farolete $alt2
febre $alt febre $alt
fera $alt fera $alt
feitora $alt2 feitora $alt2
galera $alt galera $alt
galileia $alt galileia $alt
gameta $alt2 gameta $alt2
garçonete $alt2
garçonete $alt2
geleia $alt geleia $alt
gelo $alt2 gelo $alt2
gelo $alt $verb gelo $alt $verb
joguete $alt2 joguete $alt2
lagosta $alt2 lagosta $alt2
lambreta $alt2 lambreta $alt2
lanchonete $alt
lanchonete $alt
lebre $alt lebre $alt
lembrete $alt2 lembrete $alt2
lepra $alt lepra $alt
leste $alt2 $verb leste $alt2 $verb
?2 lhe ly
lingueta $alt2 lingueta $alt2
lopes $alt lopes $alt
macete $alt2 macete $alt2
maior $alt maior $alt
maleta $alt2 maleta $alt2
marionete $alt
marionete $alt
marreta $alt2 marreta $alt2
megera $alt megera $alt
melhor $alt melhor $alt
modelo $alt2 modelo $alt2
modelo $alt $verb modelo $alt $verb
moeda $alt moeda $alt
moem $alt
moem $alt
mofo $alt $verb mofo $alt $verb
molho $alt2 $noun molho $alt2 $noun
monera $alt monera $alt
obstetra $alt obstetra $alt
odisseia $alt odisseia $alt
onu $1 onu $1
olho $alt2 $noun
olhos $alt
olho $alt2 $noun
olhos $alt
onomatopeia $alt onomatopeia $alt
opereta $alt2 opereta $alt2
ordens $alt ordens $alt
pantera $alt pantera $alt
parede $alt2 parede $alt2
pastora $alt2 pastora $alt2
patinete $alt
patinete $alt
pedra $alt pedra $alt
pela $alt $verb pela $alt $verb
pelo $alt2 pelo $alt2
remorso $alt remorso $alt
renovo $alt $verb renovo $alt $verb
retorno $alt $verb retorno $alt $verb
reuva x'EUv&
reuva x'EUv&
rigores $alt2 rigores $alt2
rixa x'iS& rixa x'iS&
rocha $alt rocha $alt
rock $alt rock $alt
roem $alt
roem $alt
rola $alt2 $noun rola $alt2 $noun
rolo $alt2 $noun rolo $alt2 $noun
rota $alt2 rota $alt2
rota $alt $noun rota $alt $noun
rumores $alt2 rumores $alt2
saibro s'aIbRU
saleta $alt2 saleta $alt2
sarjeta $alt2 sarjeta $alt2
seborreia $alt seborreia $alt
suborno $alt $verb suborno $alt $verb
sufoco $alt2 $noun sufoco $alt2 $noun
sufocos $alt2 sufocos $alt2
super s'Uper
suporto $alt suporto $alt
suor swOr suor swOr
tapete $alt2 tapete $alt2
temores $alt2 temores $alt2
tempero $alt2 $noun tempero $alt2 $noun
tenores $alt2
tenores $alt2
terrores $alt2 terrores $alt2
teta $alt2 teta $alt2
tetra $alt tetra $alt
?1 download d'a,wnl'oud ?1 download d'a,wnl'oud
?2 download daUNl'owd ?2 download daUNl'owd
?3 download dau~Nl'owd ?3 download dau~Nl'owd
drive dR'aivy
driver dR'aiver
drivers dR'aiveRs
?1 end 'end
drive dR'aIv
driver dR'aIver
drivers dR'aIveRs?1 end 'end
?2 esc 'Esk ?2 esc 'Esk
?3 esc 'EskI ?3 esc 'EskI
?1 explorer ,ekspl'O:*&r- ?1 explorer ,ekspl'O:*&r-
?1 express ,Ekspr'Es ?1 express ,Ekspr'Es
espeak isp'i:k espeak isp'i:k
?1 espeakedit isp'i:kEd,it ?1 espeakedit isp'i:kEd,it
facebook feisybuk
facebook feIsybuk
?1 fedora _^_EN ?1 fedora _^_EN
firefox f'ai@fOks firefox f'ai@fOks
?1 front fr'ont ?1 front fr'ont
?1 jaws dZ'au:z ?1 jaws dZ'au:z
?1 linux l,in'uks ?1 linux l,in'uks
?2 linux l'inUks ?2 linux l'inUks
?1 live l'aiv
live l'aiv
?1 maker m'eIk&r- ?1 maker m'eIk&r-
mac mEk
?1 media m'Ed,i& ?1 media m'Ed,i&
?1 messenger m'Es&ndZ&r- ?1 messenger m'Es&ndZ&r-
?1 microsoft m,ik:r'os,Oft ?1 microsoft m,ik:r'os,Oft

+ 16
- 21
dictsource/pt_rules View File

ái (s ''aI ái (s ''aI
á (iCK ''a á (iCK ''a
áy ''aI áy ''aI
ál (C ''aU
ál (B ''aU
áu ''aU áu ''aU
áu (s ''aU áu (s ''aU
?1 ál ''Al ?1 ál ''Al
éi (s ''EI éi (s ''EI
é (iCK ''E é (iCK ''E
éy ''eI éy ''eI
él (C ''EU
él (B ''EU
éu ''EU éu ''EU
éu (s ''EU éu (s ''EU
é (uCK ''E é (uCK ''E
.group f .group f
?1 _) f (_W Ef; // within an acronym ?1 _) f (_W Ef; // within an acronym
?1 _) f (_ Ef // individual letter or end-of-acronym ?1 _) f (_ Ef // individual letter or end-of-acronym
_) f (_ 'Efe
_) f (_ 'Efy
f f f f
f (f f (f
?3 f (B fI ?3 f (B fI
ím (C ''im ím (C ''im
ín (K ''iN ín (K ''iN
ính ''in^ ính ''in^
íl (C ''IU
íl (B ''IU




.group j .group j
.group l .group l
?1 _) l (_W El; // within an acronym ?1 _) l (_W El; // within an acronym
?1 _) l (_ El ?1 _) l (_ El
_) l (_ 'Ele
_) l (_ 'Ely
l l l l
l) l l) l
lh lj
A) lh lj
A) lh l^
lh l^
?4 A) lh l^ ?4 A) lh l^




m) o (vam_ o m) o (vam_ o
o (veCs_ O o (veCs_ O


?1 o (l_ 'O
?2 ol (_ Ow
o (l_ 'O
?2 ol (B ow


om (_ oN om (_ oN
o (ma_ o o (ma_ o
_af) o (bL04_ O _af) o (bL04_ O
_esn) o (bL04_ O _esn) o (bL04_ O
_engl) o (bL04_ O _engl) o (bL04_ O
_) o (cL03_ o
br) o (chL04_ O br) o (chL04_ O
_deb) o (chL04_ O _deb) o (chL04_ O
_m) o (fL01_ O _m) o (fL01_ O
_enr) o (squL02_ O _enr) o (squL02_ O
p) ostos (_ Ost=Us# // dispostos etc. p) ostos (_ Ost=Us# // dispostos etc.
_gar) o (tL03_ o _gar) o (tL03_ o
_mar) o (tL03_ O
pr) o (vL03_ O pr) o (vL03_ O
_g) o (zL04_ O _g) o (zL04_ O
_esb) o (çL01_ O _esb) o (çL01_ O
?3 p (s p ?3 p (s p
?3 p (t p ?3 p (t p
?3 p (_C p_ ?3 p (_C p_
?1 ph f //Didn’t use in European Portuguese (eg: English)
ph f
?1 ple (_ _^_EN ?1 ple (_ _^_EN




?1 _) qua kwa // quatro, etc. ?1 _) qua kwa // quatro, etc.
?1 _) que ke // quente, etc. ?1 _) que ke // quente, etc.
?1 _) quei (C k'eI // queira, queima, etc ?1 _) quei (C k'eI // queira, queima, etc
quên kw'eN // quinquênio, etc.
A) quên kw'eN // frequência, etc.
C) quên kw'eN // quinquênio, etc.
ade) qu (e kw ade) qu (e kw
_a) qu (idade_ kw _a) qu (idade_ kw
_a) qu (ífero_ kw _a) qu (ífero_ kw
A) r (_A * A) r (_A *
rr x rr x
XC) r (A R XC) r (A R
C) r (A *
C) r (A R
_) r x _) r x
l) r x l) r x
n) r (+ x n) r (+ x
.group s .group s
?1 _) s (_W Es|; // within an acronym [s]+[;] not [s;] phoneme ?1 _) s (_W Es|; // within an acronym [s]+[;] not [s;] phoneme
?1 _) s (_ Es ?1 _) s (_ Es
?2 _) s (_ 'Ese
?2 _) s (_ 'Esy
s s s s
ss s ss s
sc (Y s sc (Y s
?1 A) s (G+ Z ?1 A) s (G+ Z
?1 A) s (_KS1 s# ?1 A) s (_KS1 s#
?1 A) s (_G+S1 Z ?1 A) s (_G+S1 Z
s (b z
s (d z
s (g z
s (l z
s (m z
s (n z
s (G z
sr zx sr zx
s (v z


_) sobre (@P5 sob*e _) sobre (@P5 sob*e



+ 1
- 0
espeak-data/voices/!v/m3 View File

formant 7 100 100 100 formant 7 100 100 100
formant 8 100 100 100 formant 8 100 100 100


consonants 100
stressAdd 10 10 0 0 0 0 -30 -30 stressAdd 10 10 0 0 0 0 -30 -30

+ 1
- 1
phsource/compile_report View File

fr 64 146 fr 64 146
fr-ca 11 146 fr-ca 11 146
nl 35 130 nl 35 130
hi 57 149
hi 58 149
bn 12 152 bn 12 152
ne 18 157 ne 18 157
ur 6 149 ur 6 149

+ 2
- 1
phsource/mbrola/fr1 View File

volume 17


0 l/2 NULL 0 l 0 l/2 NULL 0 l
0 l/ NULL 0 l 0 l/ NULL 0 l
0 j/ NULL 0 j 0 j/ NULL 0 j
0 ; NULL 0 NULL 0 ; NULL 0 NULL
0 g- NULL 0 NULL 0 g- NULL 0 NULL
0 @- NULL 0 NULL
0 @3 NULL 0 NULL 0 @3 NULL 0 NULL
0 * NULL 0 R 0 * NULL 0 R
0 : NULL 0 NULL 0 : NULL 0 NULL
0 z2 NULL 0 z 0 z2 NULL 0 z
0 z3 NULL 0 z 0 z3 NULL 0 z


0 @- NULL 0 @
0 a- NULL 0 a 0 a- NULL 0 a
0 e- NULL 0 e 0 e- NULL 0 e
0 y- NULL 0 y 0 y- NULL 0 y

+ 25
- 1
phsource/ph_hindi View File

vowel flag1 starttype #@ endtype #@ vowel flag1 starttype #@ endtype #@
length 130 length 130


IF thisPh(isWordStart) THEN
FMT(vowel/V_3)
RETURN
ENDIF

IF thisPh(isNotStressed) THEN IF thisPh(isNotStressed) THEN
IF prevPh(H) THEN IF prevPh(H) THEN
ChangePhoneme(@) ChangePhoneme(@)
ChangePhoneme(NULL) ChangePhoneme(NULL)
ENDIF ENDIF


IF NOT nextVowel(isFlag1) THEN
IF prev2PhW(isVowel) AND NOT nextVowel(isFlag1) THEN
IF thisPh(isSeqFlag1) THEN IF thisPh(isSeqFlag1) THEN
// delete the last inherent vowel of a sequence // delete the last inherent vowel of a sequence
ChangePhoneme(NULL) ChangePhoneme(NULL)
endphoneme endphoneme




phoneme r
liquid rhotic
lengthmod 3
IF thisPh(isWordEnd) THEN
CALL base/r/
ELSE
IF prevPhW(isVowel) THEN
IF nextPhW(isNotVowel) OR nextPhW(V) THEN
ChangePhoneme(*)
ENDIF
ENDIF
CALL base/r
ENDIF
ipa ɾ
endphoneme


+ 52
- 14
platforms/riscos/cpp/speak_riscos View File

char wavefile[120]; char wavefile[120];
char textbuffile[L_tmpnam]; char textbuffile[L_tmpnam];
int sample_rate_index; // current value int sample_rate_index; // current value
int current_voice_num=0;
char current_voice_name[40] = {0};
int n_voice_files = 0; int n_voice_files = 0;
int n_voice_variant_files = 0; int n_voice_variant_files = 0;




path_len = strlen(directory); path_len = strlen(directory);


voice_variant_names[0] = "(none)";
n_voice_variant_files = 1;

while(regs.r[3] > 0) while(regs.r[3] > 0)
{ {
error = _kernel_swi(0x0c+os_X,&regs,&regs); /* OS_GBPB 10, read directory entries */ error = _kernel_swi(0x0c+os_X,&regs,&regs); /* OS_GBPB 10, read directory entries */
{ {
int c; int c;
int ix; int ix;
char *vname;
static static_length=0; static static_length=0;
static int user_token=0; /* increment for each call of translate() */ static int user_token=0; /* increment for each call of translate() */
_kernel_swi_regs regs; _kernel_swi_regs regs;


option_endpause = 1; option_endpause = 1;


if((voice_num >= 0) && (voice_num != current_voice_num) && (voice_num < N_VOICE_NAMES))
vname = voice_names[voice_num];
if((voice_num >= 0) && (strcmp(vname, current_voice_name) != 0) && (voice_num < N_VOICE_NAMES))
{ {
SetVoiceByName(voice_names[voice_num]); SetVoiceByName(voice_names[voice_num]);
WavegenSetVoice(voice);
WavegenSetVoice(voice);
} }
current_voice_num = voice_num;
strcmp(current_voice_name, vname);


/* don't count CR as terminator if length is specified */ /* don't count CR as terminator if length is specified */
if(len > 0) terminator = 0; if(len > 0) terminator = 0;
option_waveout = 0; option_waveout = 0;
option_multibyte = 0; // auto option_multibyte = 0; // auto
option_capitals = 0; option_capitals = 0;
option_punctuation = 0;
option_punctlist[0] = 0;
if(reg2 >= 0)
{
// not using SWI_SPEAK+14 to set voice and punctiation option
option_punctuation = 0;
option_punctlist[0] = 0;
}
else
{
SetParameter(espeakPUNCTUATION,option_punctuation,0);
}
} /* end of set_say_options */ } /* end of set_say_options */




case 3: case 3:
// translate into phonemes // translate into phonemes
use_ipa = 0; use_ipa = 0;
if((r[2] >= 1) && (use_ipa <= 3))
if((r[2] >= 1) && (use_ipa <= 4))
use_ipa = r[2]; use_ipa = r[2];
TranslateClause(translator,NULL,(char *)r[1],NULL,NULL); TranslateClause(translator,NULL,(char *)r[1],NULL,NULL);
GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa);
if(r[1] < N_VOICE_NAMES) if(r[1] < N_VOICE_NAMES)
{ {
SetVoiceByName(voice_names[r[1]]); SetVoiceByName(voice_names[r[1]]);
current_voice_num = r[1];
strcmp(current_voice_name, voice_names[r[1]]);
WavegenSetVoice(voice); WavegenSetVoice(voice);
} }
break; break;
int value; int value;
int value2; int value2;
int q_length; int q_length;
char *p;
int ix;
value = r[0]; value = r[0];


switch(swi_no) switch(swi_no)


case 0: // ready ? case 0: // ready ?
// returns the index into the source text of the currently speaking word // returns the index into the source text of the currently speaking word
if(current_source_index > 0)
r[1] = current_source_index-1;
ix = current_source_index & 0x7ff;
if(ix > 0)
r[1] = ix-1;
else else
r[1] = current_source_index; /* source index */
r[1] = ix; /* source index */
r[2] = 0; /* source tag */ r[2] = 0; /* source tag */
r[3] = 0; /* for future expansion */ r[3] = 0; /* for future expansion */
r[4] = 0; r[4] = 0;
r[5] = 0; r[5] = 0;


if(WcmdqUsed() < 5)
if((WcmdqUsed() < 5) && (more_text == 0))
{ {
r[0] = -1; /* ready, or nearly */ r[0] = -1; /* ready, or nearly */
} }
break; break;


case 14: // set voice by name case 14: // set voice by name
SetVoiceByName((char *)r[0]);
WavegenSetVoice(voice);
p = (char *)r[0];
if(strcmp(p, current_voice_name) != 0)
{
SetVoiceByName(p);
WavegenSetVoice(voice);
strcpy(current_voice_name, p);
}
option_punctuation = 0;
if(r[1] != 0)
{
p = (char *)r[1];
if(p[0] == 0)
option_punctuation = 1;
else
{
for(ix=0; ix < N_PUNCTLIST; ix++)
{
if((option_punctlist[ix] = p[ix]) == 0)
break;
}
option_punctlist[N_PUNCTLIST-1] = 0;
option_punctuation = 2;
}
}
break; break;
} }
return(NULL); return(NULL);

+ 17
- 0
src/dictionary.cpp View File

char *buf; char *buf;
int count; int count;
int flags; int flags;
int separate_phonemes = 0;
char phon_buf[30]; char phon_buf[30];
char phon_buf2[30]; char phon_buf2[30];
PHONEME_LIST *plist; PHONEME_LIST *plist;
static const char *stress_chars = "==,,''"; static const char *stress_chars = "==,,''";
static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner


if(use_ipa == 4)
{
// separate individual phonemes with underscores
use_ipa = 1;
separate_phonemes = '_';
}

if(phon_out != NULL) if(phon_out != NULL)
{ {
for(ix=1; ix<(n_phoneme_list-2); ix++) for(ix=1; ix<(n_phoneme_list-2); ix++)
plist = &phoneme_list[ix]; plist = &phoneme_list[ix];
if(plist->newword) if(plist->newword)
*buf++ = ' '; *buf++ = ' ';
else
{
if((separate_phonemes != 0) && (ix > 1))
{
*buf++ = separate_phonemes;
}
}


if(plist->synthflags & SFLAG_SYLLABLE) if(plist->synthflags & SFLAG_SYLLABLE)
{ {
if(c != 0) if(c != 0)
{ {
buf += utf8_out(c, buf); buf += utf8_out(c, buf);
if(separate_phonemes)
*buf++ = separate_phonemes;
} }
} }
} }

+ 2
- 2
src/espeak.cpp View File

"\t Compile pronunciation rules and dictionary from the current\n" "\t Compile pronunciation rules and dictionary from the current\n"
"\t directory. <voice name> specifies the language\n" "\t directory. <voice name> specifies the language\n"
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n" "--ipa Write phonemes to stdout using International Phonetic Alphabet\n"
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n"
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ, --ipa=3 Separate with _\n"
"--path=\"<path>\"\n" "--path=\"<path>\"\n"
"\t Specifies the directory containing the espeak-data directory\n" "\t Specifies the directory containing the espeak-data directory\n"
"--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n" "--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n"
{ {
value = -1; value = -1;
sscanf(optarg2,"%d",&value); sscanf(optarg2,"%d",&value);
if((value<0) || (value>2))
if((value<0) || (value>3))
{ {
fprintf(stderr,"Bad value for -ipa=\n"); fprintf(stderr,"Bad value for -ipa=\n");
value = 0; value = 0;

+ 2
- 2
src/speak.cpp View File

"\t Compile pronunciation rules and dictionary from the current\n" "\t Compile pronunciation rules and dictionary from the current\n"
"\t directory. <voice name> specifies the language\n" "\t directory. <voice name> specifies the language\n"
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n" "--ipa Write phonemes to stdout using International Phonetic Alphabet\n"
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n"
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ, --ipa=3 Separate with _\n"
"--path=\"<path>\"\n" "--path=\"<path>\"\n"
"\t Specifies the directory containing the espeak-data directory\n" "\t Specifies the directory containing the espeak-data directory\n"
"--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n" "--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n"
{ {
value = -1; value = -1;
sscanf(optarg2,"%d",&value); sscanf(optarg2,"%d",&value);
if((value<0) || (value>2))
if((value<0) || (value>3))
{ {
fprintf(stderr,"Bad value for -ipa=\n"); fprintf(stderr,"Bad value for -ipa=\n");
value = 0; value = 0;

+ 1
- 1
src/synthdata.cpp View File

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


const char *version_string = "1.47.04 02.Apr.13";
const char *version_string = "1.47.04a 05.Apr.13";
const int version_phdata = 0x014701; const int version_phdata = 0x014701;


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

+ 1
- 1
src/synthesize.cpp View File

{ {
int use_ipa = 0; int use_ipa = 0;
if(option_phonemes >= 3) if(option_phonemes >= 3)
use_ipa = option_phonemes-2; // 1=ipa, 2=ipa with tie, 3=ipa with ZWJ
use_ipa = option_phonemes-2; // 1=ipa, 2=ipa with tie, 3=ipa with ZWJ, 4=ipa with separators


GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa);
if(option_phonemes > 0) if(option_phonemes > 0)

+ 1
- 0
src/voice.h View File



typedef struct { typedef struct {
char v_name[40]; char v_name[40];
char language_name[20];


int phoneme_tab_ix; // phoneme table number int phoneme_tab_ix; // phoneme table number
int pitch_base; // Hz<<12 int pitch_base; // Hz<<12

+ 6
- 3
src/voices.cpp View File

voice->n_harmonic_peaks = 5; voice->n_harmonic_peaks = 5;
voice->peak_shape = 0; voice->peak_shape = 0;
voice->voicing = 64; voice->voicing = 64;
voice->consonant_amp = 90; // change to 85 for v.1.47 was 100
voice->consonant_amp = 90; // change from 100 to 90 for v.1.47
voice->consonant_ampv = 100; voice->consonant_ampv = 100;
voice->samplerate = samplerate_native; voice->samplerate = samplerate_native;
memset(voice->klattv,0,sizeof(voice->klattv)); memset(voice->klattv,0,sizeof(voice->klattv));


new_translator = SelectTranslator(translator_name); new_translator = SelectTranslator(translator_name);
langopts = &new_translator->langopts; langopts = &new_translator->langopts;
strncpy0(voice->language_name, language_name, sizeof(voice->language_name));
} }
} }
break; break;
} }


DoVoiceChange(voice); DoVoiceChange(voice);
voice_selector.languages = voice->language_name;
SetVoiceStack(&voice_selector, variant_name); SetVoiceStack(&voice_selector, variant_name);
return(EE_OK); return(EE_OK);
} }
LoadVoice(variant_name,2); LoadVoice(variant_name,2);
} }
DoVoiceChange(voice); DoVoiceChange(voice);
voice_selector.languages = voice->language_name;
SetVoiceStack(&voice_selector, variant_name); SetVoiceStack(&voice_selector, variant_name);
return(EE_OK); return(EE_OK);
} }
ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
{//======================================================================== {//========================================================================
char path_voices[sizeof(path_home)+12]; char path_voices[sizeof(path_home)+12];
#ifdef PLATFORM_RISCOS #ifdef PLATFORM_RISCOS
if(n_voices_list == 0) if(n_voices_list == 0)
{ {

Loading…
Cancel
Save