:: [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:11:36 +0000
with message-id <1625317896.238433.9215.nullmailer@???>
and subject line #496: fixed in src:debian-config-override version 2.0
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: 2.0

Source package debian-config-override (2.0) 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:03:10 +0100
Source: debian-config-override
Architecture: source
Version: 2.0
Distribution: unstable
Urgency: medium
Maintainer: Mark Hindley <mark@???>
Changed-By: Mark Hindley <mark@???>
Closes: 496
debian-config-override (2.0) unstable; urgency=medium
* No longer experimental.
* Target ceres/chimaera.
* d/control: debhelper-compat version 13.
* Remove debian-pulseaudio-config-override package.
* New package devuan-speech-dispatcher-config-override (Closes: #496).
7adf33d354b486c7b83233af803c7f88b09c86d6 1425 debian-config-override_2.0.dsc
06461d4475ab9edf1e67a862aa1e2aa77669e3be 2012 debian-config-override_2.0.tar.xz
a36cfd975faae01cde50e2b9bcdcc4eb3d72fe82 5215 debian-config-override_2.0_source.buildinfo
87c6143c3dd8071dc88a7602e5dd6675648892d584c9d9b89c474be46fc22617 1425 debian-config-override_2.0.dsc
ba17e0fd5175b5c5f6087f308f0881b3e1484cbc2e973eab94f62055872cc860 2012 debian-config-override_2.0.tar.xz
ff696bb6f2a1fb520d9261672d8dde85dac269ba25b8eb295e9fd46dac7655e7 5215 debian-config-override_2.0_source.buildinfo
a4ab7318c8f27bc23ec7ad8c5ed96d6b 1425 misc optional debian-config-override_2.0.dsc
c91d7ef018ea1e216a65efddc0466544 2012 misc optional debian-config-override_2.0.tar.xz
5c1417bb5cbd00d026530fb27a8d7581 5215 misc optional debian-config-override_2.0_source.buildinfo