From b28a0001c0766f07a777eabcd8a7b99c32ae87ac Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Fri, 1 Jan 2016 19:01:16 +0000 Subject: [PATCH] espeak-ng: use the new espeak-ng initialization APIs --- src/espeak-ng.c | 16 ++++++++++++++-- src/include/espeak-ng/espeak_ng.h | 3 +++ src/libespeak-ng/speak_lib.c | 5 +++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/espeak-ng.c b/src/espeak-ng.c index 535266ce..709ac119 100644 --- a/src/espeak-ng.c +++ b/src/espeak-ng.c @@ -579,9 +579,20 @@ int main(int argc, char **argv) } } + espeak_ng_InitializePath(data_path); + espeak_ng_STATUS result = espeak_ng_Initialize(); + if (result != ENS_OK) { + if (result == ENE_READ_ERROR) + fprintf(stderr, "Failed to load espeak-data\n"); + else + fprintf(stderr, "Wrong version of espeak-data\n"); + exit(1); + } + if (option_waveout || quiet) { // writing to a file (or no output), we can use synchronous mode - samplerate = espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS, 0, data_path, 0); + espeak_ng_InitializeOutput(ENOUTPUT_MODE_SYNCHRONOUS, 0, NULL); + samplerate = espeak_ng_GetSampleRate(); samples_split = samplerate * samples_split_seconds; espeak_SetSynthCallback(SynthCallback); @@ -595,7 +606,8 @@ int main(int argc, char **argv) } } else { // play the sound output - samplerate = espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 0, data_path, 0); + espeak_ng_InitializeOutput(ENOUTPUT_MODE_SPEAK_AUDIO, 0, NULL); + samplerate = espeak_ng_GetSampleRate(); } if (voicename[0] == 0) diff --git a/src/include/espeak-ng/espeak_ng.h b/src/include/espeak-ng/espeak_ng.h index 4b02e921..65095507 100644 --- a/src/include/espeak-ng/espeak_ng.h +++ b/src/include/espeak-ng/espeak_ng.h @@ -60,6 +60,9 @@ espeak_ng_InitializeOutput(espeak_ng_OUTPUT_MODE output_mode, int buffer_length, const char *device); +ESPEAK_NG_API int +espeak_ng_GetSampleRate(void); + ESPEAK_NG_API espeak_ng_STATUS espeak_ng_CompileDictionary(const char *dsource, const char *dict_name, diff --git a/src/libespeak-ng/speak_lib.c b/src/libespeak-ng/speak_lib.c index c331fd4d..447092bf 100644 --- a/src/libespeak-ng/speak_lib.c +++ b/src/libespeak-ng/speak_lib.c @@ -356,6 +356,11 @@ ESPEAK_NG_API espeak_ng_STATUS espeak_ng_Initialize(void) return ENS_OK; } + +ESPEAK_NG_API int espeak_ng_GetSampleRate(void) +{ + return samplerate; +} #pragma GCC visibility pop static espeak_ERROR Synthesize(unsigned int unique_identifier, const void *text, int flags)