espeakup: Voice change after Ctrl+F7 => Crtl+F2 if it is not a language
Samuel Thibault
samuel.thibault at ens-lyon.org
Sun Mar 10 07:10:34 EDT 2019
Didier Spaier, le dim. 10 mars 2019 11:23:31 +0100, a ecrit:
> espeakup being started by a startup script like this:
> ALSA_CARD=PCH espeakup -v fr-fr
I guess you meant -V, not -v ?
> Ctrl+Alt+F7 # Mate is started
> Ctrl+Alt+F2 # log in as regular user
> Now espeak-ng speaks with an English voice.
So it's probably the restart of voice done by reinitialize_espeak which
is erroneous.
> This doesn't happen if espeakup is started like this:
> ALSA_CARD=PCH espeakup -v fr
I am actually surprised that it's that way, what I see would be the
converse: reinitialize_espeak() uses espeak_SetVoiceByName (i.e. fr-fr
only would work).
> I have seen this commit:
> https://github.com/williamh/espeakup/commit/ee099174d849e32bf7b555e458963d27f84c64b2
> "Allow a voice to be selected by language name"
> but do not know if/why this could be related to that.
Because it brings two ways of setting the voice: either by language or
by name.
I'd say synth_t's char *voice field should be replaced by a espeak_VOICE
voice_select field, and make set_voice fill it before just always
calling espeak_SetVoiceByProperties(), trying to use the "name" member
before trying to use the "language" member. reinitialize_espeak()
then just has to call espeak_SetVoiceByProperties on it instead of
espeak_SetVoiceByName.
Could you have a look at doing that?
Samuel
More information about the Speakup
mailing list