--- a/synth.c +++ b/synth.c @@ -91,6 +91,13 @@ espeak_ERROR set_voice(struct synth_t * espeak_ERROR rc; rc = espeak_SetVoiceByName(voice); + if (rc != EE_OK) + { + espeak_VOICE voice_select; + memset(&voice_select, 0, sizeof(voice_select)); + voice_select.languages = voice; + rc = espeak_SetVoiceByProperties(&voice_select); + } if (rc == EE_OK) strcpy(s->voice, voice); return rc;