Devuan bug report logs - #496
devuan-project: request to fork speech-dispatcher package from debian

version graph

Package: devuan-project; Maintainer for devuan-project is Devuan Developers <devuan-dev@lists.dyne.org>;

Reported by: Gregory Nowak <greg@gregn.net>

Date: Sun, 26 Jul 2020 05:03:01 UTC

Severity: grave

Fixed in versions 2.0, 3.68+devuan1

Done: dak@devuan.org

Full log


Message #5 received at submit@bugs.devuan.org (full text, mbox, reply):

Received: (at submit) by bugs.devuan.org; 26 Jul 2020 04:50:22 +0000
Return-Path: <greg@gregn.net>
Delivered-To: devuanbugs@dyne.org
Received: from tupac3.dyne.org [195.169.149.119]
	by doc.devuan.org with IMAP (fetchmail-6.4.0.beta4)
	for <debbugs@localhost> (single-drop); Sun, 26 Jul 2020 04:50:22 +0000 (UTC)
Received: from vserver.gregn.net (vserver.gregn.net [174.136.110.154])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by vm6.ganeti.dyne.org (Postfix) with ESMTPS id A7E68F60481
	for <submit@bugs.devuan.org>; Sun, 26 Jul 2020 06:41:36 +0200 (CEST)
Authentication-Results: vm6.ganeti.dyne.org;
	dkim=pass (2048-bit key; unprotected) header.d=gregn.net header.i=@gregn.net header.b="wSKdE4kr";
	dkim-atps=neutral
Received: from pegasus.gregn.net (unknown [IPv6:2607:fb90:4a3c:fa1d:4110:bf3d:451d:2162])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by vserver.gregn.net (Postfix) with ESMTPSA id F203E1EAA;
	Sat, 25 Jul 2020 21:41:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=gregn.net; s=default;
	t=1595738495; bh=Jl/QGzyVVg0gH5O1YwNq5dGLqPYQfeoj5tcojFBRsoU=;
	h=From:To:Subject:Date:From;
	b=wSKdE4krSut3Ok1LXiTyFxruSkt/udWgdJ1K0x03iT+4mN4P59zWmc45GjlHY3v9g
	 ytZXlUBVibfznwh8qpc1ZqZ3gtBAlJAjyc3C/MQnEpKPOd/70wvHRsEm1xdWDXw6kT
	 9aAuqR4ekNMmP3XDPJY4l4RSNjpeBv3IICeZMNawBuXjzX/V8XGtGvROUHurPlLkef
	 O4/HBtmkpnPaBwbLWu4WLbQliO5E+CUG8b4BYLSuawxBlHEpkf31o6MiVBoyKG46bx
	 xNTBYKQtT9ldkz+XOLzDQfxjUyUJmCvEG5HDILx5NcnJLge3xi0jgFuaFgnmeKN7Vo
	 nI818bRcvHbIA==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: Gregory Nowak <greg@gregn.net>
To: Devuan Bug Tracking System <submit@bugs.devuan.org>
Subject: devuan-project: request to fork speech-dispatcher package from debian
Message-ID: <159573846886.13963.13548811663893514592.reportbug@pegasus.gregn.net>
X-Mailer: reportbug 7.5.3+devuan3
Date: Sat, 25 Jul 2020 21:41:08 -0700
X-Virus-Scanned: clamav-milter 0.102.3 at vserver
X-Virus-Status: Clean
X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
	DKIM_VALID_AU,DKIM_VALID_EF,SPF_PASS autolearn=disabled version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on tupac3.dyne.org
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

Send a report that this bug log contains spam.


Devuan BTS -- Powered by Debian bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.

Devuan Bugs Owner <owner@bugs.devuan.org>.
Last modified: Sat Nov 23 22:38:48 2024;