Subject: bug#496: devuan-project: request to fork speech-dispatcher package from debian

From: Gregory Nowak <[email-masked]>
Date: Sat, 25 Jul 2020 21:41:08 -0700

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

---

From: Arne Wichmann <[email-masked]>
Date: Mon, 26 Apr 2021 13:37:42 +0200

The reasoning in the bug looked quite sound - what is the state of the
package?

Shall we close the bug as being done or downgrade it to wishlist?

cu

AW
-- 
[...] If you don't want to be restricted, don't agree to it. If you are
coerced, comply as much as you must to protect yourself, just don't support
it. Noone can free you but yourself. (crag, on Debian Planet)
Arne Wichmann ([email-masked])

---

From: Gregory Nowak <[email-masked]>
Date: Mon, 26 Apr 2021 18:07:59 -0700

No, speech-dispatcher hasn't been forked as far as I know; I certainly
haven't done it yet.

The inclusion of the debian-pulseaudio-config-override package in
Beowulf and beyond raises a problem. Forking speech-dispatcher relies
on pulseaudio being disabled by default. Uninstalling pulseaudio isn't
possible in every case, since at least xfce, and perhaps other
desktops seem to have a hard dependency on it. If speech-dispatcher
was forked with the changes I proposed, and pulseaudio was enabled as
the debian-pulseaudio-config-override package does, users would have
no speech in the GUI or the text console, making the problem worse.

The possible solutions I can think of are:

1. Don't install debian-pulseaudio-config-override by default, and
   fork speech-dispatcher with the changes I proposed.

2. Remove the hard dependency on pulseaudio from xfce and other
   desktops, and fork speech-dispatcher with the changes I proposed.

3. Don't fork speech-dispatcher, close this bug, and leave users who
   do a new install with speech at the text console, but not in the
   GUI by default until they manually resolve the situation, as is the
   case in debian right now.

Greg

---

From: "Devuan bug Tracking System" <[email-masked]>
Date: Tue, 27 Apr 2021 01:33:18 +0000

Thank you for the additional information you have supplied regarding
this bug report.

This is an automatically generated reply to let you know your message
has been received.

Your message has not been forwarded to the package maintainers or
other interested parties; you should ensure that the developers are
aware of the problem you have entered into the system - preferably
quoting the bug reference number, #496.

If you wish to submit further information on this problem, please
send it to [email-masked].

Please do not send mail to [email-masked] unless you wish
to report a problem with the Bug-tracking system.

-- 
496: https://bugs.devuan.org/cgi/bugreport.cgi?bug=496
Devuan Bug Tracking System
Contact [email-masked] with problems

---

From: "Devuan bug Tracking System" <[email-masked]>
Date: Tue, 27 Apr 2021 01:33:22 +0000

---

From: "Devuan bug Tracking System" <[email-masked]>
Date: Tue, 27 Apr 2021 01:33:26 +0000

---

From: Gregory Nowak <[email-masked]>
Date: Mon, 26 Apr 2021 19:12:27 -0700

-- 
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail [email-masked]
My apologies. Solution 3 should simply say:

3. Don't fork speech-dispatcher, close this bug, and leave users who
   do a new install with speech at the text console, but not in the
   GUI by default until they manually resolve the situation. Last time
   I checked, the situation in debian was opposite, fresh installs
   have speech at the GUI, but not at the text console. Also I
   apologize for the amount of mails my previous reply seems to have
   generated. I've edited the addresses this reply will go to.

Greg

---

From: Arne Wichmann <[email-masked]>
Date: Wed, 28 Apr 2021 10:26:58 +0200

Hi...

>    generated. I've edited the addresses this reply will go to.

This feels like a good solution to me. As far as I can see text-based
interfaces are easier for vision-impaired people. But I am no expert on
this.

I would further propose to open a bug at the installer to address the point
you just made.

cu

AW

---

From: Gregory Nowak <[email-masked]>
Date: Wed, 28 Apr 2021 17:55:52 -0700

Hello.

On Wed, Apr 28, 2021 at 10:26:58AM +0200, Arne Wichmann wrote:
> >    have speech at the GUI, but not at the text console.
> >

No, not necessarily. There are plenty of people who prefer to arrow and
tab through an interface, rather than typing commands.

Also, I'm starting to get confused myself, so let me clarify the
situation. If pulseaudio is running as is the case in debian, or if
debian-pulseaudio-config-override is installed in devuan, users will
have speech at the GUI, but not at the text console. If
debian-pulseaudio-config-override isn't installed, and pulseaudio
isn't running in devuan, users will have speech at the text console,
but not at the GUI.

> I would further propose to open a bug at the installer to address the point

I'm not sure I follow. Yes, we can modify the installer so that if an
accessible install is chosen by typing s at the boot prompt, the
debian-pulseaudio-config-override package will not be installed when
installing a desktop environment. However, this would still require
forking speech-dispatcher to give users speech at the text and GUI
consoles out of the box after a fresh install.

Greg

---

From: Arne Wichmann <[email-masked]>
Date: Mon, 3 May 2021 12:40:52 +0200

> tab through an interface, rather than typing commands.

Category error: "text based interface" is anything you can do with a VT220
(or so), so arrow and tab apply. My point is about text vs graphics, not
commandline versus what Mike Gancarz[1] called CUI.

> consoles out of the box after a fresh install.

So it seems you are back at forking, aren't you?

cu

AW

[1] https://en.wikipedia.org/wiki/Unix_philosophy#Mike_Gancarz:_The_UNIX_Philosophy

---

From: Gregory Nowak <[email-masked]>
Date: Mon, 3 May 2021 16:05:53 -0700

> commandline versus what Mike Gancarz[1] called CUI.

I'll put this more plainly with no room for ambiguity. There are
plenty of visually impaired and blind people who prefer a graphical
user interface to typing commands at a command prompt.

> So it seems you are back at forking, aren't you?

I always was, since a couple of devuan developers suggested this is
the way forward. I've been thinking this through over the weekend. If
the answer to changing pulseaudio configuration is an override package
instead of forking pulseaudio from debian, then it makes sense to
override speech-dispatcher configuration instead of forking it from
debian. So, something like a debian-speech-dispatcher-config-override
package which would make the necessary changes to
/etc/speech-dispatcher/speechd.conf, and which would remove
debian-pulseaudio-config-override if it is already installed. If this
seems acceptable, I would have to read up on how to package for
devuan, and look at how we can integrate this into a freshly installed
system if an accessible install is being done. A comaintainer on this
would still be welcome.

Also, why the urgency to downgrade this bug to wish list, or close it?
Is the grave severity holding up the release of Chimerra? If yes, then
I'm willing to downgrade this bug to wish list status, so a record of
this issue is still in the bug tracker, until it is resolved in some
way. If grave severity isn't preventing the release of Chimerra, then
I see no reason why this bug can't simply be left as is until it is
resolved in some way.

Greg

---

From: Mark Hindley <[email-masked]>
Date: Tue, 4 May 2021 02:18:13 +0100

I am away with very limited internet access. Sorry to be late 
commenting.

> system if an accessible install is being done. A comaintainer on this

Please note that the pulseaudio override is *not* present or required in 
chimaera: the issue it addresses in buster/beowulf has been resolved in 
bullseye.

When I am back, I will be happy to add a speechd.conf override package. 
That is precisely the idea behind the config override packages: to solve 
issues inherited from Debian without the overhead of maintaining forks of
entire packages.

Mark

---

From: Gregory Nowak <[email-masked]>
Date: Mon, 3 May 2021 21:06:07 -0700

> chimaera: the issue it addresses in buster/beowulf has been resolved in 

OK, so it sounds like in chimaera pulse autospawns by default on
systems without systemd, such as devuan systems. If this is correct,
then is turning the autospawn feature off still possible? If not, then
what I'm proposing won't work.

> issues inherited from Debian without the overhead of maintaining forks of

Great! I'm looking forward to working on that with you, and testing
it. I'm proposing to leave the status of bug 496 as is for now, until
we can collaborate on a workable solution.

Greg

---

From: Mark Hindley <[email-masked]>
Date: Sat, 3 Jul 2021 14:23:53 +0100

Greg,

On Fri, Jun 18, 2021 at 10:13:41AM +0100, Mark Hindley wrote:
> Just a quick note to say I haven't forgotten about this,  and am still working
> on the best way of hooking it into the installer.

I have just built the devuan-speech-dispatcher-config-override package for
unstable and also a new version (3.68+devuan1) of the tasksel packages which
should pull it in alongside orca.

They should migrate to chimaera in 5 days and then be available in the next
testing iso build after that.

Hopefully, that will address the issues that you have worked so tirelessly to
understand. Many thanks for doing so.

Best wishes

Mark

---

From: "Devuan bug Tracking System" <[email-masked]>
Date: Sat, 03 Jul 2021 13:33:11 +0000

This is an automatic notification regarding your bug report
which was filed against the devuan-project package:

#496: devuan-project: request to fork speech-dispatcher package from debian

It has been closed by [email-masked].

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact [email-masked] by
replying to this email.

Subject: #496: fixed in src:debian-config-override version 2.0
From: [email-masked]
To: [email-masked]
Date: Sat, 03 Jul 2021 13:11:36 +0000

Version: 2.0

Source package debian-config-override (2.0) added to Devuan suite unstable.

This closes bug report 496.

Thanks

DAK managing the Devuan archive

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 <[email-masked]>
Changed-By: Mark Hindley <[email-masked]>
Closes: 496
Changes:
 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).
Checksums-Sha1:
 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
Checksums-Sha256:
 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
Files:
 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

Subject: devuan-project: request to fork speech-dispatcher package from debian
From: Gregory Nowak <[email-masked]>
To: Devuan Bug Tracking System <[email-masked]>
Date: Sat, 25 Jul 2020 21:41:08 -0700

Package: devuan-project
Severity: grave
Tags: a11y

-- background:

-- proposed solution:

-- System Information:
Distributor ID:	Debian

---

From: "Devuan bug Tracking System" <[email-masked]>
Date: Sat, 03 Jul 2021 13:48:10 +0000

Subject: #496: fixed in src:tasksel version 3.68+devuan1
From: [email-masked]
To: [email-masked]
Date: Sat, 03 Jul 2021 13:30:25 +0000

Version: 3.68+devuan1

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

Thanks

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 <[email-masked]>
Changed-By: Mark Hindley <[email-masked]>
Closes: 496
Changes:
 tasksel (3.68+devuan1) unstable; urgency=medium
 .
   * Merge Debian 3.68.
   * Recommend devuan-speech-dispatcher-config-override wherever orca
     is recommended (Closes: #496).
Checksums-Sha1:
 8db6c81d9ea8d6095e2c51308161b3fb91242211 17182 tasksel_3.68+devuan1.dsc
 f4ad620e66af2acbcb8e78c8d3f40a79b614642a 299396 tasksel_3.68+devuan1.tar.xz
 5291f790600a23594e14e4d2f095a07d5a7fe892 9718 tasksel_3.68+devuan1_source.buildinfo
Checksums-Sha256:
 8c371071eac9c4e2bbc04d4291f18cb11a77efd4789520e4588544447af3fb29 17182 tasksel_3.68+devuan1.dsc
 6baf5a330621a2384d843e2701ad9fa705008fd7d7f2e0800f16a1760962f1b0 299396 tasksel_3.68+devuan1.tar.xz
 8f2c05c77e74bd8ecba0b1a5ecb1bbc426c45d8dd88b3eb5c6af5b6d78d249c5 9718 tasksel_3.68+devuan1_source.buildinfo
Files:
 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

Package: devuan-project
Severity: grave
Tags: a11y

-- background:

-- proposed solution:

-- System Information:
Distributor ID:	Debian

---

From: Gregory Nowak <[email-masked]>
Date: Sat, 3 Jul 2021 17:29:27 -0700

Thanks for the update Mark. I'll be on the lookout for a new netinst
iso in a week or so, and will test when it is available, and report
back. Thank you very much for doing the heavy lifting to get to this
point.

Greg

---

From: Mark Hindley <[email-masked]>
Date: Mon, 12 Jul 2021 10:14:40 +0100

Greg,

> back. Thank you very much for doing the heavy lifting to get to this

We have just built new installer and mini isos, hopefully with your fix for
#496. Perhaps you could test?

Installer isos are at
http://files.devuan.org/devuan_chimaera/installer-iso/. Dated 20210712. The mini
isos are at
http://deb.devuan.org/devuan/dists/unstable/main/installer-${ARCH}/current/images/netboot/mini.iso

Best wishes

Mark

---

From: Ralph Ronnquist <[email-masked]>
Date: Mon, 12 Jul 2021 20:02:16 +1000

On Mon, 12 Jul 2021 10:14:40 +0100
Mark Hindley <[email-masked]> wrote:

> We have just built new installer and mini isos, hopefully with your
> fix for #496. Perhaps you could test?
> 
> Installer isos are at
> http://files.devuan.org/devuan_chimaera/installer-iso/. Dated
> 20210712. The mini isos are at

Note that installer isos are also mirrored, which may provide faster
downloads, eg
https://sledjhamr.org/devuan-cd/devuan_chimaera/installer-iso/

Ralph.

> Best wishes
> 
> Mark
> _______________________________________________
> devuan-dev internal mailing list
> [email-masked]
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/devuan-dev