case ET_VOICE_SPEC: | case ET_VOICE_SPEC: | ||||
{ | { | ||||
espeak_VOICE *data = &(the_command->u.my_voice_spec); | espeak_VOICE *data = &(the_command->u.my_voice_spec); | ||||
SetVoiceByProperties(data); | |||||
espeak_SetVoiceByProperties(data); | |||||
} | } | ||||
break; | break; | ||||
default: | default: |
void sync_espeak_SetParameter(espeak_PARAMETER parameter, int value, int relative); | void sync_espeak_SetParameter(espeak_PARAMETER parameter, int value, int relative); | ||||
int sync_espeak_SetVoiceByName(const char *name); | int sync_espeak_SetVoiceByName(const char *name); | ||||
int sync_espeak_SetVoiceByProperties(espeak_VOICE *voice_selector); | int sync_espeak_SetVoiceByProperties(espeak_VOICE *voice_selector); | ||||
espeak_ERROR SetVoiceByProperties(espeak_VOICE *voice_selector); | |||||
void SetParameter(int parameter, int value, int relative); | void SetParameter(int parameter, int value, int relative); | ||||
int sync_espeak_terminated_msg(unsigned int unique_identifier, void *user_data); | int sync_espeak_terminated_msg(unsigned int unique_identifier, void *user_data); |
#endif | #endif | ||||
} | } | ||||
ESPEAK_API espeak_ERROR espeak_SetVoiceByProperties(espeak_VOICE *voice_selector) | |||||
{ | |||||
return SetVoiceByProperties(voice_selector); | |||||
} | |||||
ESPEAK_API int espeak_GetParameter(espeak_PARAMETER parameter, int current) | ESPEAK_API int espeak_GetParameter(espeak_PARAMETER parameter, int current) | ||||
{ | { | ||||
// current: 0=default value, 1=current value | // current: 0=default value, 1=current value |
extern int n_soundicon_tab; | extern int n_soundicon_tab; | ||||
extern SOUND_ICON soundicon_tab[N_SOUNDICON_TAB]; | extern SOUND_ICON soundicon_tab[N_SOUNDICON_TAB]; | ||||
espeak_ERROR SetVoiceByProperties(espeak_VOICE *voice_selector); | |||||
espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int *srate); | espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int *srate); | ||||
void SetParameter(int parameter, int value, int relative); | void SetParameter(int parameter, int value, int relative); | ||||
int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbrola); | int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbrola); |
return EE_INTERNAL_ERROR; // voice name not found | return EE_INTERNAL_ERROR; // voice name not found | ||||
} | } | ||||
#pragma GCC visibility pop | |||||
espeak_ERROR SetVoiceByProperties(espeak_VOICE *voice_selector) | |||||
espeak_ERROR espeak_SetVoiceByProperties(espeak_VOICE *voice_selector) | |||||
{ | { | ||||
const char *voice_id; | const char *voice_id; | ||||
int voice_found; | int voice_found; | ||||
return EE_OK; | return EE_OK; | ||||
} | } | ||||
#pragma GCC visibility pop | |||||
void FreeVoiceList() | void FreeVoiceList() | ||||
{ | { | ||||
int ix; | int ix; |
if (espeak_SetVoiceByName(voicename) != EE_OK) { | if (espeak_SetVoiceByName(voicename) != EE_OK) { | ||||
memset(&voice_select, 0, sizeof(voice_select)); | memset(&voice_select, 0, sizeof(voice_select)); | ||||
voice_select.languages = voicename; | voice_select.languages = voicename; | ||||
if (SetVoiceByProperties(&voice_select) != EE_OK) { | |||||
if (espeak_SetVoiceByProperties(&voice_select) != EE_OK) { | |||||
fprintf(stderr, "%svoice '%s'\n", err_load, voicename); | fprintf(stderr, "%svoice '%s'\n", err_load, voicename); | ||||
exit(2); | exit(2); | ||||
} | } |