Browse Source

Merge branch 'development'

master
Reece H. Dunn 12 years ago
parent
commit
f47347e19d

+ 39
- 20
dictsource/en_list View File

// Arabic letters // Arabic letters


ء h'amza ء 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# ة t'E?maR2b'uta#
ت tE?
ت ta
ث TE? ث TE?
ج ZIm
ج dZi:m
ح hE? ح hE?
خ xE? خ xE?
د dEl/1
ذ DEl/1
د dal/1
ذ Dal/1
ر R2A:? ر R2A:?
ز zEjn ز zEjn
س si:n س si:n
ش Si:n ش Si:n
ص sO:d@-
ض dO:d@-
ص sa:d@-
ض da:d@-
ط thA:? ط thA:?
ظ DA:? ظ DA:?
ع ?ajn
غ Q"ajn
ف fE?
ق qO:f
ك kEf
ل lEm
ع '?Ein
غ 'Q"Ein
ف fa
ق qa:f
ك kaf
ل lam
م mi:m م mi:m
ن nu|:n ن nu|:n
ه hE?
و wO:w
ه ha
و waw
ى al'if_maks'ura
ي jE? ي jE?
// Farsi
پ pa
چ tSa
ژ Za
گ ga:f
ی f'A@si||j'e
ک k'a:f
// Urdu
ٹ te
ڈ de
ڑ z.e
ے barij'e
ھ h'@


َ a َ a
ِ i ِ i
alas a#l'as alas a#l'as
albeit O:lb'i:It albeit O:lb'i:It
alfalfa alf'alf@ alfalfa alf'alf@
algebra aldZI2br@
alias eIli@s alias eIli@s
alibi al@baI alibi al@baI
alibis al@baIz alibis al@baIz
(tear apart) t,e@||a#pA@t (tear apart) t,e@||a#pA@t
(tear off) t'e@||'0f (tear off) t'e@||'0f
teargas ti@3gas teargas ti@3gas
techy tEki
teddybear t'EdIb,e@ teddybear t'EdIb,e@
telemetry t@lEm@tri telemetry t@lEm@tri
telepathy t@lEp@Ti telepathy t@lEp@Ti
?5 Luxembourg lVks@mbVRg ?5 Luxembourg lVks@mbVRg
Madagascar mad@g'ask3 Madagascar mad@g'ask3
Madras m@draas Madras m@draas
Madrid m@drId
Madrid m@drId
Malawi $alt3 Malawi $alt3
Malayalam maleI'A:l@m
Maldives mO:ld'i:v Maldives mO:ld'i:v
Mali mA:li Mali mA:li
Mandalay $3 Mandalay $3
Wyoming waI'oUmIN Wyoming waI'oUmIN
Xhosa kO:s@ Xhosa kO:s@
Yemen $alt2 Yemen $alt2
Yosemite joUs'Em@ti
zaire zaI'i@3 zaire zaI'i@3
zimbabwe zI2mbA:bwi zimbabwe zI2mbA:bwi
zimbabwean zI2mbA:bwI@n zimbabwean zI2mbA:bwI@n

+ 2
- 0
dictsource/en_rules View File

a) ch (il k a) ch (il k
bra) ch k bra) ch k
te) ch (K k te) ch (K k
_te) ch k
ch (isC k ch (isC k
ch (ic_ k ch (ic_ k
@@Car) ch (_ k @@Car) ch (_ k
&n) iel (_ j@L &n) iel (_ j@L
&r) iel (_ =i:@L &r) iel (_ =i:@L
ie (n i@ ie (n i@
&) ie (n_ =i@n
d) iene (_ 'aIi:n d) iene (_ 'aIi:n
ie (ntal I'E ie (ntal I'E
g) ie (n i: g) ie (n i:

+ 37
- 16
dictsource/pt_list View File

eles $u+ $verbf eles $u+ $verbf
elas $u+ $verbf elas $u+ $verbf


me $u // reflexive
me $u $verbf
me $u $verbf // reflexive
te $u $verbf te $u $verbf
nos $u $nounf nos $u $nounf
la $u la $u
?2 nesta $u+ $nounf ?2 nesta $u+ $nounf
?2 neste $u+ $nounf n'estSi //in this ?2 neste $u+ $nounf n'estSi //in this
?2 esse $u+ $nounf 'esi // that ?2 esse $u+ $nounf 'esi // that
essa 'Es& $u+
essa 'Es& $u+ $noun
desse $u+ $nounf desse $u+ $nounf
desta $nounf desta $nounf
nesse n'esy $u+ $nounf nesse n'esy $u+ $nounf
duns $u $nounf duns $u $nounf
dumas $u $nounf dumas $u $nounf


em $u // in,on,at
em $u $noun // in,on,at
no nu $u $nounf no nu $u $nounf
na $u $nounf na $u $nounf
num $u $nounf num $u $nounf
// conjunctions // conjunctions
?1 e i $u // and ?1 e i $u // and
?2 e i $u // and ?2 e i $u // and
se $u // if
se $u+ $verbf // if




?2 mas $u // but ?2 mas $u // but


estava $u estava $u
estávamos $u estávamos $u
astavam $u
estavam $u


estive $u estive $u
?2 esteve estevy $u2 ?2 esteve estevy $u2




// some common adjectives and adverbs // 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 // MAIN WORD DICTIONARY
aeroportos $alt aeroportos $alt
albatrozes $alt albatrozes $alt
alcateia $alt alcateia $alt
alcova $alt2
alferes $alt alferes $alt
algozes $alt algozes $alt
alicerce $alt
almoço $alt $verb almoço $alt $verb
ameba $alt ameba $alt
amores $alt2 amores $alt2
besta $alt2 besta $alt2
bilhete $alt2 bilhete $alt2
boca $alt2 boca $alt2
boceta $alt2
bochecha $alt2 bochecha $alt2
bojo $alt2 bojo $alt2
boleia $alt boleia $alt
borra $alt2 $noun borra $alt2 $noun
bosque $alt bosque $alt
boto $alt2 $noun boto $alt2 $noun
boxe $alt
brejo $alt brejo $alt
bromelha $alt bromelha $alt
cabelo $alt2 cabelo $alt2
cadete $alt2 cadete $alt2
camelha $alt camelha $alt
camelo $alt2 camelo $alt2
caminhonete $alt
camiseta $alt2 camiseta $alt2
cantora $alt2 cantora $alt2
capacete $alt2 capacete $alt2
faceta $alt2 faceta $alt2
fantoche $alt fantoche $alt
farofa $alt farofa $alt
farolete $alt2
febre $alt febre $alt
fera $alt fera $alt
feitora $alt2 feitora $alt2
ferozes $alt ferozes $alt
fezes $alt fezes $alt
filete $alt2
?1 fixe fiSy ?1 fixe fiSy
foda $alt2 $verb foda $alt2 $verb
fogos $alt fogos $alt
galera $alt galera $alt
galileia $alt galileia $alt
gameta $alt2 gameta $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
lebre $alt lebre $alt
lembrete $alt2 lembrete $alt2
lepra $alt lepra $alt
macete $alt2 macete $alt2
maior $alt maior $alt
maleta $alt2 maleta $alt2
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
mofo $alt $verb mofo $alt $verb
molho $alt2 $noun molho $alt2 $noun
monera $alt monera $alt
naquela $nounf naquela $nounf
naquele $alt2 $nounf naquele $alt2 $nounf
nervo $alt2 nervo $alt2
nojo $alt2
novelo $alt2 novelo $alt2
novos $alt novos $alt
obstetra $alt obstetra $alt
odisseia $alt odisseia $alt
onu $1 onu $1
olho $alt2 $noun
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
pedra $alt pedra $alt
pela $alt $verb pela $alt $verb
pelego $alt2
pela $alt $verb
pelo $alt2 pelo $alt2
pelo $alt $verb pelo $alt $verb
peso $alt $verb peso $alt $verb
remorso $alt remorso $alt
renovo $alt $verb renovo $alt $verb
retorno $alt $verb retorno $alt $verb
reuva $alt
reuva x'EUv&
rigores $alt2 rigores $alt2
rixa x'iS& rixa x'iS&
rocha $alt rocha $alt
rock $alt rock $alt
roem $alt
rola $alt2 $noun rola $alt2 $noun
rolo $alt2 $noun rolo $alt2 $noun
rota $alt2 rota $alt2
tapete $alt2 tapete $alt2
temores $alt2 temores $alt2
tempero $alt2 $noun tempero $alt2 $noun
tenores $alt2
terrores $alt2 terrores $alt2
teta $alt2 teta $alt2
tetra $alt tetra $alt
vozes $alt vozes $alt
xarope $alt xarope $alt
zelo $alt2 $noun zelo $alt2 $noun
zero $alt
zorra $alt2 zorra $alt2




?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 ?1 end 'end
?2 esc 'Esk ?2 esc 'Esk
?3 esc 'EskI ?3 esc 'EskI
?1 ovo 'ovu ?1 ovo 'ovu
?1 pause p'au:z ?1 pause p'au:z
page p'eIdZ page p'eIdZ
pizza p'its&
python p'aIT&~N python p'aIT&~N
?1 readme r'i:dmi: ?1 readme r'i:dmi:
?1 sapi s,ap'i ?1 sapi s,ap'i
?1 space sp'eIsy ?1 space sp'eIsy
?1 sporting sp'Ort,ing ?1 sporting sp'Ort,ing
tab t'aby tab t'aby
tablet t'ablet
?1 telemóvel t,El,Em'OvEl ?1 telemóvel t,El,Em'OvEl
?1 telemóveis t,El,Em'OveIs# ?1 telemóveis t,El,Em'OveIs#
?1 up &p ?1 up &p
?2 microsoft m'aIkRows'Oft ?2 microsoft m'aIkRows'Oft
?1 movie m'uvi ?1 movie m'uvi
?1 nero n'Eru ?1 nero n'Eru
?1 office 'Of,is
/1 office 'Of,is
?2 office 'Ofsy
openoffice 'opeIN|'Ofis openoffice 'opeIN|'Ofis
?1 outlook 'autl'uk ?1 outlook 'autl'uk
?2 Outlook ,aUtl'uk ?2 Outlook ,aUtl'uk

+ 20
- 10
dictsource/pt_rules View File

?1 a (lK ,A // Algarve, Almerinda, etc... ?1 a (lK ,A // Algarve, Almerinda, etc...
?2 al (K aU ?2 al (K aU
a (lh+ a a (lh+ a

a (m &~ a (m &~
a (mAr_ & a (mAr_ &
a (mA@ & a (mA@ &
e (xA_ E e (xA_ E
e (xAm_ E e (xAm_ E
?2 _n) e (t E ?2 _n) e (t E

em (C eIm em (C eIm
en (K eIN en (K eIN
enh en^ enh en^
_perd) e (L05_ e _perd) e (L05_ e
_quis) e (L05_ E _quis) e (L05_ E
_soub) e (L05_ E _soub) e (L05_ E
_talh) e (L05_ E
_trem) e (L05_ e _trem) e (L05_ e
diss) e (L06_ E // contra- diss) e (L06_ E // contra-
fend) e (L06_ e // de- o- fend) e (L06_ e // de- o-
_hosp) e (dL03_ E _hosp) e (dL03_ E
_gr) e (gL03_ e _gr) e (gL03_ e
_gal) e (gL03_ e _gal) e (gL03_ e
_pel) e (gL03_ e
_n) e (grL03_ e _n) e (grL03_ e
_ch) e (guL02_ e _ch) e (guL02_ e
estr) ei (L04_ EI estr) ei (L04_ EI
_reit) e (rL03_ E _reit) e (rL03_ E
_sinc) e (rL03_ E _sinc) e (rL03_ E
_g) e (rL04_ E _g) e (rL04_ E
_z) e (rL04_ E
qu) e (rL04_ E // re- qu) e (rL04_ E // re-
_op) e (rL04_ E _op) e (rL04_ E
gen) e (rL04_ E // de- re- gen) e (rL04_ E // de- re-
_alt) e (rL04_ E _alt) e (rL04_ E
_enc) e (rL04_ E
_sug) e (rL04_ E _sug) e (rL04_ E
_sup) e (rL04_ E _sup) e (rL04_ E
_tol) e (rL04_ E _tol) e (rL04_ E
_recup) e (rL04_ E _recup) e (rL04_ E
_refrig) e (rL04_ E _refrig) e (rL04_ E
_v) e (rbL03_ E _v) e (rbL03_ E
_alic) e (rcL02_ E
_p) e (rdL02_ E _p) e (rdL02_ E
_l) e (rdL03_ E _l) e (rdL03_ E
_h) e (rdL04_ E _h) e (rdL04_ E
_bez) e (rrL03_ e _bez) e (rrL03_ e
_inv) e (rtL03_ e _inv) e (rtL03_ e
_f) e (rvL03_ e _f) e (rvL03_ e
_alic) e (rçL03_ E
_p) e (sL01_ E
_l) e (sL03_ E
_refr) e (scL01_ E _refr) e (scL01_ E
_d) e (scL02_ E _d) e (scL02_ E
_cr) e (scL02_ E _cr) e (scL02_ E
_atr) e (vL03_ e _atr) e (vL03_ e
_r) e (zL04_ E _r) e (zL04_ E
_pr) e (zL04_ E _pr) e (zL04_ E
_rev) e (zL04_ E
_despr) e (zL04_ E _despr) e (zL04_ E
_embel) e (zL04_ E _embel) e (zL04_ E
_menospr) e (zL04_ E _menospr) e (zL04_ E
_) l (_ 'Ele _) l (_ 'Ele
l l l l
l) l l) l
lh l^
lh lj
A) lh lj A) lh lj
?1 A) lh l^
A) lh l^
?4 A) lh l^ ?4 A) lh l^




o (lA_ O o (lA_ O
o (lAm_ O o (lAm_ O


o (lhe_ O
o (lhem_ O

o (ltA_ O o (ltA_ O
o (ltAm_ O o (ltAm_ O




?1 o (l_ 'O ?1 o (l_ 'O
?2 ol (_ Ow ?2 ol (_ Ow
o (lh o
?2 _) o (lhA_ O
?2 _) o (lhAm_ O

om (_ oN om (_ oN
o (ma_ o o (ma_ o




//sort //sort
_f) o (L05_ o _f) o (L05_ o
_pormen) o (L05_ O
_f) o (L07_ o _f) o (L07_ o
_s) o (bL02_ O _s) o (bL02_ O
_af) o (bL04_ O _af) o (bL04_ O
_t) o (lL03_ o _t) o (lL03_ o
_f) o (lgL04_ O _f) o (lgL04_ O
_emp) 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 ent) o (pL02_ O
_c) o (pL03_ O _c) o (pL03_ O
_ens) o (pL04_ O _ens) o (pL04_ O
u (iu w u (iu w
u (iCK u u (iCK u
uy uI uy uI
ul (K uw
u (lh+ u


um (_ u~N um (_ u~N
um (C u~m um (C u~m

+ 2
- 2
dictsource/ru_list View File

_11 Od;'innVttsVt; _11 Od;'innVttsVt;
_12 dv;In'AttsVt; _12 dv;In'AttsVt;
_13 tR;In'AttsVt; _13 tR;In'AttsVt;
_14 ts;It'y@-*nVttsVt;
_14 tS;It'y@-*nVttsVt;
_15 p;Itn'AttsVt; _15 p;Itn'AttsVt;
_16 SE#stn'AttsVt; _16 SE#stn'AttsVt;
_17 s;Imn'AttsVt; _17 s;Imn'AttsVt;
_0C st'o _0C st'o
_2C dv;'es;t;I _2C dv;'es;t;I
_3C tr;'ista _3C tr;'ista
_4C ts;It'yr;E2sta
_4C tS;It'yr;E2sta
_5C p;,It;s'ot _5C p;,It;s'ot
_6C S,E#s;t;s'ot _6C S,E#s;t;s'ot
_7C s;,Ims'ot _7C s;,Ims'ot

BIN
phsource/envelopes.png View File


+ 8
- 9
phsource/phonemes View File

phonemetable am base phonemetable am base
include ph_amhari include ph_amhari


phonemetable si hi
include ph_sinhala



//************************************************************************************** //**************************************************************************************
// The following lines are experimental, for future additions. // The following lines are experimental, for future additions.
// These langauges are not in a usable state. // These langauges are not in a usable state.
// These lines can be deleted. // 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 //phonemetable mr hi
//include ph_marathi //include ph_marathi
//phonemetable prs base //phonemetable prs base
//include ph_dari //include ph_dari


phonemetable sl sk
include ph_slovenian

//phonemetable gd base //phonemetable gd base
//include ph_s_gaelic //include ph_s_gaelic


//phonemetable tn base //phonemetable tn base
//include ph_setswana //include ph_setswana



//phonemetable mt base //phonemetable mt base
//include ph_maltese //include ph_maltese



BIN
phsource/r/V_ View File


BIN
phsource/r/V_2_ View File


+ 3
- 2
platforms/riscos/Makefile View File





# Toolflags: # 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 $@ Linkflags = -rmf -c++ -o $@
ObjAsmflags = -throwback -NoCache -depend !Depend ObjAsmflags = -throwback -NoCache -depend !Depend
CMHGflags = CMHGflags =
objasm $(objasmflags) -from @.s.assemb -to @.o.assemb objasm $(objasmflags) -from @.s.assemb -to @.o.assemb


# Dynamic dependencies: # Dynamic dependencies:


+ 111
- 25
platforms/riscos/cpp/speak_riscos View File



/*************************************************************************** /***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* email: [email protected] * * email: [email protected] *
* * * *
* This program is free software; you can redistribute it and/or modify * * This program is free software; you can redistribute it and/or modify *
#include <ctype.h> #include <ctype.h>
#include <locale.h> #include <locale.h>
#include "kernel.h" #include "kernel.h"
#include <math.h>


#include "speech.h" #include "speech.h"
#include "speak_lib.h" #include "speak_lib.h"
voice_variant_names[n_voice_variant_files++] = p; voice_variant_names[n_voice_variant_files++] = p;
} }
else else
if(strcmp(p, "default") != 0)
{ {
if(n_voice_files >= (N_VOICE_NAMES-1)) if(n_voice_files >= (N_VOICE_NAMES-1))
continue; continue;


void ReadVoiceNames() void ReadVoiceNames()
{//=================== {//===================
char directory[sizeof(path_home)+10];
char directory[sizeof(path_home)+20];


n_voice_files = 0; n_voice_files = 0;
n_voice_variant_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); sprintf(directory,"%s.voices",path_home);


ReadVoiceNames2(directory); ReadVoiceNames2(directory);


int initialise(void) 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,&regs,&regs); // OS_ReadVarVal
buf[regs.r[2]] = 0;

sprintf(path_home,"%s.espeak-data",buf);
if(GetFileLength(path_home) != -2) if(GetFileLength(path_home) != -2)
{ {
// not found, try the 10 character version of the directory name // 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) if(GetFileLength(path_home) != -2)
{ {
} }


WavegenInit(22050,0); WavegenInit(22050,0);
LoadPhData();
LoadPhData(NULL);
SetVoiceStack(NULL, ""); SetVoiceStack(NULL, "");
SynthesizeInit(); SynthesizeInit();
return(0); return(0);
static_length = 0; static_length = 0;
else else
{ {
strcat(&static_buf[static_length]," : ");
strcat(&static_buf[static_length]," \n ");
static_length+=3; static_length+=3;
} }


void jsd_swi_functions(int *r) void jsd_swi_functions(int *r)
/****************************/ /****************************/
{ {
int use_ipa;
espeak_VOICE voice_select; espeak_VOICE voice_select;


switch(r[0]) switch(r[0])
{ {
case 0: /* major version */ case 0: /* major version */
r[0] = 4; r[0] = 4;
r[1] = 331;
r[1] = 347;
break; break;


case 1: /* register user */ case 1: /* register user */
break; break;


case 3: 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; break;


case 4: case 4:
/*********************************************************/ /*********************************************************/
{ {
int value; int value;
int value2;
int q_length; int q_length;
value = r[0]; value = r[0];




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;
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[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(wcmdq_head == wcmdq_tail)
if(WcmdqUsed() < 5)
{ {
r[0] = -1; /* ready, or nearly */ r[0] = -1; /* ready, or nearly */
} }
else else
{
r[0] = 0; r[0] = 0;
}
break; break;


case 1: /* restore old sound channel. DO NOTHING */ case 1: /* restore old sound channel. DO NOTHING */
break; break;


case 7: /* pitch */ case 7: /* pitch */
// not implemented
value = (value * 50)/128;
SetParameter(espeakPITCH, value, 0);
break; 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; break;


case 9: /* word_gap */ case 9: /* word_gap */
if(value >= 128)
value = value - 128;

if(value > 1)
value = (value-1) * 5;

SetParameter(espeakWORDGAP,value,0); SetParameter(espeakWORDGAP,value,0);
break; break;


case 10: /* pitch_range */ case 10: /* pitch_range */
// not implemented
value = (value * 50)/128;
SetParameter(espeakRANGE, value, 0);
break; break;


case 12: /* reset */ case 12: /* reset */
break; break;


case 13: /* volume */ 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); WavegenSetVoice(voice);
break; break;
} }
return(value); 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) void command_line(char *arg_string, int wait)
{//========================================== {//==========================================


char command[80]; char command[80];
char *p; char *p;
int ix; int ix;
int quiet;


voicename[0] = 0; voicename[0] = 0;
wavefile[0] = 0; wavefile[0] = 0;
option_linelength = 0; option_linelength = 0;
option_phonemes = 0; option_phonemes = 0;
option_waveout = 0; option_waveout = 0;
option_quiet = 0;
quiet = 0;
option_multibyte = 0; // auto option_multibyte = 0; // auto
option_capitals = 0; option_capitals = 0;
option_punctuation = 0; option_punctuation = 0;
break; break;


case 'h': case 'h':
printf("\nspeak text-to-speech: %s\n%s",version_string,help_text);
PrintVersion();
printf("\n%s",help_text);
return; return;


case 'k': case 'k':
break; break;


case 'q': case 'q':
option_quiet = 1;
quiet = 1;
break; break;


case 'f': case 'f':
else else
if(strcmp(command,"help")==0) if(strcmp(command,"help")==0)
{ {
printf("\nspeak text-to-speech: %s\n%s",version_string,help_text);
PrintVersion();
printf("\n%s",help_text);
return; return;
} }
else else
SetParameter(espeakPUNCTUATION,option_punctuation,0); SetParameter(espeakPUNCTUATION,option_punctuation,0);
} }
else 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"); printf("Command not recognised\n");
} }
} }
} }


if((option_phonemes > 1) && !option_waveout)
quiet = 1; // can't call sprintf() during callback

SetVoiceByName(voicename); SetVoiceByName(voicename);


if((filename[0]==0) && (p[0]=='\r')) if((filename[0]==0) && (p[0]=='\r'))
{ {
// nothing to speak // nothing to speak
if(option_quiet)
if(quiet)
{ {
SpeakNextClause(NULL,NULL,2); // stop speaking SpeakNextClause(NULL,NULL,2); // stop speaking
more_text = 0; more_text = 0;
} }
} }


if(option_waveout || option_quiet)
if(option_waveout || quiet)
{ {
// write speech to a WAV file // write speech to a WAV file
if(option_quiet)
if(quiet)
{ {
OpenWaveFile(NULL,samplerate); OpenWaveFile(NULL,samplerate);
option_waveout = 2; option_waveout = 2;

+ 5
- 3
platforms/windows/make_espeak.iss View File

[Setup] [Setup]
AppName=eSpeak 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). AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
WindowVisible=yes WindowVisible=yes
$0e: Result := 'hu'; $0e: Result := 'hu';
$0f: Result := 'is'; $0f: Result := 'is';
$10: Result := 'it'; $10: Result := 'it';
//$12: Result := 'ko';
$12: Result := 'ko';
$13: Result := 'nl'; $13: Result := 'nl';
$14: Result := 'no'; $14: Result := 'no';
$15: Result := 'pl'; $15: Result := 'pl';
$1c: Result := 'sq'; $1c: Result := 'sq';
$1d: Result := 'sv'; $1d: Result := 'sv';
$1f: Result := 'tr'; $1f: Result := 'tr';
//$20: Result := 'ur';
$20: Result := 'ur';
$21: Result := 'id'; $21: Result := 'id';
$25: Result := 'et'; $25: Result := 'et';
$26: Result := 'lv'; $26: Result := 'lv';
$39: Result := 'hi'; $39: Result := 'hi';
//$3a: Result := 'mt'; //$3a: Result := 'mt';
$3c: Result := 'ga'; $3c: Result := 'ga';
$3e: Result := 'ms';
//$3f: Result := 'kk'; //$3f: Result := 'kk';
$41: Result := 'sw'; $41: Result := 'sw';
//$44: Result := 'tt'; //$44: Result := 'tt';
'mk': value := $42f; 'mk': value := $42f;
'ml': value := $44c; 'ml': value := $44c;
'mn': value := $450; 'mn': value := $450;
'ms': value := $43e;
'mt': value := $43a; 'mt': value := $43a;
'my': value := $455; 'my': value := $455;
'ne': value := $461; 'ne': value := $461;

+ 9
- 3
platforms/windows/make_espeakedit.iss View File

[Setup] [Setup]
AppName=eSpeakEdit AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.47.01
AppVerName=eSpeakEdit version 1.47.04
DefaultDirName={pf}\eSpeak DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit OutputBaseFilename=setup_espeakedit
[Languages] [Languages]
Name: "en"; MessagesFile: "compiler:Default.isl" Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl"
Name: "bg"; MessagesFile: "compiler:Languages\Bulgarian.isl"
Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl"
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl"
Name: "da"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl" Name: "de"; MessagesFile: "compiler:Languages\German.isl"
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" Name: "el"; MessagesFile: "compiler:Languages\Greek.isl"
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "fa"; MessagesFile: "compiler:Languages\Farsi.isl"
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "fr"; MessagesFile: "compiler:Languages\French.isl" Name: "fr"; MessagesFile: "compiler:Languages\French.isl"
Name: "hi"; MessagesFile: "compiler:Languages\Hindi.islu"
Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl"
Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl"
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"
Name: "lv"; MessagesFile: "compiler:Languages\Latvian-1-5.1.11.isl"
Name: "ka"; MessagesFile: "compiler:Languages\Georgian.islu"
Name: "lv"; MessagesFile: "compiler:Languages\Latvian.isl"
Name: "ne"; MessagesFile: "compiler:Languages\Nepali.islu"
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl"
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl"
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl"
;Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl"
Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl"
Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl"
Name: "vi"; MessagesFile: "compiler:Languages\Vietnamese.isl"
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl"

+ 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.03f 31.Mar.13";
const char *version_string = "1.47.04 02.Apr.13";
const int version_phdata = 0x014701; const int version_phdata = 0x014701;


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

+ 1
- 0
src/tr_languages.cpp View File

{ {
SetCyrillicLetters(tr); SetCyrillicLetters(tr);
SetLetterVowel(tr,0x2a); 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_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_REGRESSIVE_VOICING] = 0x107; // devoice at end of word, and change voicing to match a following consonant (except v)
tr->langopts.param[LOPT_REDUCE] = 2; tr->langopts.param[LOPT_REDUCE] = 2;

+ 2
- 1
src/translate.cpp View File



prev_clause_pause = clause_pause; prev_clause_pause = clause_pause;


*tone_out = tone;
if(tone_out != NULL)
*tone_out = tone;


new_sentence = 0; new_sentence = 0;
if(terminator & CLAUSE_BIT_SENTENCE) if(terminator & CLAUSE_BIT_SENTENCE)

Loading…
Cancel
Save