Browse Source

Merge branch 'development'

master
Reece H. Dunn 12 years ago
parent
commit
0122c41c4d

+ 4
- 10
dictsource/en_list View File

_¡ %Inv,3:tI2dEkskl@m'eIS@n _¡ %Inv,3:tI2dEkskl@m'eIS@n
_¦ broUk@nb'A@ _¦ broUk@nb'A@
_¨ daIa#r'i:sIs _¨ daIa#r'i:sIs
_ª fEmI2nIn'O@dI2n@L
_« lEft'gIl@mEt _« lEft'gIl@mEt
_­ makr0n _­ makr0n
² tu:
³ Tri:
_¹ su:p@skrIptw'0n
_² su:p@skrIptt'u:
_³ su:p@skrIptT'ri:
² tu: $native
³ Tri: $native

_´ a#kju:taksEnt _´ a#kju:taksEnt
_· mId@Ld0t _· mId@Ld0t
_¸ sEd'Il@ _¸ sEd'Il@
//_º maskjUlIn'O@dI2n@L
_º dI2gr'i:z
_» raIt'gIl@mEt _» raIt'gIl@mEt
_¿ %Inv,3:tI2dkw'EstS@n _¿ %Inv,3:tI2dkw'EstS@n


foyer fOIeI foyer fOIeI
freelance fri:laans freelance fri:laans
freon fri:0n freon fri:0n
frequent frI2kwEnt $verb
fricassee frIka#seI fricassee frIka#seI
frigate frIg@t frigate frIg@t
fringer frIndZ3 // infringer fringer frIndZ3 // infringer
Andre 0ndreI Andre 0ndreI
Andrea andri@ Andrea andri@
Andreas A:ndr'eI@s Andreas A:ndr'eI@s
Angela $1
Angela ang@l@
Anita $alt3 Anita $alt3
Anthony ant@ni Anthony ant@ni
Anton ant0n Anton ant0n

+ 1
- 0
dictsource/en_rules View File

ery (A 3j ery (A 3j
_v) ery ErI2 _v) ery ErI2
qu) ery i@rI qu) ery i@rI
_x) er (o i@r
z) er (o i@r z) er (o i@r
_C) er (o_ i@r _C) er (o_ i@r
er (rA E er (rA E

+ 1
- 3
dictsource/pt_list View File

doce $alt2 doce $alt2
doutora $alt2 doutora $alt2
doze $alt2 doze $alt2
droga $alt
dueto $alt2 dueto $alt2
elixir eliSir elixir eliSir
emprego $alt2 $noun emprego $alt2 $noun
rota $alt $noun rota $alt $noun
rubores $alt2 rubores $alt2
rumores $alt2 rumores $alt2
sabonete $alt2
sabonete $alt2
sabores $alt2 sabores $alt2
saibro s'aIbRU saibro s'aIbRU
saleta $alt2 saleta $alt2
?1 line l'ain ?1 line l'ain
layout l'eI,aUt layout l'eI,aUt
?2 login logiN ?2 login logiN
?2 logo l'OgU
?1 lock l'Ok ?1 lock l'Ok
mail m'eIl mail m'eIl
mails m'eIls mails m'eIls

+ 19
- 18
dictsource/pt_rules View File



i) e (r_ E i) e (r_ E
@s) e (r_ E @s) e (r_ E
qu) e (r_ E
qu) e (r_ E


ib) e (rL04_ E ib) e (rL04_ E
d) e (rL04_ E d) e (rL04_ E
f) e (rL02_ E f) e (rL02_ E


e (quL02_ E e (quL02_ E
e (rbL04_ E
e (rbL04_ E
e (rgL04_ E e (rgL04_ E


e (rsL04_ E e (rsL04_ E
e (ssL04_ E e (ssL04_ E
e (ss_ E // stress and english words e (ss_ E // stress and english words
?2 ection (_ 'EkS&~N ?2 ection (_ 'EkS&~N
?2 ee (n_ i
?2 ee (n_ i
e (stL04_ E e (stL04_ E


e (strL04_ E e (strL04_ E
tiv) e (L05_ E // es- tiv) e (L05_ E // es-
viv) e (L05_ e viv) e (L05_ e
_com) e (L05_ e _com) e (L05_ e
s_colh) e (res_ E
_cos) e (L05_ e _cos) e (L05_ e
_pud) e (L05_ E _pud) e (L05_ E
_coub) e (L05_ E _coub) e (L05_ E
_interromp) e (L07_ e _interromp) e (L07_ e
_troux) e (L07_ E _troux) e (L07_ E
_ens) e (bL03_ E _ens) e (bL03_ E
_enver) e (dL03_ E
_amanc) e (bL03_ E _amanc) e (bL03_ E
qu) e (brL04_ E qu) e (brL04_ E
_cel) e (brL04_ E _cel) e (brL04_ E
_boch) e (chL04_ e _boch) e (chL04_ e
_on) e (rL04_ E
_ex) e (crL04_ E
_ex) e (crL04_ E
_enr) e (dL01_ E _enr) e (dL01_ E
_v) e (dL03_ E _v) e (dL03_ E
_arr) e (dL03_ E _arr) e (dL03_ E
_depr) e (dL03_ E _depr) e (dL03_ E
_hosp) e (dL03_ E _hosp) e (dL03_ E
_enver) e (dL03_ E
_gr) e (gL03_ e _gr) e (gL03_ e
_gal) e (gL03_ e _gal) e (gL03_ e
_pel) e (gL03_ e _pel) e (gL03_ e
_g) e (rL04_ E _g) e (rL04_ E
_z) e (rL04_ E _z) e (rL04_ E
qu) e (rL04_ E // re- qu) e (rL04_ E // re-
_on) e (rL04_ E
_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
_persev) e (rL04_ E _persev) e (rL04_ E
_recup) e (rL04_ E _recup) e (rL04_ E
_refrig) e (rL04_ E _refrig) e (rL04_ E
_ex) e (rcL02_ E
_ex) e (rcL02_ E
_alic) e (rcL02_ 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
_des) e (rdL04_ E _des) e (rdL04_ E
s_colh) e (res_ E
_) e (rgL03_ e _) e (rgL03_ e
_so) e (rgL03_ e
_re) e (rgL03_ e _re) e (rgL03_ e
_so) e (rgL03_ e
_bez) e (rrL03_ e _bez) e (rrL03_ e
v) e (rtL03_ e // con- re- in- v) e (rtL03_ e // con- re- in-
_f) e (rvL03_ e _f) e (rvL03_ e
óCC) o (CA_ o óCC) o (CA_ o
úC) o (CA_ o úC) o (CA_ o
úCC) o (CA_ o úCC) o (CA_ o
?2 otion (_ 'owS&~N
?2 otion (_ 'owS&~N
//sort //sort
_f) o (L05_ o _f) o (L05_ o
_pormen) o (L05_ O _pormen) o (L05_ O
_esn) o (bL04_ O _esn) o (bL04_ O
_engl) o (bL04_ O _engl) o (bL04_ O
_sal) o (brL03_ o _sal) o (brL03_ o
_env) o (ltL03_ o
_) o (cL03_ o _) o (cL03_ o
_m) o (fL01_ O _m) o (fL01_ O
_m) o (fL02_ O _m) o (fL02_ O
_s) o (frL02_ O _s) o (frL02_ O
l) o (gL04_ O // dialoga, etc.
r) o (gL04_ O // inter- r) o (gL04_ O // inter-
v) o (gL04_ O // advoga, etc.
_j) o (gL04_ O _j) o (gL04_ O
af) o (gL04_ O // des- af) o (gL04_ O // des-
_adv) o (gL04_ O
_ref) o (gL04_ O _ref) o (gL04_ O
_ap) oi (L01_ OI _ap) oi (L01_ OI
_ap) oi (L02_ OI _ap) oi (L02_ OI
_emp) o (lgL04_ O _emp) o (lgL04_ O
_) o (lhL04_ O _) o (lhL04_ O
m) o (lhL04_ O m) o (lhL04_ O
_env) o (ltL03_ o
ent) o (pL02_ O ent) o (pL02_ O
_c) o (pL03_ O _c) o (pL03_ O
_t) o (pL04_ O _t) o (pL04_ O
u (a u u (a u
g) u (a+ w g) u (a+ w
q) u (a+ w q) u (a+ w
u (eC u
u (ei u
u (eC u
u (ei u
r) u (_A u r) u (_A u
u (L04_ 'u u (L04_ 'u


ui (_ 'uI ui (_ 'uI
u (iu w u (iu w
u (iCK u u (iCK u
u (éC u
u (íC u
u (éC u
u (íC u
uy uI uy uI
ul (K uw ul (K uw
u (lh+ u u (lh+ u


g) u (Y g) u (Y
_m) ui (tA_ 'wiN _m) ui (tA_ 'wiN
?2 ution (_ 'uS&~N
?2 ution (_ 'uS&~N




.group ú .group ú

+ 1
- 1
platforms/windows/make_espeak.iss View File

[Setup] [Setup]
AppName=eSpeak AppName=eSpeak
AppVerName=eSpeak version 1.47.06
AppVerName=eSpeak version 1.47.08
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

+ 1
- 1
platforms/windows/make_espeakedit.iss View File

[Setup] [Setup]
AppName=eSpeakEdit AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.47.06
AppVerName=eSpeakEdit version 1.47.08
DefaultDirName={pf}\eSpeak DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit OutputBaseFilename=setup_espeakedit

+ 1
- 0
src/compiledict.cpp View File

{"$stem", 0x30}, // must have a suffix {"$stem", 0x30}, // must have a suffix
{"$atend", 0x31}, // use this pronunciation if at end of clause {"$atend", 0x31}, // use this pronunciation if at end of clause
{"$atstart", 0x32}, // use this pronunciation at start of clause {"$atstart", 0x32}, // use this pronunciation at start of clause
{"$native", 0x33}, // not if we've switched translators


// doesn't set dictionary_flags // doesn't set dictionary_flags
{"$?", 100}, // conditional rule, followed by byte giving the condition number {"$?", 100}, // conditional rule, followed by byte giving the condition number

+ 5
- 0
src/dictionary.cpp View File

continue; continue;
} }
} }
if(dictionary_flags2 & FLAG_NATIVE)
{
if(tr != translator)
continue; // don't use if we've switched translators
}
if(dictionary_flags & FLAG_ALT2_TRANS) if(dictionary_flags & FLAG_ALT2_TRANS)
{ {
// language specific // language specific

+ 7
- 0
src/espeakedit.cpp View File

EVT_MENU(MENU_OPT_SPEED, MyFrame::OnOptions) EVT_MENU(MENU_OPT_SPEED, MyFrame::OnOptions)
EVT_MENU(MENU_OPT_PUNCT, MyFrame::OnOptions) EVT_MENU(MENU_OPT_PUNCT, MyFrame::OnOptions)
EVT_MENU(MENU_OPT_SPELL, MyFrame::OnOptions) EVT_MENU(MENU_OPT_SPELL, MyFrame::OnOptions)
EVT_MENU(MENU_OPT_SPELL2, MyFrame::OnOptions)
EVT_MENU(MENU_PATH0, MyFrame::OnOptions) EVT_MENU(MENU_PATH0, MyFrame::OnOptions)
EVT_MENU(MENU_PATH1, MyFrame::OnOptions) EVT_MENU(MENU_PATH1, MyFrame::OnOptions)
EVT_MENU(MENU_PATH2, MyFrame::OnOptions) EVT_MENU(MENU_PATH2, MyFrame::OnOptions)
break; break;


case MENU_OPT_SPELL: case MENU_OPT_SPELL:
transldlg->t_source->SetValue(_T("<say-as interpret-as=\"characters\">\n"));
transldlg->t_source->SetInsertionPointEnd();
notebook->SetSelection(1);
break;

case MENU_OPT_SPELL2:
transldlg->t_source->SetValue(_T("<say-as interpret-as=\"tts:char\">\n")); transldlg->t_source->SetValue(_T("<say-as interpret-as=\"tts:char\">\n"));
transldlg->t_source->SetInsertionPointEnd(); transldlg->t_source->SetInsertionPointEnd();
notebook->SetSelection(1); notebook->SetSelection(1);

+ 1
- 0
src/main.h View File

MENU_OPT_SPEED, MENU_OPT_SPEED,
MENU_OPT_PUNCT, MENU_OPT_PUNCT,
MENU_OPT_SPELL, MENU_OPT_SPELL,
MENU_OPT_SPELL2,
MENU_PATHS, MENU_PATHS,
MENU_PATH0, MENU_PATH0,
MENU_PATH1, MENU_PATH1,

+ 3
- 1
src/menus.cpp View File

option_menu = new wxMenu; option_menu = new wxMenu;
option_menu->Append(MENU_PATHS, _("Set &paths"), paths_menu); option_menu->Append(MENU_PATHS, _("Set &paths"), paths_menu);
option_menu->Append(MENU_OPT_SPEED, _("Speed...")); option_menu->Append(MENU_OPT_SPEED, _("Speed..."));
option_menu->AppendSeparator();
option_menu->Append(MENU_OPT_PUNCT, _("Speak punctuation")); option_menu->Append(MENU_OPT_PUNCT, _("Speak punctuation"));
option_menu->Append(MENU_OPT_SPELL, _("Speak character names"));
option_menu->Append(MENU_OPT_SPELL, _("Speak characters"));
option_menu->Append(MENU_OPT_SPELL2, _("Speak character name"));


// TOOLS // TOOLS
vowelchart_menu = new wxMenu; vowelchart_menu = new wxMenu;

+ 24
- 20
src/numbers.cpp View File

} }
} }
letter = towlower2(letter); letter = towlower2(letter);
LookupLetter(tr, letter, word[n_bytes], ph_buf, control & 1);


// is this a subscript or superscript letter ?
for(ix=0; (c = derived_letters[ix]) != 0; ix+=2)
if(ph_buf[0] == 0)
{ {
if(c > letter)
break;
if(c == letter)
// is this a subscript or superscript letter ?
for(ix=0; (c = derived_letters[ix]) != 0; ix+=2)
{ {
c = derived_letters[ix+1];
letter = c & 0x3fff;
if((modifier = modifiers[c >> 14]) != NULL)
if(c > letter)
break;
if(c == letter)
{ {
Lookup(tr, modifier, capital);
if(capital[0] == 0)
c = derived_letters[ix+1];
letter = c & 0x3fff;
if((modifier = modifiers[c >> 14]) != NULL)
{ {
capital[2] = SetTranslator2("en"); // overwrites previous contents of translator2
Lookup(translator2, modifier, &capital[3]);
if(capital[3] != 0)
Lookup(tr, modifier, capital);
if(capital[0] == 0)
{ {
capital[0] = phonPAUSE;
capital[1] = phonSWITCH;
len = strlen(&capital[3]);
capital[len+3] = phonSWITCH;
capital[len+4] = phontab_1;
capital[len+5] = 0;
capital[2] = SetTranslator2("en"); // overwrites previous contents of translator2
Lookup(translator2, modifier, &capital[3]);
if(capital[3] != 0)
{
capital[0] = phonPAUSE;
capital[1] = phonSWITCH;
len = strlen(&capital[3]);
capital[len+3] = phonSWITCH;
capital[len+4] = phontab_1;
capital[len+5] = 0;
}
} }
} }
} }
} }
LookupLetter(tr, letter, word[n_bytes], ph_buf, control & 1);
} }
LookupLetter(tr, letter, word[n_bytes], ph_buf, control & 1);


if(ph_buf[0] == phonSWITCH) if(ph_buf[0] == phonSWITCH)
{ {

+ 3
- 3
src/readclause.cpp View File

return(towupper(c)); return(towupper(c));


// check whether a previous character code is the upper-case equivalent of this character // check whether a previous character code is the upper-case equivalent of this character
if(towlower2(c-32) == c)
if(towlower2(c-32) == (int)c)
return(c-32); // yes, use it return(c-32); // yes, use it
if(towlower2(c-1) == c)
if(towlower2(c-1) == (int)c)
return(c-1); return(c-1);
for(ix=0; wchar_toupper[ix] != 0; ix+=2) for(ix=0; wchar_toupper[ix] != 0; ix+=2)
{ {
if(wchar_toupper[ix] == c)
if(wchar_toupper[ix] == (int)c)
return(wchar_toupper[ix+1]); return(wchar_toupper[ix+1]);
} }
return(c); // no return(c); // no

+ 1
- 1
src/speak_lib.cpp View File

ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode) ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode)
{//============================================================================================================== {//==============================================================================================================
/* phoneme_mode bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator /* phoneme_mode bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator
bit 4: 0=eSpeak phoneme names, 1=IPA
bits 4-7: 0=eSpeak phoneme names, 1=IPA
*/ */
option_multibyte = textmode & 7; option_multibyte = textmode & 7;
TranslateClause(translator, NULL, text, NULL, NULL); TranslateClause(translator, NULL, text, NULL, NULL);

+ 62
- 29
src/speak_lib.h View File

Changed espeak_EVENT structure to add id.string[] for phoneme mnemonics. Changed espeak_EVENT structure to add id.string[] for phoneme mnemonics.
Added espeakINITIALIZE_PHONEME_IPA option for espeak_Initialize() to report phonemes as IPA names. Added espeakINITIALIZE_PHONEME_IPA option for espeak_Initialize() to report phonemes as IPA names.


Revision 8 26.Apr.2013
Added function espeak_TextToPhonemes().

*/ */
/********************/ /********************/
/* Initialization */ /* Initialization */
char string[8]; // used for phoneme names (UTF8). Terminated by a zero byte unless the name needs the full 8 bytes. char string[8]; // used for phoneme names (UTF8). Terminated by a zero byte unless the name needs the full 8 bytes.
} id; } id;
} espeak_EVENT; } espeak_EVENT;
/*
/*
When a message is supplied to espeak_synth, the request is buffered and espeak_synth returns. When the message is really processed, the callback function will be repetedly called. When a message is supplied to espeak_synth, the request is buffered and espeak_synth returns. When the message is really processed, the callback function will be repetedly called.






In PLAYBACK mode, the callback function is called as soon as an event happens. In PLAYBACK mode, the callback function is called as soon as an event happens.


For example suppose that the following message is supplied to espeak_Synth:
For example suppose that the following message is supplied to espeak_Synth:
"hello, hello." "hello, hello."




* Once processed in RETRIEVAL mode, it could lead to 3 calls of the callback function : * Once processed in RETRIEVAL mode, it could lead to 3 calls of the callback function :


** Block 1: ** Block 1:
<audio data> +
<audio data> +
List of events: SENTENCE + WORD + LIST_TERMINATED List of events: SENTENCE + WORD + LIST_TERMINATED
** Block 2: ** Block 2:
<audio data> + <audio data> +
List of events: WORD + END + LIST_TERMINATED List of events: WORD + END + LIST_TERMINATED


typedef enum { typedef enum {
/* PLAYBACK mode: plays the audio data, supplies events to the calling program*/ /* PLAYBACK mode: plays the audio data, supplies events to the calling program*/
AUDIO_OUTPUT_PLAYBACK,
AUDIO_OUTPUT_PLAYBACK,


/* RETRIEVAL mode: supplies audio data and events to the calling program */ /* RETRIEVAL mode: supplies audio data and events to the calling program */
AUDIO_OUTPUT_RETRIEVAL, AUDIO_OUTPUT_RETRIEVAL,
/* SYNCHRONOUS mode: as RETRIEVAL but doesn't return until synthesis is completed */ /* SYNCHRONOUS mode: as RETRIEVAL but doesn't return until synthesis is completed */
AUDIO_OUTPUT_SYNCHRONOUS, AUDIO_OUTPUT_SYNCHRONOUS,


ESPEAK_API void espeak_SetSynthCallback(t_espeak_callback* SynthCallback); ESPEAK_API void espeak_SetSynthCallback(t_espeak_callback* SynthCallback);
/* Must be called before any synthesis functions are called. /* Must be called before any synthesis functions are called.
This specifies a function in the calling program which is called when a buffer of This specifies a function in the calling program which is called when a buffer of
speech sound data has been produced.
speech sound data has been produced.




The callback function is of the form: The callback function is of the form:
start of the text. start of the text.


position_type: Determines whether "position" is a number of characters, words, or sentences. position_type: Determines whether "position" is a number of characters, words, or sentences.
Values:
Values:


end_position: If set, this gives a character position at which speaking will stop. A value end_position: If set, this gives a character position at which speaking will stop. A value
of zero indicates no end position. of zero indicates no end position.
espeakCHARS_8BIT The 8 bit ISO-8859 character set for the particular language. espeakCHARS_8BIT The 8 bit ISO-8859 character set for the particular language.
espeakCHARS_AUTO 8 bit or UTF8 (this is the default) espeakCHARS_AUTO 8 bit or UTF8 (this is the default)
espeakCHARS_WCHAR Wide characters (wchar_t) espeakCHARS_WCHAR Wide characters (wchar_t)
espeakCHARS_16BIT 16 bit characters.


espeakSSML Elements within < > are treated as SSML elements, or if not recognised are ignored. espeakSSML Elements within < > are treated as SSML elements, or if not recognised are ignored.


espeakENDPAUSE If set then a sentence pause is added at the end of the text. If not set then espeakENDPAUSE If set then a sentence pause is added at the end of the text. If not set then
this pause is suppressed. this pause is suppressed.


unique_identifier: message identifier; helpful for identifying later
unique_identifier: message identifier; helpful for identifying later
data supplied to the callback. data supplied to the callback.


user_data: pointer which will be passed to the callback function. user_data: pointer which will be passed to the callback function.


Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
you may try after a while to call the function again. you may try after a while to call the function again.
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */


For the other parameters, see espeak_Synth() For the other parameters, see espeak_Synth()


Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
you may try after a while to call the function again. you may try after a while to call the function again.
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */
If key_name is a single character, it speaks the name of the character. If key_name is a single character, it speaks the name of the character.
Otherwise, it speaks key_name as a text string. Otherwise, it speaks key_name as a text string.


Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
you may try after a while to call the function again. you may try after a while to call the function again.
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */
extern "C" extern "C"
#endif #endif
ESPEAK_API espeak_ERROR espeak_Char(wchar_t character); ESPEAK_API espeak_ERROR espeak_Char(wchar_t character);
/* Speak the name of the given character
/* Speak the name of the given character


Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
you may try after a while to call the function again. you may try after a while to call the function again.
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */
espeakRANGE: pitch range, range 0-100. 0-monotone, 50=normal espeakRANGE: pitch range, range 0-100. 0-monotone, 50=normal


espeakPUNCTUATION: which punctuation characters to announce: espeakPUNCTUATION: which punctuation characters to announce:
value in espeak_PUNCT_TYPE (none, all, some),
value in espeak_PUNCT_TYPE (none, all, some),
see espeak_GetParameter() to specify which characters are announced. see espeak_GetParameter() to specify which characters are announced.


espeakCAPITALS: announce capital letters by: espeakCAPITALS: announce capital letters by:


espeakWORDGAP: pause between words, units of 10mS (at the default speed) espeakWORDGAP: pause between words, units of 10mS (at the default speed)


Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
you may try after a while to call the function again. you may try after a while to call the function again.
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */


punctlist: A list of character codes, terminated by a zero character. punctlist: A list of character codes, terminated by a zero character.


Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
you may try after a while to call the function again. you may try after a while to call the function again.
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */
stream output stream for the phoneme symbols (and trace). If stream=NULL then it uses stdout. stream output stream for the phoneme symbols (and trace). If stream=NULL then it uses stdout.
*/ */


#ifdef __cplusplus
extern "C"
#endif
ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode);
/* Translates text into phonemes. Call espeak_SetVoiceByName() first, to select a language.
text: The text to translate, terminated by a zero character.

buffer: Output buffer for the phoneme translation.

size: Size of the output buffer in bytes.

textmode: Type of character codes, one of:
espeakCHARS_UTF8 UTF8 encoding
espeakCHARS_8BIT The 8 bit ISO-8859 character set for the particular language.
espeakCHARS_AUTO 8 bit or UTF8 (this is the default)
espeakCHARS_WCHAR Wide characters (wchar_t)
espeakCHARS_16BIT 16 bit characters.

phonememode: bits0-3:
0= just phonemes.
1= include ties (U+361) for phoneme names of more than one letter.
2= include zero-width-joiner for phoneme names of more than one letter.
3= separate phonemes with underscore characters.

bits 4-7:
0= eSpeak's ascii phoneme names.
1= International Phonetic Alphabet (as UTF-8 characters).
*/

#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
#endif #endif
unsigned char gender; // 0=none 1=male, 2=female, unsigned char gender; // 0=none 1=male, 2=female,
unsigned char age; // 0=not specified, or age in years unsigned char age; // 0=not specified, or age in years
unsigned char variant; // only used when passed as a parameter to espeak_SetVoiceByProperties unsigned char variant; // only used when passed as a parameter to espeak_SetVoiceByProperties
unsigned char xx1; // for internal use
unsigned char xx1; // for internal use
int score; // for internal use int score; // for internal use
void *spare; // for internal use void *spare; // for internal use
} espeak_VOICE; } espeak_VOICE;
/* Searches for a voice with a matching "name" field. Language is not considered. /* Searches for a voice with a matching "name" field. Language is not considered.
"name" is a UTF8 string. "name" is a UTF8 string.


Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
Return: EE_OK: operation achieved
EE_BUFFER_FULL: the command can not be buffered;
you may try after a while to call the function again. you may try after a while to call the function again.
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */
function returns, the audio output is fully stopped and the synthesizer is ready to function returns, the audio output is fully stopped and the synthesizer is ready to
synthesize a new message. synthesize a new message.


Return: EE_OK: operation achieved
Return: EE_OK: operation achieved
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */


#endif #endif
ESPEAK_API espeak_ERROR espeak_Synchronize(void); ESPEAK_API espeak_ERROR espeak_Synchronize(void);
/* This function returns when all data have been spoken. /* This function returns when all data have been spoken.
Return: EE_OK: operation achieved
Return: EE_OK: operation achieved
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */


#endif #endif
ESPEAK_API espeak_ERROR espeak_Terminate(void); ESPEAK_API espeak_ERROR espeak_Terminate(void);
/* last function to be called. /* last function to be called.
Return: EE_OK: operation achieved
Return: EE_OK: operation achieved
EE_INTERNAL_ERROR. EE_INTERNAL_ERROR.
*/ */



+ 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.07b 25.Apr.13";
const char *version_string = "1.47.08 26.Apr.13";
const int version_phdata = 0x014701; const int version_phdata = 0x014701;


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

+ 2
- 1
src/translate.h View File

#define FLAG_ONLY 0x4000 #define FLAG_ONLY 0x4000
#define FLAG_ONLY_S 0x8000 #define FLAG_ONLY_S 0x8000
#define FLAG_STEM 0x10000 // must have a suffix #define FLAG_STEM 0x10000 // must have a suffix
#define FLAG_ATEND 0x20000 /* use this pronunciation if at end of clause */
#define FLAG_ATEND 0x20000 // use this pronunciation if at end of clause
#define FLAG_ATSTART 0x40000 // use this pronunciation if at start of clause #define FLAG_ATSTART 0x40000 // use this pronunciation if at start of clause
#define FLAG_NATIVE 0x80000 // not if we've switched translators
#define FLAG_LOOKUP_SYMBOL 0x40000000 // to indicate called from Lookup() #define FLAG_LOOKUP_SYMBOL 0x40000000 // to indicate called from Lookup()


#define BITNUM_FLAG_ALLCAPS 0x2a #define BITNUM_FLAG_ALLCAPS 0x2a

Loading…
Cancel
Save