:: [devuan-dev] bug#496: marked as don…
Top Page
Delete this message
Reply to this message
Author: Devuan bug Tracking System
To: dak
Subject: [devuan-dev] bug#496: marked as done (devuan-project: request to fork speech-dispatcher package from debian)
Your message dated Sat, 03 Jul 2021 13:30:25 +0000
with message-id <1625319025.047033.9792.nullmailer@???>
and subject line #496: fixed in src:tasksel version 3.68+devuan1
has caused the Devuan bug report #496,
regarding devuan-project: request to fork speech-dispatcher package from debian
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@???

496: https://bugs.devuan.org/cgi/bugreport.cgi?bug=496
Devuan Bug Tracking System
Contact owner@??? with problems
Package: devuan-project
Severity: grave
Tags: a11y
Justification: renders package unusable

This is a request to fork the speech-dispatcher package from debian,
and modify speech-dispatcher's configuration.

-- background:
There are two methods to access a devuan system with speech output.
The first method is to use the text console.
On a devuan system installed with accessibility, the text console is accessed
through the speakup screen reader, espeakup, and espeak/espeak-ng.
The speakup screen reader is part of the linux kernel.
Since speakup lives in kernel space, it cannot access a software speech
synthesizer like espeak directly.
On a devuan system installed with speech output, the connector between
speakup and espeak is a piece of software called espeakup.

Espeakup monitors speakup for text to be spoken, and uses
espeak to process the text for speech to be output through the sound card.
The espeakup program uses ALSA to access the sound card.
ALSA is used so that espeakup has a minimal number of dependencies,
and so that those who don't want to use pulseaudio aren't forced to do so.

The second method to access a devuan system with speech
is to use the orca screen reader at the graphical console.
To produce speech output, orca uses a program called speech-dispatcher.
The aim of speech-dispatcher is to accept text to speak from
multiple clients, and pass it to one of multiple speech synthesizers
for speech output.
The speech-dispatcher program can output speech to a sound card in multiple
ways, or it can even output speech over the network.

On a devuan system installed with speech, the speech-dispatcher
program inherited from debian uses pulseaudio to drive the sound card.
Since pulseaudio doesn't autospawn on devuan,
this means that speech-dispatcher by default
can't output speech to the sound card.
This in turn means that users don't get speech at the
graphical console
in devuan 3.0 by default.
Users do however get speech at the text console,
since as I mentioned above, espeakup uses ALSA to output to the sound card.

In debian pulseaudio is autospawned by systemd, so the opposite is true;
users have speech at the graphical console, but not at the text console,
since pulseaudio holds the sound card, preventing espeakup from accessing the
sound card through ALSA.

-- proposed solution:
The solution I'm proposing is to fork debian's speech-dispatcher
package, and change speech-dispatcher's configuration
so it uses libao instead of pulseaudio by default for speech output.
As long as devuan's default is not to autospawn pulseaudio,
this means that both espeakup and speech-dispatcher
will use ALSA to drive the sound card.
This in turn means that users requiring speech output in devuan
will have it both at the text and the graphical consoles by default.

If devuan does however change to autospawn pulseaudio
by default in the future, the change I'm proposing
means that users would not have speech at either text or
graphical consoles.

Configuring speech-dispatcher to use libao for output is done in the
/etc/speech-dispatcher/speechd.conf file.
In that file, the line which reads:

# AudioOutputMethod "pulseaudio"

should be changed to read:

AudioOutputMethod "libao"

This change is also suggested in the troubleshooting
section of the debian accessibility wiki.

I'm planning to fork and maintain the speech-dispatcher package for devuan
once I'm able to take on that responsibility, assuming no one does so first.
There are other ways to fix this situation.
However, the method I'm proposing is the most
straightforward, and should be welcomed by most users requiring speech output
at the text and graphical consoles.

-- System Information:
Distributor ID:    Debian
Description:    Devuan GNU/Linux 3 (beowulf)
Release:    3
Codename:    beowulf

Version: 3.68+devuan1

Source package tasksel (3.68+devuan1) added to Devuan suite unstable.

This closes bug report 496.


DAK managing the Devuan archive

Hash: SHA512

Format: 1.8
Date: Sat, 03 Jul 2021 14:17:44 +0100
Source: tasksel
Architecture: source
Version: 3.68+devuan1
Distribution: unstable
Urgency: medium
Maintainer: Devuan Dev Team <devuan-dev@???>
Changed-By: Mark Hindley <mark@???>
Closes: 496
 tasksel (3.68+devuan1) unstable; urgency=medium
   * Merge Debian 3.68.
   * Recommend devuan-speech-dispatcher-config-override wherever orca
     is recommended (Closes: #496).
 8db6c81d9ea8d6095e2c51308161b3fb91242211 17182 tasksel_3.68+devuan1.dsc
 f4ad620e66af2acbcb8e78c8d3f40a79b614642a 299396 tasksel_3.68+devuan1.tar.xz
 5291f790600a23594e14e4d2f095a07d5a7fe892 9718 tasksel_3.68+devuan1_source.buildinfo
 8c371071eac9c4e2bbc04d4291f18cb11a77efd4789520e4588544447af3fb29 17182 tasksel_3.68+devuan1.dsc
 6baf5a330621a2384d843e2701ad9fa705008fd7d7f2e0800f16a1760962f1b0 299396 tasksel_3.68+devuan1.tar.xz
 8f2c05c77e74bd8ecba0b1a5ecb1bbc426c45d8dd88b3eb5c6af5b6d78d249c5 9718 tasksel_3.68+devuan1_source.buildinfo
 95e7594d27773045faa2fb0cb66a2192 17182 tasks optional tasksel_3.68+devuan1.dsc
 4d409d2e2ba468009b9691b7f410f082 299396 tasks optional tasksel_3.68+devuan1.tar.xz
 f9f95668bccd5c7e67ff4844419b14c3 9718 tasks optional tasksel_3.68+devuan1_source.buildinfo