aboutsummaryrefslogtreecommitdiffstats
path: root/src/jo_n_speak.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/jo_n_speak.c34
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();
}