espeak_SetSynthCallback() can be called either before or after espeak_Initialize(). git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@31 d46cf337-b52f-0410-862d-fd96e6ae7743master
_0M2 m'illio: | _0M2 m'illio: | ||||
_1M2 m'illio: | _1M2 m'illio: | ||||
_2M2 k'e:tm,illio: | _2M2 k'e:tm,illio: | ||||
_0M3 m'illia:rd | |||||
_1M3 m'illia:rd | |||||
_1M3 k'e:tm,illia:rd | |||||
_0M3 m'illia:Rd | |||||
_1M3 m'illia:Rd | |||||
_1M3 k'e:tm,illia:Rd | |||||
_0M4 b'illio: | _0M4 b'illio: | ||||
_1M4 b'illio: | _1M4 b'illio: | ||||
_2M4 k'e:tb,illio: | _2M4 k'e:tb,illio: | ||||
ször $u | ször $u | ||||
// word pairs | |||||
(hogy az) hoJ,Az | |||||
// Verbs | // Verbs | ||||
vagyok $u // to be, present | vagyok $u // to be, present |
r R | r R | ||||
A) r (A * | A) r (A * | ||||
C) r (A R | C) r (A R | ||||
r (C r | |||||
rr R | |||||
r (C R | |||||
rr R* | |||||
.group s | .group s | ||||
s S | s S |
r (B r# | r (B r# | ||||
r (_ r# | r (_ r# | ||||
r R | r R | ||||
rr R* | |||||
rl dl | rl dl | ||||
rl (K rtl# | rl (K rtl# | ||||
rn rdn# | rn rdn# |
1 w/wu base | 1 w/wu base | ||||
5 w/xw base | 5 w/xw base | ||||
20 x/b base hi ro is | 20 x/b base hi ro is | ||||
2 x/b_ base is | |||||
1 x/b_ base | |||||
9 x/d base hi hr el is | 9 x/d base hi hr el is | ||||
14 x/d_ base fi fr hi pl hr ru it ro el is sw | 14 x/d_ base fi fr hi pl hr ru it ro el is sw | ||||
23 x/d_dnt base fi fr hi hu pl ru it ro sw | 23 x/d_dnt base fi fr hi hu pl ru it ro sw |
phoneme b | phoneme b | ||||
vls blb stop | vls blb stop | ||||
vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk | |||||
vowelin f1=2 f2=1000 -300 -200 f3=-200 80 rms=30 | |||||
vowelin f1=1 f2=1000 -300 -200 f3=-200 80 rms=27 | |||||
vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk | |||||
lengthmod 5 | lengthmod 5 | ||||
wave x/b | wave x/b | ||||
before _ x/b_ | |||||
// before _ x/b_ | |||||
endphoneme | endphoneme | ||||
//> | //> | ||||
//<event_init | //<event_init | ||||
void event_init(t_espeak_callback* SynthCallback) | |||||
{ | |||||
ENTER("event_init"); | |||||
void event_set_callback(t_espeak_callback* SynthCallback) | |||||
{ | |||||
my_callback = SynthCallback; | my_callback = SynthCallback; | ||||
SHOW("event_init > my_callback=0x%x\n", my_callback); | |||||
} | |||||
void event_init(void) | |||||
{ | |||||
ENTER("event_init"); | |||||
my_event_is_running=0; | my_event_is_running=0; | ||||
static unsigned int a_old_uid = 0; | static unsigned int a_old_uid = 0; | ||||
espeak_EVENT events[2]; | |||||
memcpy(&events[0],event,sizeof(espeak_EVENT)); // the event parameter in the callback function should be an array of eventd | |||||
events[1].type = espeakEVENT_LIST_TERMINATED; // ... terminated by an event type=0 | |||||
if (event && my_callback) | if (event && my_callback) | ||||
{ | { | ||||
event_display(event); | event_display(event); |
// First function to be called. | // First function to be called. | ||||
// the callback will be called when the event actually occurs. | // the callback will be called when the event actually occurs. | ||||
// The callback is detailled in speak_lib.h . | // The callback is detailled in speak_lib.h . | ||||
void event_init(t_espeak_callback* cb); | |||||
void event_init(void); | |||||
void event_set_callback(t_espeak_callback* cb); | |||||
// Clear any pending event. | // Clear any pending event. | ||||
// | // |
wave_init(); | wave_init(); | ||||
wave_set_callback_is_output_enabled( fifo_is_command_enabled); | wave_set_callback_is_output_enabled( fifo_is_command_enabled); | ||||
my_audio = wave_open("alsa"); | my_audio = wave_open("alsa"); | ||||
event_init(synth_callback); | |||||
event_init(); | |||||
#endif | #endif | ||||
break; | break; | ||||
{//====================================================================== | {//====================================================================== | ||||
ENTER("espeak_SetSynthCallback"); | ENTER("espeak_SetSynthCallback"); | ||||
synth_callback = SynthCallback; | synth_callback = SynthCallback; | ||||
#ifdef USE_ASYNC | |||||
event_set_callback(synth_callback); | |||||
#endif | |||||
} | } | ||||
ESPEAK_API void espeak_SetUriCallback(int (* UriCallback)(int, const char*, const char *)) | ESPEAK_API void espeak_SetUriCallback(int (* UriCallback)(int, const char*, const char *)) |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.25.14 31.May.07"; | |||||
const char *version_string = "1.25.15 01.Jun.07"; | |||||
const int version_phdata = 0x012514; | const int version_phdata = 0x012514; | ||||
int option_device_number = -1; | int option_device_number = -1; |
case L('i','s'): // Icelandic | case L('i','s'): // Icelandic | ||||
{ | { | ||||
static int stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 }; | static int stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 }; | ||||
static int stress_lengths_is[8] = {180,155, 200,200, 0,0, 240,250}; | |||||
static int stress_lengths_is[8] = {180,160, 200,200, 0,0, 240,250}; | |||||
static const wchar_t is_lettergroup_B[] = {'c','f','h','k','p','t','x',0xfe,0}; // voiceless conants, including 'þ' ?? 's' | static const wchar_t is_lettergroup_B[] = {'c','f','h','k','p','t','x',0xfe,0}; // voiceless conants, including 'þ' ?? 's' | ||||
tr = new Translator(); | tr = new Translator(); |