Package: release.debian.org Severity: normal Tags: bullseye User: release.debian....@packages.debian.org Usertags: pu
Hello, [ Reason ] We have recently noticed that one cannot choose between the various mbrola speech synthesis voices in the orca screen reader. This is not a regression from previous releases. [ Impact ] This prevents users from being able to switch between e.g. male/female voices to efficiently mark different contents. [ Tests ] This was tested in a VM as well as on the end-user system where the bug was noticed first. [ Risks ] The code is very simple: it just moves a single line of code, and adds a few debugging prints to make sure this gets effect. [ Checklist ] [X] *all* changes are documented in the d/changelog [X] I reviewed all changes and I approve them [X] attach debdiff against the package in (old)stable [X] the issue is verified as fixed in unstable [ Changes ] The bug comes from the fact that there are several ways to specify the voice to be used: either through language + voice type, or precise voice name. The second way is of course very precise, but unfortunately it was coming first, and thus overwritten by the other ways. The change is just to use the voice name last, so that one takes precedence over the other (more generic) types.
diff -Nru speech-dispatcher-0.10.2/debian/changelog speech-dispatcher-0.10.2/debian/changelog --- speech-dispatcher-0.10.2/debian/changelog 2020-12-16 01:17:56.000000000 +0100 +++ speech-dispatcher-0.10.2/debian/changelog 2021-09-19 15:55:15.000000000 +0200 @@ -1,3 +1,10 @@ +speech-dispatcher (0.10.2-2+deb11u1) bullseye; urgency=medium + + * patches/generic-set-voice-name: Fix setting voice name for the generic + module. + + -- Samuel Thibault <sthiba...@debian.org> Sun, 19 Sep 2021 15:55:15 +0200 + speech-dispatcher (0.10.2-2) unstable; urgency=medium * speech-dispatcher: Handle moving configuration file from main package to diff -Nru speech-dispatcher-0.10.2/debian/patches/generic-set-voice-name speech-dispatcher-0.10.2/debian/patches/generic-set-voice-name --- speech-dispatcher-0.10.2/debian/patches/generic-set-voice-name 1970-01-01 01:00:00.000000000 +0100 +++ speech-dispatcher-0.10.2/debian/patches/generic-set-voice-name 2021-09-19 15:55:15.000000000 +0200 @@ -0,0 +1,41 @@ +commit 2aff49e3b8eb49dceb2c135025bc19cea6b0fd2e +Author: Samuel Thibault <samuel.thiba...@ens-lyon.org> +Date: Sun Sep 19 15:52:31 2021 +0200 + + generic: Set voice name after setting voice language and type + + E.g. when using various mbrola languages, we want to be able to specify + a precise voice name. Setting the voice language/type after the voice + name would override that choice. + +diff --git a/src/modules/generic.c b/src/modules/generic.c +index 5072867d..b62cdb58 100644 +--- a/src/modules/generic.c ++++ b/src/modules/generic.c +@@ -205,9 +205,9 @@ int module_speak(const gchar * data, size_t bytes, SPDMessageType msgtype) + DBG("Speaking when requested to write"); + return 0; + } +- UPDATE_STRING_PARAMETER(voice.name, generic_set_synthesis_voice); + UPDATE_STRING_PARAMETER(voice.language, generic_set_language); + UPDATE_PARAMETER(voice_type, generic_set_voice); ++ UPDATE_STRING_PARAMETER(voice.name, generic_set_synthesis_voice); + UPDATE_PARAMETER(punctuation_mode, generic_set_punct); + UPDATE_PARAMETER(pitch, generic_set_pitch); + UPDATE_PARAMETER(pitch_range, generic_set_pitch_range); +@@ -707,6 +707,7 @@ void generic_set_language(char *lang) + + void generic_set_voice(SPDVoiceType voice) + { ++ DBG("Setting voice type %d", voice); + assert(generic_msg_language); + generic_msg_voice_str = + module_getvoice(generic_msg_language->code, voice); +@@ -717,6 +718,7 @@ void generic_set_voice(SPDVoiceType voice) + + void generic_set_synthesis_voice(char *name) + { ++ DBG("Setting voice name %s (%s)", name, msg_settings.voice.name); + assert(msg_settings.voice.name); + if (module_existsvoice(msg_settings.voice.name)) + generic_msg_voice_str = msg_settings.voice.name; diff -Nru speech-dispatcher-0.10.2/debian/patches/series speech-dispatcher-0.10.2/debian/patches/series --- speech-dispatcher-0.10.2/debian/patches/series 2020-11-25 00:43:56.000000000 +0100 +++ speech-dispatcher-0.10.2/debian/patches/series 2021-09-19 15:55:15.000000000 +0200 @@ -1,3 +1,4 @@ doc-figures systemd-debian mbrola-paths +generic-set-voice-name