diff options
Diffstat (limited to '')
-rw-r--r-- | src/jo_n_speak.c | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/src/jo_n_speak.c b/src/jo_n_speak.c index 5fc935e..48fcbaa 100644 --- a/src/jo_n_speak.c +++ b/src/jo_n_speak.c @@ -15,15 +15,31 @@ void jo_n_speak(const char *msg) { - espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 0, NULL, 0); - espeak_Synth(msg, - strlen(msg), - 0, - POS_CHARACTER, - 0, - espeakCHARS_UTF8 | espeakENDPAUSE, - NULL, - NULL); + espeak_ERROR err; + int32_t samplerate; + + samplerate = espeak_Initialize + (AUDIO_OUTPUT_PLAYBACK, + 500, + NULL, + 0); + if (samplerate == -1) { + dprintf(2, "Failed to initialize espeak\n"); + exit(JO_RET_ESPEAK_FAILED); + } + espeak_SetVoiceByName(JO_ESPEAK_VOICE); + err = espeak_Synth + (msg, + strlen(msg) + 1, + 0, + POS_CHARACTER, + 0, + espeakCHARS_AUTO | espeakENDPAUSE, + NULL, + NULL); + if (err != EE_OK) { + dprintf(STDERR_FILENO, "espeak synth error\n"); + } espeak_Synchronize(); espeak_Terminate(); } |