mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Merge branch 'upstream' into development
Conflicts: dictsource/dict_phonemes phsource/compile_report phsource/ph_sinhala phsource/ph_urdu platforms/windows/make_espeak.iss platforms/windows/make_espeakedit.iss
This commit is contained in:
+39
-20
@@ -325,37 +325,54 @@ _zh tS'aIni:z
|
||||
// Arabic letters
|
||||
|
||||
ء h'amza
|
||||
آ 'Elifm,adda#
|
||||
أ 'Elifh,amza
|
||||
ا 'Elif
|
||||
ب bE?
|
||||
آ al'if_mamd'uda#
|
||||
أ h'amza_taht_al'if
|
||||
ؤ h'amza_?la_waw
|
||||
إ al'if_taht_h'amza
|
||||
ئ h'amza_?la_jE?
|
||||
ا al'if
|
||||
ب ba
|
||||
ة t'E?maR2b'uta#
|
||||
ت tE?
|
||||
ت ta
|
||||
ث TE?
|
||||
ج ZIm
|
||||
ج dZi:m
|
||||
ح hE?
|
||||
خ xE?
|
||||
د dEl/1
|
||||
ذ DEl/1
|
||||
د dal/1
|
||||
ذ Dal/1
|
||||
ر R2A:?
|
||||
ز zEjn
|
||||
س si:n
|
||||
ش Si:n
|
||||
ص sO:d@-
|
||||
ض dO:d@-
|
||||
ص sa:d@-
|
||||
ض da:d@-
|
||||
ط thA:?
|
||||
ظ DA:?
|
||||
ع ?ajn
|
||||
غ Q"ajn
|
||||
ف fE?
|
||||
ق qO:f
|
||||
ك kEf
|
||||
ل lEm
|
||||
ع '?Ein
|
||||
غ 'Q"Ein
|
||||
ف fa
|
||||
ق qa:f
|
||||
ك kaf
|
||||
ل lam
|
||||
م mi:m
|
||||
ن nu|:n
|
||||
ه hE?
|
||||
و wO:w
|
||||
ه ha
|
||||
و waw
|
||||
ى al'if_maks'ura
|
||||
ي jE?
|
||||
// Farsi
|
||||
پ pa
|
||||
چ tSa
|
||||
ژ Za
|
||||
گ ga:f
|
||||
ی f'A@si||j'e
|
||||
ک k'a:f
|
||||
// Urdu
|
||||
ٹ te
|
||||
ڈ de
|
||||
ڑ z.e
|
||||
ے barij'e
|
||||
ھ h'@
|
||||
|
||||
َ a
|
||||
ِ i
|
||||
@@ -725,6 +742,7 @@ aka aka#
|
||||
alas a#l'as
|
||||
albeit O:lb'i:It
|
||||
alfalfa alf'alf@
|
||||
algebra aldZI2br@
|
||||
alias eIli@s
|
||||
alibi al@baI
|
||||
alibis al@baIz
|
||||
@@ -2793,7 +2811,6 @@ tear te@ $verb
|
||||
(tear apart) t,e@||a#pA@t
|
||||
(tear off) t'e@||'0f
|
||||
teargas ti@3gas
|
||||
techy tEki
|
||||
teddybear t'EdIb,e@
|
||||
telemetry t@lEm@tri
|
||||
telepathy t@lEp@Ti
|
||||
@@ -3255,8 +3272,9 @@ Lvov l@-v0v
|
||||
?5 Luxembourg lVks@mbVRg
|
||||
Madagascar mad@g'ask3
|
||||
Madras m@draas
|
||||
Madrid m@drId
|
||||
Madrid m@drId
|
||||
Malawi $alt3
|
||||
Malayalam maleI'A:l@m
|
||||
Maldives mO:ld'i:v
|
||||
Mali mA:li
|
||||
Mandalay $3
|
||||
@@ -3384,6 +3402,7 @@ Wisconsin wI2sk'0nsI2n
|
||||
Wyoming waI'oUmIN
|
||||
Xhosa kO:s@
|
||||
Yemen $alt2
|
||||
Yosemite joUs'Em@ti
|
||||
zaire zaI'i@3
|
||||
zimbabwe zI2mbA:bwi
|
||||
zimbabwean zI2mbA:bwI@n
|
||||
|
||||
@@ -1464,6 +1464,7 @@
|
||||
a) ch (il k
|
||||
bra) ch k
|
||||
te) ch (K k
|
||||
_te) ch k
|
||||
ch (isC k
|
||||
ch (ic_ k
|
||||
@@Car) ch (_ k
|
||||
@@ -3035,6 +3036,7 @@
|
||||
&n) iel (_ j@L
|
||||
&r) iel (_ =i:@L
|
||||
ie (n i@
|
||||
&) ie (n_ =i@n
|
||||
d) iene (_ 'aIi:n
|
||||
ie (ntal I'E
|
||||
g) ie (n i:
|
||||
|
||||
+37
-16
@@ -329,8 +329,7 @@ vocês $u2+ $verbf
|
||||
eles $u+ $verbf
|
||||
elas $u+ $verbf
|
||||
|
||||
me $u // reflexive
|
||||
me $u $verbf
|
||||
me $u $verbf // reflexive
|
||||
te $u $verbf
|
||||
nos $u $nounf
|
||||
la $u
|
||||
@@ -345,7 +344,7 @@ se $u
|
||||
?2 nesta $u+ $nounf
|
||||
?2 neste $u+ $nounf n'estSi //in this
|
||||
?2 esse $u+ $nounf 'esi // that
|
||||
essa 'Es& $u+
|
||||
essa 'Es& $u+ $noun
|
||||
desse $u+ $nounf
|
||||
desta $nounf
|
||||
nesse n'esy $u+ $nounf
|
||||
@@ -384,7 +383,7 @@ duma $u $nounf
|
||||
duns $u $nounf
|
||||
dumas $u $nounf
|
||||
|
||||
em $u // in,on,at
|
||||
em $u $noun // in,on,at
|
||||
no nu $u $nounf
|
||||
na $u $nounf
|
||||
num $u $nounf
|
||||
@@ -427,7 +426,7 @@ com $u // with
|
||||
// conjunctions
|
||||
?1 e i $u // and
|
||||
?2 e i $u // and
|
||||
se $u // if
|
||||
se $u+ $verbf // if
|
||||
|
||||
|
||||
?2 mas $u // but
|
||||
@@ -522,7 +521,7 @@ estão $u
|
||||
|
||||
estava $u
|
||||
estávamos $u
|
||||
astavam $u
|
||||
estavam $u
|
||||
|
||||
estive $u
|
||||
?2 esteve estevy $u2
|
||||
@@ -619,9 +618,14 @@ o O $atend
|
||||
|
||||
|
||||
// some common adjectives and adverbs
|
||||
alguns $u // some
|
||||
algumas $u // some
|
||||
não n,&U~ $strend // not
|
||||
alguns $u $noun // some
|
||||
algumas $u $noun // some
|
||||
não n,&U~ $verbf $strend // not
|
||||
nunca $u+ $verbf
|
||||
sempre $u+ $verbf
|
||||
qualquer $u $nounf
|
||||
quaisquer $u $nounf
|
||||
jamais $u+ $verbf
|
||||
|
||||
|
||||
// MAIN WORD DICTIONARY
|
||||
@@ -643,9 +647,9 @@ aeroporto $alt2
|
||||
aeroportos $alt
|
||||
albatrozes $alt
|
||||
alcateia $alt
|
||||
alcova $alt2
|
||||
alferes $alt
|
||||
algozes $alt
|
||||
alicerce $alt
|
||||
almoço $alt $verb
|
||||
ameba $alt
|
||||
amores $alt2
|
||||
@@ -675,6 +679,7 @@ beco $alt2
|
||||
besta $alt2
|
||||
bilhete $alt2
|
||||
boca $alt2
|
||||
boceta $alt2
|
||||
bochecha $alt2
|
||||
bojo $alt2
|
||||
boleia $alt
|
||||
@@ -686,6 +691,7 @@ bordo $alt
|
||||
borra $alt2 $noun
|
||||
bosque $alt
|
||||
boto $alt2 $noun
|
||||
boxe $alt
|
||||
brejo $alt
|
||||
bromelha $alt
|
||||
cabelo $alt2
|
||||
@@ -696,6 +702,7 @@ caderneta $alt2
|
||||
cadete $alt2
|
||||
camelha $alt
|
||||
camelo $alt2
|
||||
caminhonete $alt
|
||||
camiseta $alt2
|
||||
cantora $alt2
|
||||
capacete $alt2
|
||||
@@ -832,11 +839,13 @@ explore $alt
|
||||
faceta $alt2
|
||||
fantoche $alt
|
||||
farofa $alt
|
||||
farolete $alt2
|
||||
febre $alt
|
||||
fera $alt
|
||||
feitora $alt2
|
||||
ferozes $alt
|
||||
fezes $alt
|
||||
filete $alt2
|
||||
?1 fixe fiSy
|
||||
foda $alt2 $verb
|
||||
fogos $alt
|
||||
@@ -856,6 +865,7 @@ fulgores $alt2
|
||||
galera $alt
|
||||
galileia $alt
|
||||
gameta $alt2
|
||||
garçonete $alt2
|
||||
geleia $alt
|
||||
gelo $alt2
|
||||
gelo $alt $verb
|
||||
@@ -884,6 +894,7 @@ jogo $alt2 $noun
|
||||
joguete $alt2
|
||||
lagosta $alt2
|
||||
lambreta $alt2
|
||||
lanchonete $alt
|
||||
lebre $alt
|
||||
lembrete $alt2
|
||||
lepra $alt
|
||||
@@ -893,6 +904,7 @@ lopes $alt
|
||||
macete $alt2
|
||||
maior $alt
|
||||
maleta $alt2
|
||||
marionete $alt
|
||||
marreta $alt2
|
||||
megera $alt
|
||||
melhor $alt
|
||||
@@ -911,6 +923,7 @@ miolos $alt
|
||||
modelo $alt2
|
||||
modelo $alt $verb
|
||||
moeda $alt
|
||||
moem $alt
|
||||
mofo $alt $verb
|
||||
molho $alt2 $noun
|
||||
monera $alt
|
||||
@@ -930,12 +943,14 @@ namoro $alt2 $noun
|
||||
naquela $nounf
|
||||
naquele $alt2 $nounf
|
||||
nervo $alt2
|
||||
nojo $alt2
|
||||
novelo $alt2
|
||||
novos $alt
|
||||
obstetra $alt
|
||||
odisseia $alt
|
||||
onu $1
|
||||
olho $alt2 $noun
|
||||
olho $alt2 $noun
|
||||
olhos $alt
|
||||
onomatopeia $alt
|
||||
opereta $alt2
|
||||
ordens $alt
|
||||
@@ -953,10 +968,9 @@ pangeia $alt
|
||||
pantera $alt
|
||||
parede $alt2
|
||||
pastora $alt2
|
||||
patinete $alt
|
||||
pedra $alt
|
||||
pela $alt $verb
|
||||
pelego $alt2
|
||||
pela $alt $verb
|
||||
pelo $alt2
|
||||
pelo $alt $verb
|
||||
peso $alt $verb
|
||||
@@ -998,11 +1012,12 @@ relevo $alt2 $noun
|
||||
remorso $alt
|
||||
renovo $alt $verb
|
||||
retorno $alt $verb
|
||||
reuva $alt
|
||||
reuva x'EUv&
|
||||
rigores $alt2
|
||||
rixa x'iS&
|
||||
rocha $alt
|
||||
rock $alt
|
||||
roem $alt
|
||||
rola $alt2 $noun
|
||||
rolo $alt2 $noun
|
||||
rota $alt2
|
||||
@@ -1037,6 +1052,7 @@ suor swOr
|
||||
tapete $alt2
|
||||
temores $alt2
|
||||
tempero $alt2 $noun
|
||||
tenores $alt2
|
||||
terrores $alt2
|
||||
teta $alt2
|
||||
tetra $alt
|
||||
@@ -1068,7 +1084,6 @@ voga $alt
|
||||
vozes $alt
|
||||
xarope $alt
|
||||
zelo $alt2 $noun
|
||||
zero $alt
|
||||
zorra $alt2
|
||||
|
||||
|
||||
@@ -1095,6 +1110,9 @@ book buk
|
||||
?1 download d'a,wnl'oud
|
||||
?2 download daUNl'owd
|
||||
?3 download dau~Nl'owd
|
||||
drive dR'aivy
|
||||
driver dR'aiver
|
||||
drivers dR'aiveRs
|
||||
?1 end 'end
|
||||
?2 esc 'Esk
|
||||
?3 esc 'EskI
|
||||
@@ -1135,6 +1153,7 @@ laptop lEptOp
|
||||
?1 ovo 'ovu
|
||||
?1 pause p'au:z
|
||||
page p'eIdZ
|
||||
pizza p'its&
|
||||
python p'aIT&~N
|
||||
?1 readme r'i:dmi:
|
||||
?1 sapi s,ap'i
|
||||
@@ -1150,6 +1169,7 @@ símbolo s'imbolU
|
||||
?1 space sp'eIsy
|
||||
?1 sporting sp'Ort,ing
|
||||
tab t'aby
|
||||
tablet t'ablet
|
||||
?1 telemóvel t,El,Em'OvEl
|
||||
?1 telemóveis t,El,Em'OveIs#
|
||||
?1 up &p
|
||||
@@ -1190,7 +1210,8 @@ facebook feisybuk
|
||||
?2 microsoft m'aIkRows'Oft
|
||||
?1 movie m'uvi
|
||||
?1 nero n'Eru
|
||||
?1 office 'Of,is
|
||||
/1 office 'Of,is
|
||||
?2 office 'Ofsy
|
||||
openoffice 'opeIN|'Ofis
|
||||
?1 outlook 'autl'uk
|
||||
?2 Outlook ,aUtl'uk
|
||||
|
||||
+20
-10
@@ -47,7 +47,6 @@
|
||||
?1 a (lK ,A // Algarve, Almerinda, etc...
|
||||
?2 al (K aU
|
||||
a (lh+ a
|
||||
|
||||
a (m &~
|
||||
a (mAr_ &
|
||||
a (mA@ &
|
||||
@@ -274,7 +273,6 @@
|
||||
e (xA_ E
|
||||
e (xAm_ E
|
||||
?2 _n) e (t E
|
||||
|
||||
em (C eIm
|
||||
en (K eIN
|
||||
enh en^
|
||||
@@ -368,6 +366,7 @@
|
||||
_perd) e (L05_ e
|
||||
_quis) e (L05_ E
|
||||
_soub) e (L05_ E
|
||||
_talh) e (L05_ E
|
||||
_trem) e (L05_ e
|
||||
diss) e (L06_ E // contra-
|
||||
fend) e (L06_ e // de- o-
|
||||
@@ -461,6 +460,7 @@ respond) e (L07_ e // cor-
|
||||
_hosp) e (dL03_ E
|
||||
_gr) e (gL03_ e
|
||||
_gal) e (gL03_ e
|
||||
_pel) e (gL03_ e
|
||||
_n) e (grL03_ e
|
||||
_ch) e (guL02_ e
|
||||
estr) ei (L04_ EI
|
||||
@@ -474,10 +474,12 @@ respond) e (L07_ e // cor-
|
||||
_reit) e (rL03_ E
|
||||
_sinc) e (rL03_ E
|
||||
_g) e (rL04_ E
|
||||
_z) e (rL04_ E
|
||||
qu) e (rL04_ E // re-
|
||||
_op) e (rL04_ E
|
||||
gen) e (rL04_ E // de- re-
|
||||
_alt) e (rL04_ E
|
||||
_enc) e (rL04_ E
|
||||
_sug) e (rL04_ E
|
||||
_sup) e (rL04_ E
|
||||
_tol) e (rL04_ E
|
||||
@@ -489,12 +491,16 @@ respond) e (L07_ e // cor-
|
||||
_recup) e (rL04_ E
|
||||
_refrig) e (rL04_ E
|
||||
_v) e (rbL03_ E
|
||||
_alic) e (rcL02_ E
|
||||
_p) e (rdL02_ E
|
||||
_l) e (rdL03_ E
|
||||
_h) e (rdL04_ E
|
||||
_bez) e (rrL03_ e
|
||||
_inv) e (rtL03_ e
|
||||
_f) e (rvL03_ e
|
||||
_alic) e (rçL03_ E
|
||||
_p) e (sL01_ E
|
||||
_l) e (sL03_ E
|
||||
_refr) e (scL01_ E
|
||||
_d) e (scL02_ E
|
||||
_cr) e (scL02_ E
|
||||
@@ -520,6 +526,7 @@ _obsol) e (tL03_ e
|
||||
_atr) e (vL03_ e
|
||||
_r) e (zL04_ E
|
||||
_pr) e (zL04_ E
|
||||
_rev) e (zL04_ E
|
||||
_despr) e (zL04_ E
|
||||
_embel) e (zL04_ E
|
||||
_menospr) e (zL04_ E
|
||||
@@ -688,9 +695,9 @@ _entorp) e (çL03_ e
|
||||
_) l (_ 'Ele
|
||||
l l
|
||||
l) l
|
||||
lh l^
|
||||
lh lj
|
||||
A) lh lj
|
||||
?1 A) lh l^
|
||||
A) lh l^
|
||||
?4 A) lh l^
|
||||
|
||||
|
||||
@@ -756,6 +763,9 @@ _entorp) e (çL03_ e
|
||||
o (lA_ O
|
||||
o (lAm_ O
|
||||
|
||||
o (lhe_ O
|
||||
o (lhem_ O
|
||||
|
||||
o (ltA_ O
|
||||
o (ltAm_ O
|
||||
|
||||
@@ -778,9 +788,7 @@ _entorp) e (çL03_ e
|
||||
|
||||
?1 o (l_ 'O
|
||||
?2 ol (_ Ow
|
||||
o (lh o
|
||||
?2 _) o (lhA_ O
|
||||
?2 _) o (lhAm_ O
|
||||
|
||||
om (_ oN
|
||||
o (ma_ o
|
||||
|
||||
@@ -838,6 +846,7 @@ _entorp) e (çL03_ e
|
||||
|
||||
//sort
|
||||
_f) o (L05_ o
|
||||
_pormen) o (L05_ O
|
||||
_f) o (L07_ o
|
||||
_s) o (bL02_ O
|
||||
_af) o (bL04_ O
|
||||
@@ -859,9 +868,8 @@ _entorp) e (çL03_ e
|
||||
_t) o (lL03_ o
|
||||
_f) o (lgL04_ O
|
||||
_emp) o (lgL04_ O
|
||||
c) o (lhL02_ O // es- en- re-
|
||||
_t) o (lhL02_ O
|
||||
_m) o (lhL04_ O
|
||||
_) o (lhL04_ O
|
||||
m) o (lhL04_ O
|
||||
ent) o (pL02_ O
|
||||
_c) o (pL03_ O
|
||||
_ens) o (pL04_ O
|
||||
@@ -1057,6 +1065,8 @@ _remem) o (rL04_ O
|
||||
u (iu w
|
||||
u (iCK u
|
||||
uy uI
|
||||
ul (K uw
|
||||
u (lh+ u
|
||||
|
||||
um (_ u~N
|
||||
um (C u~m
|
||||
|
||||
+2
-2
@@ -28,7 +28,7 @@ _10 d;'es;It;
|
||||
_11 Od;'innVttsVt;
|
||||
_12 dv;In'AttsVt;
|
||||
_13 tR;In'AttsVt;
|
||||
_14 ts;It'y@-*nVttsVt;
|
||||
_14 tS;It'y@-*nVttsVt;
|
||||
_15 p;Itn'AttsVt;
|
||||
_16 SE#stn'AttsVt;
|
||||
_17 s;Imn'AttsVt;
|
||||
@@ -45,7 +45,7 @@ _9X d;E2v;In'ostO
|
||||
_0C st'o
|
||||
_2C dv;'es;t;I
|
||||
_3C tr;'ista
|
||||
_4C ts;It'yr;E2sta
|
||||
_4C tS;It'yr;E2sta
|
||||
_5C p;,It;s'ot
|
||||
_6C S,E#s;t;s'ot
|
||||
_7C s;,Ims'ot
|
||||
|
||||
+8
-9
@@ -1878,17 +1878,20 @@ include ph_greenlandic
|
||||
phonemetable am base
|
||||
include ph_amhari
|
||||
|
||||
phonemetable si hi
|
||||
include ph_sinhala
|
||||
|
||||
|
||||
//**************************************************************************************
|
||||
// The following lines are experimental, for future additions.
|
||||
// These langauges are not in a usable state.
|
||||
// These lines can be deleted.
|
||||
|
||||
phonemetable rw base2
|
||||
include ph_kinyarwanda
|
||||
phonemetable si hi
|
||||
include ph_sinhala
|
||||
|
||||
phonemetable sl sk
|
||||
include ph_slovenian
|
||||
|
||||
//phonemetable rw base2
|
||||
//include ph_kinyarwanda
|
||||
|
||||
//phonemetable mr hi
|
||||
//include ph_marathi
|
||||
@@ -1902,9 +1905,6 @@ include ph_kinyarwanda
|
||||
//phonemetable prs base
|
||||
//include ph_dari
|
||||
|
||||
phonemetable sl sk
|
||||
include ph_slovenian
|
||||
|
||||
//phonemetable gd base
|
||||
//include ph_s_gaelic
|
||||
|
||||
@@ -1929,7 +1929,6 @@ include ph_slovenian
|
||||
//phonemetable tn base
|
||||
//include ph_setswana
|
||||
|
||||
|
||||
//phonemetable mt base
|
||||
//include ph_maltese
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
|
||||
# Toolflags:
|
||||
CCflags = -c -C90 -depend !Depend -IC: -throwback -zM
|
||||
C++flags = -c -depend !Depend -IC: -throwback -zM
|
||||
CCflags = -c -C90 -depend !Depend -IC: -throwback -memaccess -zM -L22-S22-L41
|
||||
C++flags = -c -depend !Depend -IC: -throwback -zM -L22-S22-L41
|
||||
Linkflags = -rmf -c++ -o $@
|
||||
ObjAsmflags = -throwback -NoCache -depend !Depend
|
||||
CMHGflags =
|
||||
@@ -61,3 +61,4 @@ Squeezeflags = -o $@
|
||||
objasm $(objasmflags) -from @.s.assemb -to @.o.assemb
|
||||
|
||||
# Dynamic dependencies:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <ctype.h>
|
||||
#include <locale.h>
|
||||
#include "kernel.h"
|
||||
#include <math.h>
|
||||
|
||||
#include "speech.h"
|
||||
#include "speak_lib.h"
|
||||
@@ -221,6 +222,7 @@ void ReadVoiceNames2(char *directory)
|
||||
voice_variant_names[n_voice_variant_files++] = p;
|
||||
}
|
||||
else
|
||||
if(strcmp(p, "default") != 0)
|
||||
{
|
||||
if(n_voice_files >= (N_VOICE_NAMES-1))
|
||||
continue;
|
||||
@@ -233,11 +235,17 @@ void ReadVoiceNames2(char *directory)
|
||||
|
||||
void ReadVoiceNames()
|
||||
{//===================
|
||||
char directory[sizeof(path_home)+10];
|
||||
char directory[sizeof(path_home)+20];
|
||||
|
||||
n_voice_files = 0;
|
||||
n_voice_variant_files = 0;
|
||||
|
||||
sprintf(directory,"%s.voices.default", path_home);
|
||||
if(GetFileLength(directory) > 0)
|
||||
{
|
||||
// put the 'default' voice at the start of the list
|
||||
voice_names[n_voice_files++] = "default";
|
||||
}
|
||||
sprintf(directory,"%s.voices",path_home);
|
||||
|
||||
ReadVoiceNames2(directory);
|
||||
@@ -400,11 +408,27 @@ void FillSoundBuf(int size)
|
||||
|
||||
int initialise(void)
|
||||
{//=================
|
||||
sprintf(path_home,"%s.espeak-data","<eSpeak$Dir>");
|
||||
char buf[N_PATH_HOME];
|
||||
|
||||
_kernel_swi_regs regs;
|
||||
_kernel_oserror *error;
|
||||
|
||||
buf[0] = 0;
|
||||
regs.r[0] = (int)"eSpeak$Dir";
|
||||
regs.r[1] = (int)buf;
|
||||
regs.r[2] = sizeof(buf);
|
||||
regs.r[3] = 0;
|
||||
regs.r[4] = 0;
|
||||
regs.r[5] = 0;
|
||||
|
||||
error = _kernel_swi(0x20023,®s,®s); // OS_ReadVarVal
|
||||
buf[regs.r[2]] = 0;
|
||||
|
||||
sprintf(path_home,"%s.espeak-data",buf);
|
||||
if(GetFileLength(path_home) != -2)
|
||||
{
|
||||
// not found, try the 10 character version of the directory name
|
||||
sprintf(path_home,"%s.espeak-dat","<eSpeak$Dir>");
|
||||
sprintf(path_home,"%s.espeak-dat",buf);
|
||||
}
|
||||
if(GetFileLength(path_home) != -2)
|
||||
{
|
||||
@@ -414,7 +438,7 @@ int initialise(void)
|
||||
}
|
||||
|
||||
WavegenInit(22050,0);
|
||||
LoadPhData();
|
||||
LoadPhData(NULL);
|
||||
SetVoiceStack(NULL, "");
|
||||
SynthesizeInit();
|
||||
return(0);
|
||||
@@ -453,7 +477,7 @@ void speak_text_string(char *data, int terminator, int len, int wait, int voice_
|
||||
static_length = 0;
|
||||
else
|
||||
{
|
||||
strcat(&static_buf[static_length]," : ");
|
||||
strcat(&static_buf[static_length]," \n ");
|
||||
static_length+=3;
|
||||
}
|
||||
|
||||
@@ -578,13 +602,14 @@ void set_say_options(int reg2, int reg3)
|
||||
void jsd_swi_functions(int *r)
|
||||
/****************************/
|
||||
{
|
||||
int use_ipa;
|
||||
espeak_VOICE voice_select;
|
||||
|
||||
switch(r[0])
|
||||
{
|
||||
case 0: /* major version */
|
||||
r[0] = 4;
|
||||
r[1] = 331;
|
||||
r[1] = 347;
|
||||
break;
|
||||
|
||||
case 1: /* register user */
|
||||
@@ -594,7 +619,13 @@ void jsd_swi_functions(int *r)
|
||||
break;
|
||||
|
||||
case 3:
|
||||
// r[0] = (int)speech_to_phonemes((char *)r[1]);
|
||||
// translate into phonemes
|
||||
use_ipa = 0;
|
||||
if((r[2] >= 1) && (use_ipa <= 3))
|
||||
use_ipa = r[2];
|
||||
TranslateClause(translator,NULL,(char *)r[1],NULL,NULL);
|
||||
GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa);
|
||||
r[0] = (int)translator->phon_out;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
@@ -642,6 +673,7 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
/*********************************************************/
|
||||
{
|
||||
int value;
|
||||
int value2;
|
||||
int q_length;
|
||||
value = r[0];
|
||||
|
||||
@@ -650,21 +682,23 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
|
||||
case 0: // ready ?
|
||||
// returns the index into the source text of the currently speaking word
|
||||
if(current_source_index > 0)
|
||||
r[1] = current_source_index-1;
|
||||
else
|
||||
r[1] = current_source_index; /* source index */
|
||||
if(current_source_index > 0)
|
||||
r[1] = current_source_index-1;
|
||||
else
|
||||
r[1] = current_source_index; /* source index */
|
||||
r[2] = 0; /* source tag */
|
||||
r[3] = 0; /* for future expansion */
|
||||
r[4] = 0;
|
||||
r[5] = 0;
|
||||
|
||||
if(wcmdq_head == wcmdq_tail)
|
||||
if(WcmdqUsed() < 5)
|
||||
{
|
||||
r[0] = -1; /* ready, or nearly */
|
||||
}
|
||||
else
|
||||
{
|
||||
r[0] = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1: /* restore old sound channel. DO NOTHING */
|
||||
@@ -692,19 +726,32 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
break;
|
||||
|
||||
case 7: /* pitch */
|
||||
// not implemented
|
||||
value = (value * 50)/128;
|
||||
SetParameter(espeakPITCH, value, 0);
|
||||
break;
|
||||
|
||||
case 8: /* speed */
|
||||
SetParameter(espeakRATE,value,0);
|
||||
case 8: // speed, convert to range 80 to 400, mid-value=180
|
||||
if(value < 128)
|
||||
value2 = 80 + (value*100)/128; // linear range for 0-127 -> 80-179
|
||||
else
|
||||
value2 = 80 + pow((float)value/128.0, 1.75)*100;
|
||||
|
||||
SetParameter(espeakRATE,value2,0);
|
||||
break;
|
||||
|
||||
case 9: /* word_gap */
|
||||
if(value >= 128)
|
||||
value = value - 128;
|
||||
|
||||
if(value > 1)
|
||||
value = (value-1) * 5;
|
||||
|
||||
SetParameter(espeakWORDGAP,value,0);
|
||||
break;
|
||||
|
||||
case 10: /* pitch_range */
|
||||
// not implemented
|
||||
value = (value * 50)/128;
|
||||
SetParameter(espeakRANGE, value, 0);
|
||||
break;
|
||||
|
||||
case 12: /* reset */
|
||||
@@ -712,7 +759,22 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
break;
|
||||
|
||||
case 13: /* volume */
|
||||
SetParameter(espeakVOLUME,value,0);
|
||||
// convert to range 6-255 to 10-400, mid-value=100
|
||||
if(value < 6)
|
||||
value2 = value + 4;
|
||||
else
|
||||
if(value < 128)
|
||||
{
|
||||
value2 = pow((float)(value+40)/168.0, 1.75)*100;
|
||||
}
|
||||
else
|
||||
value2 = pow((float)value/128.0, 2.0)*100;
|
||||
SetParameter(espeakVOLUME,value2,0);
|
||||
WavegenSetVoice(voice);
|
||||
break;
|
||||
|
||||
case 14: // set voice by name
|
||||
SetVoiceByName((char *)r[0]);
|
||||
WavegenSetVoice(voice);
|
||||
break;
|
||||
}
|
||||
@@ -835,6 +897,13 @@ int param_number(char **argp)
|
||||
return(value);
|
||||
}
|
||||
|
||||
void PrintVersion()
|
||||
{//================
|
||||
char buf[120];
|
||||
printf("\nspeak text-to-speech: %s Data at: %s\n", version_string, path_home);
|
||||
}
|
||||
|
||||
|
||||
void command_line(char *arg_string, int wait)
|
||||
{//==========================================
|
||||
|
||||
@@ -854,6 +923,7 @@ void command_line(char *arg_string, int wait)
|
||||
char command[80];
|
||||
char *p;
|
||||
int ix;
|
||||
int quiet;
|
||||
|
||||
voicename[0] = 0;
|
||||
wavefile[0] = 0;
|
||||
@@ -861,7 +931,7 @@ void command_line(char *arg_string, int wait)
|
||||
option_linelength = 0;
|
||||
option_phonemes = 0;
|
||||
option_waveout = 0;
|
||||
option_quiet = 0;
|
||||
quiet = 0;
|
||||
option_multibyte = 0; // auto
|
||||
option_capitals = 0;
|
||||
option_punctuation = 0;
|
||||
@@ -887,7 +957,8 @@ void command_line(char *arg_string, int wait)
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
printf("\nspeak text-to-speech: %s\n%s",version_string,help_text);
|
||||
PrintVersion();
|
||||
printf("\n%s",help_text);
|
||||
return;
|
||||
|
||||
case 'k':
|
||||
@@ -912,7 +983,7 @@ void command_line(char *arg_string, int wait)
|
||||
break;
|
||||
|
||||
case 'q':
|
||||
option_quiet = 1;
|
||||
quiet = 1;
|
||||
break;
|
||||
|
||||
case 'f':
|
||||
@@ -963,7 +1034,8 @@ void command_line(char *arg_string, int wait)
|
||||
else
|
||||
if(strcmp(command,"help")==0)
|
||||
{
|
||||
printf("\nspeak text-to-speech: %s\n%s",version_string,help_text);
|
||||
PrintVersion();
|
||||
printf("\n%s",help_text);
|
||||
return;
|
||||
}
|
||||
else
|
||||
@@ -980,6 +1052,17 @@ void command_line(char *arg_string, int wait)
|
||||
SetParameter(espeakPUNCTUATION,option_punctuation,0);
|
||||
}
|
||||
else
|
||||
if(memcmp(command,"version",7)==0)
|
||||
{
|
||||
PrintVersion();
|
||||
return;
|
||||
}
|
||||
else
|
||||
if(memcmp(command,"ipa",3)==0)
|
||||
{
|
||||
option_phonemes = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Command not recognised\n");
|
||||
}
|
||||
@@ -997,22 +1080,25 @@ void command_line(char *arg_string, int wait)
|
||||
}
|
||||
}
|
||||
|
||||
if((option_phonemes > 1) && !option_waveout)
|
||||
quiet = 1; // can't call sprintf() during callback
|
||||
|
||||
SetVoiceByName(voicename);
|
||||
|
||||
if((filename[0]==0) && (p[0]=='\r'))
|
||||
{
|
||||
// nothing to speak
|
||||
if(option_quiet)
|
||||
if(quiet)
|
||||
{
|
||||
SpeakNextClause(NULL,NULL,2); // stop speaking
|
||||
more_text = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(option_waveout || option_quiet)
|
||||
if(option_waveout || quiet)
|
||||
{
|
||||
// write speech to a WAV file
|
||||
if(option_quiet)
|
||||
if(quiet)
|
||||
{
|
||||
OpenWaveFile(NULL,samplerate);
|
||||
option_waveout = 2;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[Setup]
|
||||
AppName=eSpeak
|
||||
AppVerName=eSpeak version 1.47.01
|
||||
AppVerName=eSpeak version 1.47.04
|
||||
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
|
||||
WindowVisible=yes
|
||||
|
||||
@@ -146,7 +146,7 @@ begin
|
||||
$0e: Result := 'hu';
|
||||
$0f: Result := 'is';
|
||||
$10: Result := 'it';
|
||||
//$12: Result := 'ko';
|
||||
$12: Result := 'ko';
|
||||
$13: Result := 'nl';
|
||||
$14: Result := 'no';
|
||||
$15: Result := 'pl';
|
||||
@@ -158,7 +158,7 @@ begin
|
||||
$1c: Result := 'sq';
|
||||
$1d: Result := 'sv';
|
||||
$1f: Result := 'tr';
|
||||
//$20: Result := 'ur';
|
||||
$20: Result := 'ur';
|
||||
$21: Result := 'id';
|
||||
$25: Result := 'et';
|
||||
$26: Result := 'lv';
|
||||
@@ -174,6 +174,7 @@ begin
|
||||
$39: Result := 'hi';
|
||||
//$3a: Result := 'mt';
|
||||
$3c: Result := 'ga';
|
||||
$3e: Result := 'ms';
|
||||
//$3f: Result := 'kk';
|
||||
$41: Result := 'sw';
|
||||
//$44: Result := 'tt';
|
||||
@@ -263,6 +264,7 @@ begin
|
||||
'mk': value := $42f;
|
||||
'ml': value := $44c;
|
||||
'mn': value := $450;
|
||||
'ms': value := $43e;
|
||||
'mt': value := $43a;
|
||||
'my': value := $455;
|
||||
'ne': value := $461;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
[Setup]
|
||||
AppName=eSpeakEdit
|
||||
AppVerName=eSpeakEdit version 1.47.01
|
||||
AppVerName=eSpeakEdit version 1.47.04
|
||||
DefaultDirName={pf}\eSpeak
|
||||
DefaultGroupName=eSpeak
|
||||
OutputBaseFilename=setup_espeakedit
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.47.03f 31.Mar.13";
|
||||
const char *version_string = "1.47.04 02.Apr.13";
|
||||
const int version_phdata = 0x014701;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -518,6 +518,7 @@ Translator *SelectTranslator(const char *name)
|
||||
{
|
||||
SetCyrillicLetters(tr);
|
||||
SetLetterVowel(tr,0x2a);
|
||||
tr->charset_a0 = charsets[5]; // ISO-8859-5
|
||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x432; // [v] don't count this character at start of word
|
||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x107; // devoice at end of word, and change voicing to match a following consonant (except v)
|
||||
tr->langopts.param[LOPT_REDUCE] = 2;
|
||||
|
||||
+2
-1
@@ -3469,7 +3469,8 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
|
||||
prev_clause_pause = clause_pause;
|
||||
|
||||
*tone_out = tone;
|
||||
if(tone_out != NULL)
|
||||
*tone_out = tone;
|
||||
|
||||
new_sentence = 0;
|
||||
if(terminator & CLAUSE_BIT_SENTENCE)
|
||||
|
||||
Reference in New Issue
Block a user