#859926 breaks with pulse-audio as output when spawned by speechd-up from init system

Package:
speech-dispatcher
Source:
speech-dispatcher
Description:
Common interface to speech synthesizers
Submitter:
Mika Hanhijärvi
Date:
2025-05-02 21:06:01 UTC
Severity:
grave
Tags:
#859926#5
Date:
2017-04-09 10:42:36 UTC
From:
To:
When I try to install speechd-up package I get this error:

E: speechd-up: subprocess installed post-installation script returned error
exit status 1

Synaptic marks the package as installed. If I try to reinstall the package I
get this error:

E: Internal Erro                        r, No file name for speechd-up:amd64

#859926#10
Date:
2017-04-09 19:10:07 UTC
From:
To:
Hello,

Mika Hanhijärvi, on dim. 09 avril 2017 13:42:36 +0300, wrote:

Do you happen to have the espeakup package installed too?  They can't
work at the same time.

Otherwise, could somebody from debian-accessibility check whether
speechd-up works with the current speech-dispatcher?

Samuel

#859926#17
Date:
2017-04-09 22:23:25 UTC
From:
To:
Hello



No. I do not have espeakup installed.

I removed espeakup because I wanted to try if speechd-up would solve
atleast part of the one problem I have (maybe offtopic here). For some
reason if espeakup speaks something when computer is booting then screen
reader does not speak on Gdm login screen and on desktop. But espeak
speaks on console.  So I have to reboot sometimes severaltimes. If
espeakup does not say anything when computer boots, then screen reader
speaks on gdm, but not on console. If I then login to desktop then  Orca
speaks on desktop, but  if I go back to gdm screen whitout logging out
from desktop first then screen reader does not speak on gdm screen.
espeakup also does not speak on console. If I logout from desktop then
screen reader starts to speak on gdm screen again, but espeak still does
not speak on console. So I can not switch between desktop, gdm login
screen and console, I am blind so I need to use screen reader.

I have no idea to which package I would need to file the bug, because I
do not know if the problem is in espeakup, pulseaudio,
speech-dispatcher, Orca or espeak / espeak-ng   ...

So I wanted to try if speechd-up would solve atleast part of the problem.

- Mika

#859926#22
Date:
2017-04-16 09:32:25 UTC
From:
To:
Hi,

I did some tests and installing speechd-up failed the same way.

install log from aptitude:

Selecting previously unselected package libdotconf0:amd64.
(Reading database ... 295864 files and directories currently installed.)
Preparing to unpack .../libdotconf0_1.3-0.2_amd64.deb ...
Unpacking libdotconf0:amd64 (1.3-0.2) ...
Selecting previously unselected package libspeechd2:amd64.
Preparing to unpack .../libspeechd2_0.8.6-4_amd64.deb ...
Unpacking libspeechd2:amd64 (0.8.6-4) ...
Selecting previously unselected package speech-dispatcher-audio-plugins:amd64.
Preparing to unpack .../speech-dispatcher-audio-plugins_0.8.6-4_amd64.deb ...
Unpacking speech-dispatcher-audio-plugins:amd64 (0.8.6-4) ...
Selecting previously unselected package speech-dispatcher.
Preparing to unpack .../speech-dispatcher_0.8.6-4_amd64.deb ...
Unpacking speech-dispatcher (0.8.6-4) ...
Selecting previously unselected package speechd-up.
Preparing to unpack .../speechd-up_0.5~20110719-6+b1_amd64.deb ...
Unpacking speechd-up (0.5~20110719-6+b1) ...
Processing triggers for install-info (6.3.0.dfsg.1-1+b2) ...
Setting up libspeechd2:amd64 (0.8.6-4) ...
Processing triggers for libc-bin (2.24-9) ...
Setting up libdotconf0:amd64 (1.3-0.2) ...
Processing triggers for systemd (232-22) ...
Setting up speech-dispatcher-audio-plugins:amd64 (0.8.6-4) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up speech-dispatcher (0.8.6-4) ...
Setting up speechd-up (0.5~20110719-6+b1) ...
Job for speechd-up.service failed because the control process exited with error code.
See "systemctl status speechd-up.service" and "journalctl -xe" for details.
invoke-rc.d: initscript speechd-up, action "start" failed.
● speechd-up.service - LSB: Interface between speakup and speech-dispatcher
   Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2017-04-16 10:45:25 CEST; 12ms ago
     Docs: man:systemd-sysv-generator(8)
  Process: 31268 ExecStart=/etc/init.d/speechd-up start (code=exited, status=1/FAILURE)

Apr 16 10:45:23 deb9 speechd-up[31268]: Starting Interface between speakup and speech-dispatcher : speechd-up[Sun Apr 16 10:45:23 2017] speechd: Configuration has been read from "/etc/speechd-up.conf"
Apr 16 10:45:23 deb9 speechd-up[31268]: Starting speechd-up...
Apr 16 10:45:23 deb9 speechd-up[31268]: To work, speechd-up needs speakup and speakup_soft modules.
Apr 16 10:45:23 deb9 speechd-up[31268]: They are loaded automatically. If you don't want, type
Apr 16 10:45:23 deb9 speechd-up[31268]: rmmod speakup speakup_soft
Apr 16 10:45:25 deb9 speechd-up[31268]:  failed!
Apr 16 10:45:25 deb9 systemd[1]: speechd-up.service: Control process exited, code=exited status=1
Apr 16 10:45:25 deb9 systemd[1]: Failed to start LSB: Interface between speakup and speech-dispatcher.
Apr 16 10:45:25 deb9 systemd[1]: speechd-up.service: Unit entered failed state.
Apr 16 10:45:25 deb9 systemd[1]: speechd-up.service: Failed with result 'exit-code'.
dpkg: error processing package speechd-up (--configure):
 subprocess installed post-installation script returned error exit status 1
Processing triggers for systemd (232-22) ...
Errors were encountered while processing:
 speechd-up
E: Sub-process /usr/bin/dpkg returned an error code (1)
Setting up speechd-up (0.5~20110719-6+b1) ...
Job for speechd-up.service failed because the control process exited with error code.
See "systemctl status speechd-up.service" and "journalctl -xe" for details.
invoke-rc.d: initscript speechd-up, action "start" failed.
● speechd-up.service - LSB: Interface between speakup and speech-dispatcher
   Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2017-04-16 10:45:29 CEST; 13ms ago
     Docs: man:systemd-sysv-generator(8)
  Process: 31560 ExecStart=/etc/init.d/speechd-up start (code=exited, status=1/FAILURE)

Apr 16 10:45:27 deb9 speechd-up[31560]: Starting Interface between speakup and speech-dispatcher : speechd-up[Sun Apr 16 10:45:27 2017] speechd: Configuration has been read from "/etc/speechd-up.conf"
Apr 16 10:45:27 deb9 speechd-up[31560]: Starting speechd-up...
Apr 16 10:45:27 deb9 speechd-up[31560]: To work, speechd-up needs speakup and speakup_soft modules.
Apr 16 10:45:27 deb9 speechd-up[31560]: They are loaded automatically. If you don't want, type
Apr 16 10:45:27 deb9 speechd-up[31560]: rmmod speakup speakup_soft
Apr 16 10:45:29 deb9 speechd-up[31560]:  failed!
Apr 16 10:45:29 deb9 systemd[1]: speechd-up.service: Control process exited, code=exited status=1
Apr 16 10:45:29 deb9 systemd[1]: Failed to start LSB: Interface between speakup and speech-dispatcher.
Apr 16 10:45:29 deb9 systemd[1]: speechd-up.service: Unit entered failed state.
Apr 16 10:45:29 deb9 systemd[1]: speechd-up.service: Failed with result 'exit-code'.
dpkg: error processing package speechd-up (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 speechd-up

Manually starting speechd-up.service fails the same way.
/var/log/speechd-up.log, with LogLevel 5:

[Sun Apr 16 11:13:42 2017] speechd: Speechd-speakup starts!
[Sun Apr 16 11:13:42 2017] speechd: ERROR! Can't connect to Speech Dispatcher!

speech-dispatcher.service seems to be okay.

$ systemctl status speech-dispatcher.service
● speech-dispatcher.service - LSB: Speech Dispatcher
   Loaded: loaded (/etc/init.d/speech-dispatcher; generated; vendor preset: enabled)
   Active: active (exited) since Sun 2017-04-16 10:45:22 CEST; 34min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/speech-dispatcher.service

If someone has any ideas for debugging this, I'd be happy to help out.

#859926#27
Date:
2017-04-16 19:51:59 UTC
From:
To:
Hi all,

Same for me.

I added some debugging info to /etc/init.d/speechd-up, and it turns out
that the error is generated because the /proc/$pid in running_pid()
doesn't exist. It should exist as the call to start_daemon() in
start_server() was successful. When I run the command that I think is
executed there manually, the daemon starts properly and the dir in /proc
exists:

paul@testavoira ~ $ sudo /sbin/start-stop-daemon --start --nicelevel 0
--quiet --oknodo --chdir "$PWD" --exec /usr/bin/speechd-up --oknodo
--pidfile /var/run/speechd-up.pid -- -l1
[Sun Apr 16 21:49:40 2017] speechd: Configuration has been read from
"/etc/speechd-up.conf"
paul@testavoira ~ $ ll -d /proc/$(cat /var/run/speechd-up.pid)
dr-xr-xr-x 9 root root 0 apr 16 21:49 /proc/6276

I haven't figured out the difference yet.

Paul

#859926#32
Date:
2017-04-16 20:17:13 UTC
From:
To:
Hi

Probably somebody who knows systemd should have a look. I have the
feeling it is interfering with the script and not doing what I read.

I have no clue where to find the input (the service file?) that systemd
is actually using yet. This is all new to me.

Paul

#859926#37
Date:
2017-04-17 09:19:44 UTC
From:
To:
Hi,

We're going to have a look, but here I cannot reproduce. On Stretch, I
install the package without problems. So I am surprised. I may have
systemd-sysv, indeed, but not much more.

Regards,


Le 16/04/2017 à 22:17, Paul Gevers a écrit :

#859926#42
Date:
2017-04-17 10:12:03 UTC
From:
To:
Hi,

that's where I stopped yesterday. Manual start works, using systemd or
the init.d script (which systemd calls) does not.
I added set -x to /etc/init.d/speechd-up and checked what I could, but
couldn't find what went wrong. start-stop-daemon succeeded, but the
process still died and the log contained that ERROR line.
Running the exact same start-stop-daemon command works for me as well.

I just tried again and the funny thing is, *restarting* speechd-up with
systemd works totally fine as long as I start speechd-up manually with
start-stop-daemon.

$ sudo /sbin/start-stop-daemon --start --nicelevel 0 --quiet --oknodo --chdir / --exec /usr/bin/speechd-up --oknodo --pidfile /var/run/speechd-up.pid -- -l1
$ sudo systemctl restart speechd-up.service
$ systemctl status speechd-up.service
● speechd-up.service - LSB: Interface between speakup and speech-dispatcher
   Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled)
   Active: active (running) since Mon 2017-04-17 11:48:36 CEST; 1s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 10728 ExecStop=/etc/init.d/speechd-up stop (code=exited, status=0/SUCCESS)
  Process: 10760 ExecStart=/etc/init.d/speechd-up start (code=exited, status=0/SUCCESS)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/speechd-up.service
           └─10778 /usr/bin/speechd-up -l1

I can restart as often as I want, it works each time.
The shell trace looks exactly the same for both systemd restart and
start (except for times and PIDs of course) up to the point where the
init script sleeps 2 seconds before checking whether speechd-up is
still running. In the restart case there are these two lines in the
journal, right after "sleep 2" and before calling "running":
kernel:  updated 224 of 224 character descriptions
kernel:  updated 96 of 180 character class entries
While running systemctl start, these two lines are missing.

#859926#47
Date:
2017-04-17 12:07:07 UTC
From:
To:
Hi,

That's weird. I just tried the installation on a vbox snapshot of
stretch, which failed as well. That image was created with the RC2
installer and updated just now. Pretty standard setup with:
task-desktop
task-laptop
task-xfce-desktop
virtualbox guest additions installed via (virtual) CD

Right now, I have 1348 packages installed. I'm attaching the output of
dpkg --list in case this could help narrowing down any differences.

#859926#52
Date:
2017-04-17 14:01:36 UTC
From:
To:
Hi Jean-Philippe,

Seems like your system is the only system where it works then. Also in
Ubuntu, this issue was twice reported¹, while looking at the popcon, it
isn't heavily installed. That makes 5 people where it fails to install.

Paul

¹ https://bugs.launchpad.net/ubuntu/+source/speechd-up/+bug/1504054

#859926#57
Date:
2017-04-18 04:15:15 UTC
From:
To:
topic of theirs so I'm "playing along" to finally learn a little more
about it.

I was able to install speechd-up successfully, BUT I have no idea if
it's functional because I don't know how to use it.

I'm on a super basic debootstrap'ed Stretch with Xfce4 as my primary
desktop environment. I've got Fluxbox and something else small that
I've forgotten because I haven't switched around between them in a
while.

All of this is being provided in case it somehow helps explain why
it's working for some of us and not for others.

About the only programs I have are: Libreoffice, GIMP, Inkscape,
Openshot, newly installed Piviti, Xine, and PySolFC (card games).

For sound, aumix is my hero because I went almost a year without sound
until I discovered that package. Others installed include GNOME ALSA
mixer, Qas mixer, mpv video player. Seriously, I was desperate and
downloading things that even remotely sounded like they might help
trigger sound back on.

Again, am mentioning all those because maybe they did something that
triggered at least a successful install. Whether it actually works as
intended or not, I have no clue aka literally clueless.

As for systemd, I haven't touched a thing there. My system is whatever
comes with a debootstrap install.

I'm on a now older ASUS 10" where "uname -a" gets: Linux northpole
4.9.0-1-amd64 #1 SMP Debian 4.9.2-2 (2017-01-12) x86_64 GNU/Linux

That's all I can think to write right now. :)


#ThankYou for the work you all do!

Cindy :)

#859926#62
Date:
2017-04-18 20:27:16 UTC
From:
To:
Hi all,

I don't know what to make of it, but when I first start the speechd-up
daemon by hand, then the init script succeeds (because it finds the
daemon already running). But now it comes, I then can stop and start the
daemon successfully, but only when I am quick enough. This is
reproducible, sleep 4 works always, sleep 5 always fails (so far).

paul@testavoira ~/ $ sudo /sbin/start-stop-daemon --start --nicelevel 0
--quiet --oknodo --chdir "/" --exec "/usr/bin/speechd-up" --oknodo
--pidfile "/var/run/speechd-up.pid" -- -l1
[Tue Apr 18 21:46:42 2017] speechd: Configuration has been read from
"/etc/speechd-up.conf"

paul@testavoira ~ $ sudo service speechd-up start

paul@testavoira ~ $ sudo service speechd-up stop ; sleep 4 ; sudo
service speechd-up start

paul@testavoira ~ $ sudo service speechd-up stop ; sleep 5 ; sudo
service speechd-up start
Job for speechd-up.service failed because the control process exited
with error code.
See "systemctl status speechd-up.service" and "journalctl -xe" for details.

If I look at the processes that are running after a sleep 4 look, I
notice that speech-dispatcher keeps the same PID, so apparently with
sleep 4 it isn't killed and still alive when speechd-up wants to connect
to it. With sleep 4, the speech-dispatcher is killed and speechd-up
fails to connect (as seen in the speechd-up.log).

The big question is why systemd can't get speech-dispatcher up before
speechd-up wants to talk to it. One thing I noticed is that
/etc/default/speech-dispatcher has RUN=no, so starting speech-dispatcher
with the init script succeeds, but doesn't do anything. I think that
that may cause the confusion of systemd as the speechd-up init script
depends on the speech-dispatcher init script.

Setting RUN=yes, allows systemd to start speech-dispatcher, but
apparently that isn't enough, because it still fails to start
speechd-up. Speech-dispatcher isn't running anymore after starting
speechd-up while it was running before calling the init script, so it
looks like systemd tries to restart speech-dispatcher and fails doing
that properly.

Paul

#859926#67
Date:
2017-04-19 18:49:05 UTC
From:
To:
Hi,
manually starting speechd-up. The timing influence is interesting.
start-stop-daemon works. That doesn't take care of any dependencies.

Anyway, I fired up my vm again and switched init systems.
Using systemd-sysv, the installation and daemon start fail.
Using sysvinit-core, the installation completes without any error, but
restarting or starting speechd-up fail:

Selecting previously unselected package speechd-up.
(Reading database ... 113373 files and directories currently installed.)
Preparing to unpack .../speechd-up_0.5~20110719-6+b1_amd64.deb ...
Unpacking speechd-up (0.5~20110719-6+b1) ...
Setting up speechd-up (0.5~20110719-6+b1) ...
[....] Starting Interface between speakup and speech-dispatcher : speechd-up[Wed Apr 19 19:59:28 2017] speechd: Configuration has been read from "/etc/speechd-up.conf"
Starting speechd-up...
To work, speechd-up needs speakup and speakup_soft modules.
They are loaded automatically. If you don't want, type
rmmod speakup speakup_soft
. ok
Processing triggers for systemd (232-22) ...

$ sudo service speechd-up restart
[....] Restarting Interface between speakup and speech-dispatcher: speechd-upStopping speechd-up and unloading speakup modules...
[Wed Apr 19 20:00:07 2017] speechd: Configuration has been read from "/etc/speechd-up.conf"
Starting speechd-up...
To work, speechd-up needs speakup and speakup_soft modules.
They are loaded automatically. If you don't want, type
rmmod speakup speakup_soft
 failed!

$ sudo service speechd-up status
[FAIL] Checking status of Interface between speakup and speech-dispatcher: speechd-up apparently not running failed!

$ sudo service speechd-up start
[....] Starting Interface between speakup and speech-dispatcher : speechd-up[Wed Apr 19 20:00:52 2017] speechd: Configuration has been read from "/etc/speechd-up.conf"
Starting speechd-up...
To work, speechd-up needs speakup and speakup_soft modules.
They are loaded automatically. If you don't want, type
rmmod speakup speakup_soft
 failed!

Rebooting the machine doesn't change anything, it still fails.

So the installation works, but the package is still unusable.

I rebooted each time after changing the init system before trying to
install speechd-up. Installing everything below except sysvinit-core
doesn't help when running systemd.
Diffing the package lists, for the record:
38a39
215a217,218
335a339
663a668,669
1196a1203
1204c1211,1213
< ii  systemd-sysv                          232-22                            amd64        system and service manager - SysV links
---

Out of curiosity, I then removed systemd completely and kept only
libsystemd0. Speechd-up still fails the same way, so I don't think
systemd can be blamed here.
Manually starting speechd-up with start-stop-daemon still works, but
service restart and stop/restart still fail.
I also noticed that there's a sleep 10 when restarting with service
between the stop and start. Reducing DIETIME to 2 lets me restart
speechd-up via service after launching it with start-stop-daemon,
matching Paul's observations. Doesn't help with start, though.

Now I'm really wondering how people manage to run speechd-up
successfully.

#859926#72
Date:
2017-04-19 20:18:02 UTC
From:
To:

Some things have been snipped above while I hope I left enough of
Paul's latest feedback to give it due Respect. :)

Simultaneous in my inbox is a different bug about Synaptic possibly
keeping Orca from operating while Synaptic is open. It's this Bug
#859262.

Synaptic "freezes Orca screen reader"
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859262

Is something like that maybe a possibility?

Seeing the word "Synaptic" also originally made me wonder if our
*_CHOICE_* of package managers is affecting things somehow.

In my case, I have neither Synaptic nor Orca open because I don't use
those. I only use "apt-get" via terminal interface for my package
management.

One thing is that I still don't know how to actually test speechd-up's
functionality. For now, all I know is that it appeared to have
successfully, initially installed with no complaints (via "apt-get
install speechd-up").

Another factor in my install attempt is that mine was a brand new
install. There was no residual "clutter" of past installs that could
potentially also be causing unknown complications.

Cindy :)

#859926#77
Date:
2017-04-19 20:28:01 UTC
From:
To:
Hi,

1st, I have always had the idea the the spd service had bugs and was not
really usable: spent so resource, didn't run really, etc. Hence the fact
it's always been in "no" in defaults/speech-dispatcher.

2nd, given this feedback, maybe we may try requesting to the initscript
to wait for some seconds, with a kind of pause parameter? Would it fix
the bug?

Regards,


Le 19/04/2017 à 22:18, Cindy-Sue Causey a écrit :

#859926#82
Date:
2017-04-21 12:18:14 UTC
From:
To:
Hi Jean-Philippe,

So, does that mean that speechd-up should also have such a mechanism
that defaults to no?

What I am now seeing is that speech-dispatcher doesn't stay running when
started with it's init script. If I start it with "sudo service
speech-dispatcher start" than it is in the "active (running)" state for
about 20 seconds and then goes to an "active (exited)" state. I expect
that speechd-up is failing to start because it actually checks if it can
USE speech-dispatcher.

Two things that I then noticed, the man page of speech-dispatcher
mentions that it needs to be started with the "-d" option to run as
daemon (which isn't present in its init file). With debugging
information added I then noticed the following in
/tmp/speechd-debug/speech-dispatcher.log:
[Fri Apr 21 14:10:00 2017 : 638612] speechd: Currently no clients
connected, enabling shutdown timer.
[Fri Apr 21 14:10:05 2017 : 713820] speechd: Terminating...

So it seems speech-dispatcher doesn't want to stay running as daemon. I
guess this is the real issue at stake. (Should we reassign?)

Just to be sure, you mean pausing in the speech-dispatcher init script,
right? Speechd-up already has that. Because of the above, this doesn't
help. I even tried it (actually before I found out the above) and it
didn't work.

Paul

#859926#87
Date:
2017-04-21 14:21:20 UTC
From:
To:
Hi,
"speech-dispatcher is usually started automatically by client libraries
(i.e. autospawn), so you only need to run it manually if
testing/debugging, or when in other explicit need for a special setup."

So this behaviour doesn't seem broken to me, that's rather exactly as
expected. Also, starting speechd-up with start-stop-daemon doesn't show
any failures, despite missing special handling of speech-dispatcher.
There is an open bug about autospawn with multiple users in #616313,
but I don't see an immediate connection to our issues; we're always
root and not touching speechd-up directly.

I enabled this line in /etc/speech-dispatcher/speechd.conf:
CustomLogFile "protocol" "/var/log/speech-dispatcher/speech-dispatcher-protocol.log"

/var/log/speech-dispatcher/speech-dispatcher-protocol.log stays empty
when using service (my VM is still using sysvinit-core now), but when I
use the usual start-stop-daemon command, I get this log:

[Thu Apr 20 15:31:30 2017 : 10113] speechd:     22:DATA:|SET SELF CLIENT_NAME "test:speakup:softsynth"
| (47)
[Thu Apr 20 15:31:30 2017 : 10730] speechd:     22:REPLY:|208 OK CLIENT NAME SET
|
[Thu Apr 20 15:31:30 2017 : 11457] speechd:     22:DATA:|SET SELF NOTIFICATION index_marks on
| (38)
[Thu Apr 20 15:31:30 2017 : 11490] speechd:     22:REPLY:|220 OK NOTIFICATION SET
|
[Thu Apr 20 15:31:30 2017 : 11860] speechd:     22:DATA:|SET SELF NOTIFICATION all on
| (30)
[Thu Apr 20 15:31:30 2017 : 11890] speechd:     22:REPLY:|220 OK NOTIFICATION SET
|
[Thu Apr 20 15:31:30 2017 : 12102] speechd:     22:DATA:|SET SELF CAP_LET_RECOGN none
| (30)
[Thu Apr 20 15:31:30 2017 : 12131] speechd:     22:REPLY:|206 OK CAP LET RECOGNITION SET
|
[Thu Apr 20 15:31:30 2017 : 12356] speechd:     22:DATA:|SET SELF SSML_MODE on
| (23)
[Thu Apr 20 15:31:30 2017 : 12380] speechd:     22:REPLY:|219 OK SSML MODE SET
|

To me, this confirms that autospawn is working, but not when speechd-up
is started by any init system despite having the exact same command
line. I didn't bother switching to systemd again for now.
I also dumped the env from bash and the initd script, but couldn't see
any suspicous differences.

If only speechd-up could provide some detailed logs, but it isn't
particularly chatty when starting up, despite LogLevel 5.

Also, I can confirm hearing some speech at one point when manually
starting speechd-up with start-stop-daemon, but the volume was too low
to understand what it was and it didn't happen again.

#859926#92
Date:
2017-04-21 18:08:27 UTC
From:
To:
Hi

Hmm, should the speech-dispatcher package than rather NOT ship an init
file? Does it make sense in some setups? An when speech-dispatcher has
no init file, maybe than speechd-up shouldn't "Required-Start"
speech-dispatcher in its init file. Not that it matters, it still
doesn't work when I do that.

May it be that starting daemons via service may not have $HOME set? It
occurs to me that when I start speechd-up manually I see this with "ps
aux" (notice the socket location):
root     22182  0.0  0.0 174708  2224 ?        Ssl  19:47   0:00
/usr/bin/speech-dispatcher --spawn --communication-method unix_socket
--socket-path /root/.cache/speech-dispatcher/speechd.sock

By the way, with "service" it seems that configuration of
speech-dispatcher is ignored. I find the logging in
/root/.cache/speech-dispatcher... where it now also records what goes
wrong..
[Fri Apr 21 20:04:39 2017 : 549750] speechd: Error [speechd.c:665]:No
speech output modules were loaded - aborting...

I'll try to figure out further.

Paul

#859926#97
Date:
2017-04-21 22:26:57 UTC
From:
To:
Hi,
the init.d env. It's just LC_*/LANG, PATH, PWD, TERM; but adding HOME
doesn't help as far as I can tell.
$XDG_RUNTIME_DIR as referenced in /etc/speech-dispatcher/speechd.conf
isn't set in either env.

Looking at the log files, esp.
/root/.cache/speech-dispatcher/log/speech-dispatcher.log, I noticed
that running "sudo /etc/init.d/speechd-up start" works without errors.
Please note: I do not have and use systemd right now.
With systemd in use, this won't work, systemd catches the init script.
Running "sudo service speechd-up start" fails and this log shows a lot
of pulseaudio errors with the sub logs all logging this line:
pulse.c: pa_simple_new() failed: Connection refused

Looks like we're chasing a pulseaudio<->speech-dispatcher bug now. Fun.
Removing pulseaudio and setting AudioOutputMethod to alsa in
/etc/speech-dispatcher/speechd.conf makes speechd-up work.
After rebooting I can hear parts of the boot log messages, and:
$ sudo service speechd-up status
[ ok ] Checking status of Interface between speakup and speech-dispatcher: speechd-up running.

The directories are different when starting at boot:
$ ps aux | grep "speec\h"
root      1479  0.0  0.0  99264  2164 ?        Ssl  Apr21   0:00 /usr/bin/speechd-up -l1
root      1506  0.0  0.1  59768  4628 ?        SLl  Apr21   0:00 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf
root      1533  0.0  0.1  59784  4612 ?        SLl  Apr21   0:00 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf
root      1541  0.1  0.4 277456 10328 ?        SLl  Apr21   0:01 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf
root      1586  0.0  0.0 173032  2212 ?        Ssl  Apr21   0:00 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /.cache/speech-dispatcher/speechd.sock
$ sudo service speechd-up restart
[....] Restarting Interface between speakup and speech-dispatcher: speechd-upStopping speechd-up and unloading speakup modules...
[Sat Apr 22 00:02:55 2017] speechd: Configuration has been read from "/etc/speechd-up.conf"
Starting speechd-up...
To work, speechd-up needs speakup and speakup_soft modules.
They are loaded automatically. If you don't want, type
rmmod speakup speakup_soft
. ok
$ ps aux | grep "speec\h"
root      2170  0.0  0.1 105616  2744 ?        Ssl  00:02   0:00 /usr/bin/speechd-up -l1
root      2175  0.6  0.1  59776  4540 ?        SLl  00:02   0:00 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf
root      2179  0.4  0.1  59788  4608 ?        SLl  00:02   0:00 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf
root      2181  2.8  0.3 142088  8536 ?        SLl  00:02   0:00 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf
root      2188  0.0  0.0 183144  2212 ?        Ssl  00:02   0:00 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock

Still a bit broken, but at least it's some progress.
At this stage, I think all these problems belong to speech-dispatcher.
I'll continue digging, but I I'll reset my vm after changing so much.

Just for the record:
I just found out that Jessie doesn't have any issues and the only
relevant changelog entry is "speechd-up.init: Fix startup/shutdown."
- well, for me it looks like the other way around.
Git commit: https://anonscm.debian.org/cgit/pkg-a11y/speechd-up.git/commit/?id=5db9503f13cdadbefb160846e53c8f141a7ee631
The errcode move is a legit bug fix.
STARTTIME might expose some bugs but isn't the root cause of anything.
Required-(Start|Stop) looks strange with the autospawn thing of
speech-dispatcher. But deleting speech-dispatcher from
Required-(Start|Stop) won't do anything - speech-dispatcher won't run
anyway unless enabled to do so in /etc/default/speech-dispatcher.
That's a dead-end, speechd-up doesn't seem to be the primary culprit.

#859926#102
Date:
2017-04-22 17:51:53 UTC
From:
To:
[CC-ing tts-project@l.a.d.o as they are the maintainer of
speech-dispatcher; although I believe most contributers there also read
d-a11n.]

I concluded the same based on my logs. Although there the text was
different (3 times):
[Fri Apr 21 20:04:39 2017 : 454436] speechd:  Error: Module reported
error in request from speechd (code 3xx): 300-Opening sound device
failed. Reason: Couldn't open pulse plugin.
300 UNKNOWN ERROR

This doesn't sound good. I think it shouldn't matter how you call an
init-script, it should behave the same. I guess this is speechd-up's
responsibility.

Well, I am not 100% convinced. The directory for the socket apparently
comes from the environment, and I would say that that is the
responsibility of the caller (in this case speechd-up or its init-script).

I noticed the same.

Ack.

I came to the same conclusions in my previous e-mail. Good that we agree.

Agree. But I wonder if for the issue at hand (installation failing due
to init script failing) we should rather give up on providing an init
script that works in all circumstances for now. It seems it may rely on
configuration of speech-dispatcher (and sound). So maybe it is best for
now to just disable the init script (in a similar way as for
speech-dispatcher)?

If not, thant I propose to clone this bug for speech-dispatcher.
Cloning, because I think that the delta in socket path is something that
speechd-up should fix. But that is probably (if it does not actually
cause this issue) not RC. But than what would be the issue for
speech-dispatcher? "speech-dispatcher doesn't work with pulse-audio when
started from init-script"? That doesn't sound like a great thing.

What do others think?

Paul

#859926#107
Date:
2017-04-22 19:26:24 UTC
From:
To:
Hi,

Might need some further testing, but imho that is speech-dispatcher's
problem, especially with the autospawn. I'd rather have
speech-dispatcher handle this correctly for all clients than make all
clients do the right thing (which they will inevitably fail to do).
Also, at the moment I think this happens only when not using systemd to
manage services. Still a bug though, especially because debian does
support other init systems.

Sounds like making this package quite useless and I think it's not
necessary. Fixing init script bugs should suffice.

I was thinking of reassigning to the current speech-dispatcher version
as "breaks with pulse output when spawned by speechd-up from init
system", keeping the RC level. Does this count as "breaking unrelated
packages"? I think so, but speechd-up and speech-dispatcher aren't
completely unrelated, so I'm unsure.
Without further input, I won't issue such bug control commands.
I'd rather open new bugs for any issues with speechd-up's init scripts
we find instead of cloning.

Like I announced, I did some further testing, but with a fresh debian
install now - the same base I used at the beginning, with systemd.
I can install speechd-up without any problem when I remove the
pulseaudio package, stop any running pa daemons, and configure
speech-dispatcher to use alsa instead before running apt install.
The installation succeeds without any warning, speechd-up is running
afterwards.

$ systemctl status speechd-up.service
● speechd-up.service - LSB: Interface between speakup and speech-dispatcher
   Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled)
   Active: active (running) since Sat 2017-04-22 20:40:19 CEST; 23s ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/speechd-up.service
           ├─2267 /usr/bin/speechd-up -l1
           ├─2270 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf
           ├─2272 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf
           ├─2274 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf
           └─2278 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock
$ ps aux | grep "speec\h"
root      2267  0.0  0.1 105616  2696 ?        Ssl  20:40   0:00 /usr/bin/speechd-up -l1
root      2270  0.0  0.1  59776  4504 ?        SLl  20:40   0:00 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf
root      2272  0.0  0.1  59788  4540 ?        SLl  20:40   0:00 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf
root      2274  0.0  0.3 142088  8580 ?        SLl  20:40   0:00 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf
root      2278  0.0  0.0 183144  2168 ?        Ssl  20:40   0:00 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock

I then stopped speechd-up with systemctl and waited for
speech-dispatcher to terminate (as expected).

$ sudo systemctl start speechd-up.service
$ systemctl status speechd-up.service
● speechd-up.service - LSB: Interface between speakup and speech-dispatcher
   Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled)
   Active: active (running) since Sat 2017-04-22 20:51:21 CEST; 1min 22s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2335 ExecStop=/etc/init.d/speechd-up stop (code=exited, status=0/SUCCESS)
  Process: 2375 ExecStart=/etc/init.d/speechd-up start (code=exited, status=0/SUCCESS)
    Tasks: 13 (limit: 4915)
   CGroup: /system.slice/speechd-up.service
           ├─2387 /usr/bin/speechd-up -l1
           ├─2391 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf
           ├─2393 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf
           ├─2397 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf
           └─2404 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock
$ ps aux | grep "speec\h"
root      2387  0.0  0.1 105616  2896 ?        Ssl  20:51   0:00 /usr/bin/speechd-up -l1
root      2391  0.0  0.1  59776  4528 ?        SLl  20:51   0:00 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf
root      2393  0.0  0.1  59788  4664 ?        SLl  20:51   0:00 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf
root      2397  0.1  0.3 142088  8536 ?        SLl  20:51   0:00 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf
root      2404  0.0  0.0 183144  2284 ?        Ssl  20:51   0:00 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock

Rebooting the system.

$ systemctl status speechd-up.service
● speechd-up.service - LSB: Interface between speakup and speech-dispatcher
   Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled)
   Active: active (running) since Sat 2017-04-22 21:00:22 CEST; 24s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 13 (limit: 4915)
   CGroup: /system.slice/speechd-up.service
           ├─518 /usr/bin/speechd-up -l1
           ├─530 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf
           ├─544 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf
           ├─551 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf
           └─589 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock
$ ps aux | grep "speec\h"
root       518  0.0  0.1 105616  2740 ?        Ssl  21:00   0:00 /usr/bin/speechd-up -l1
root       530  0.1  0.1  59776  4496 ?        SLl  21:00   0:00 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf
root       544  0.1  0.1  59788  4592 ?        SLl  21:00   0:00 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf
root       551  0.5  0.3 142088  8420 ?        SLl  21:00   0:00 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf
root       589  0.0  0.0 183144  2300 ?        Ssl  21:00   0:00 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock

Yep, things are really working without pulseaudio and there aren't any
directory changes with systemd handling things. Logs are also there.
speechd-up is only breaking when speech-dispatcher is configured in a
special way, but sadly it's speech-dispatcher's default config.

#859926#112
Date:
2017-04-22 20:01:46 UTC
From:
To:
Hi Cobra,

Good point. Agreed.

Agree, but if fixing the bug doesn't happen in time, it will drop out of
Stretch (at least if it remains with speechd-up). If we can't find the
real bug (and a solution), maybe having an init script that needs to be
enabled by the user is better than no speechd-up in Stretch. But see
below. (And what an incredible amount of work are we putting into this
package with a popcon of 9).

Please go ahead.

I don't think so. It breaks a very related package.

Please don't hesitate further.

Ok.

Ack.

Paul

#859926#117
Date:
2017-04-23 09:04:05 UTC
From:
To:
Control: reassign -1 speech-dispatcher
Control: retitle -1 breaks with pulse-audio as output when spawned by speechd-up from init system
Control: affects -1 speechd-up

Summary for speech-dispatcher contributors:
speechd-up is failing to install (on several systems) because the
init script fails to start successfully. The success or failure of
starting speechd-up depends on
1) which output is used by speech-dispatcher, with alsa it work, but
   with the default pulse-audio it doesn't
2) how the speechd-up daemon is started, calling the init script fails
   but calling the exact same start-stop-daemon command manually on
   the command line succeeds.

The following remark may be spurious. While debugging, we
noticed that the directory that contains the speech-dispatcher socket
may depend on which init system is used. With systemd, it doesn't matter
how speechd-up is called, it puts the socket in
/root/.cache/speech-dispatcher/speechd.sock while with sysvinit-core upon
boot the socket is in
/.cache/speech-dispatcher/speechd.sock (after restarting it is in the same
directory as with systemd)

Paul

#859926#130
Date:
2017-04-23 11:47:04 UTC
From:
To:
Hi,


Given delays, and to avoid autoremoval, maybe we could remove the
initscript so that the package to be iostallable? And documenting how to
run it manually?


Regards,



Le 23/04/2017 à 11:04, Paul Gevers a écrit :

#859926#135
Date:
2017-04-23 13:14:31 UTC
From:
To:
Hi Jean-Philippe,

I proposed that already in this bug, but cobra convinced me to not do
that. Also, now the bug is assigned to speech-dispatcher, it will not
trigger autoremoval as speech-dispatcher is a key package¹. So let's
focus on getting the real bug solved.

Paul

¹ https://udd.debian.org/cgi-bin/key_packages.yaml.cgi

#859926#140
Date:
2017-04-23 13:57:44 UTC
From:
To:
Le 23/04/2017 à 15:14, Paul Gevers a écrit :

ok sorry I had missed it. I just hope really the package speechd-up not
be removed. :)

Regards,

#859926#145
Date:
2017-04-24 16:53:25 UTC
From:
To:
Hi,

did another test:
The installation and start/stop/restart of speechd-up work when
changing /etc/speech-dispatcher/speechd.conf from

# AudioOutputMethod "pulse"
to
AudioOutputMethod "pulse,alsa"

But doing so will break pulseaudio for users. There will be no audio
output from applications like vlc or firefox until speechd-up is
stopped. vlc is showing only "dummy output" instead of the usual
"Built-in Audio Analog Stereo" in Audio/Audio Device when speechd-up is
running.
Starting speechd-up after stopping it and using pulse as a user fails
until the running pulseaudio daemon is killed.
Switching vlc to use only alsa (both output module and device) works
with speechd-up running.

This whole issue looks very similar to #521675 (pulseaudio), note the
mention of speech-dispatcher which turned out to be the cause for one
user.
There are also #625235 and #670740 in speech-dispatcher.
A solution might be running pulseaudio as system-wide daemon. But I
don't know whether this is desirable or not, because there are some
downsides, including security implications.

#859926#152
Date:
2017-05-21 19:08:44 UTC
From:
To:
Hi all,

Any progress on this issue? Seems like nobody is working on it. It also
looks like the underlaying issue (pulseaudio & speech-dispatcher
combination) has been known for years and hasn't received much
attention. Is the solution just not possible because it requires a
choice for the default of pulseaudio between non-secure and working, or
secure and non-working (given the goals and designs of the tools
involved)? And currently the behavior is more secure and thus not
working out of the box for pulseaudio users (but working for alsa users)?

Maybe the "solution" is to acknowledge the situation, disable the init
scripts by default (at least of speechd-up, although that would also
cause alsa users to not have speechd-up) and describe it properly in the
documentation (I originally wrote debconf, but I don't think that is
allowed), such that the user can be told how to fix it (I don't know,
but it seems that starting pulseaudio as system user may solve the issues).

Obviously, if we are convinced that what I describe above is correct,
then we could add some detection for alsa vs pulseaudio into the loop
(no idea how that would work and unsure which package(s) should do that).

Paul

#859926#157
Date:
2019-01-13 12:38:00 UTC
From:
To:
Hi,

Unfortunately, it doesn't look like this will be fixed for buster...

Ivo

#859926#166
Date:
2020-06-23 01:33:57 UTC
From:
To:
*Dear,I hope my email finds you in good health.Finally, i made it to
success with another partner after you couldn't complete the transaction
with me. But i did not forget your effort then, it  was part of my success
still. So i left a bank cheque with the Catholic Reverend sister whom i
told you about sometime ago as my trusted Secretary.Contact her at this
below email immediately, introduce yourself as the cashier cheque recipient
and demand for your cheque release process.Send email to: Reverend sister
Angela HelpeEmail:helperangela6@gmail.com
<Email%3Ahelperangela6@gmail.com>Tel:   +228 98766629*

#859926#171
Date:
2020-06-23 01:38:23 UTC
From:
To:
*Dear,I hope my email finds you in good health.Finally, i made it to
success with another partner after you couldn't complete the transaction
with me. But i did not forget your effort then, it  was part of my success
still. So i left a bank cheque with the Catholic Reverend sister whom i
told you about sometime ago as my trusted Secretary.Contact her at this
below email immediately, introduce yourself as the cashier cheque recipient
and demand for your cheque release process.Send email to: Reverend sister
Angela HelpeEmail:helperangela6@gmail.com
<Email%3Ahelperangela6@gmail.com>Tel:   +228 98766629*

#859926#176
Date:
2020-06-23 01:44:10 UTC
From:
To:
*Dear,I hope my email finds you in good health.Finally, i made it to
success with another partner after you couldn't complete the transaction
with me. But i did not forget your effort then, it  was part of my success
still. So i left a bank cheque with the Catholic Reverend sister whom i
told you about sometime ago as my trusted Secretary.Contact her at this
below email immediately, introduce yourself as the cashier cheque recipient
and demand for your cheque release process.Send email to: Reverend sister
Angela HelpeEmail:helperangela6@gmail.com
<Email%3Ahelperangela6@gmail.com>Tel:   +228 98766629*

#859926#181
Date:
2020-06-23 01:48:05 UTC
From:
To:
*Dear,I hope my email finds you in good health.Finally, i made it to
success with another partner after you couldn't complete the transaction
with me. But i did not forget your effort then, it  was part of my success
still. So i left a bank cheque with the Catholic Reverend sister whom i
told you about sometime ago as my trusted Secretary.Contact her at this
below email immediately, introduce yourself as the cashier cheque recipient
and demand for your cheque release process.Send email to: Reverend sister
Angela HelpeEmail:helperangela6@gmail.com
<Email%3Ahelperangela6@gmail.com>Tel:   +228 98766629*

#859926#186
Date:
2020-09-02 15:46:03 UTC
From:
To:
I looked into this a bit and came up with the attached patch (written
against 0.10.1-2), but for further improvement I'd need some feedback.

The patch adds a new thread that is on the lookout for Pulseaudio
processes and reconfigures/restarts the output modules accordingly
once it finds one.  This allows speech-dispatcher (with the correct
privileges) to transition between ALSA and Pulseaudio without the need
for a restart (albeit with the loss of the not-yet-spoken messages in
the module and a pause of about 1-2 seconds).  In my experience it
works quite nicely.

I don't doubt that making the output modules do the transition
themselves without restarting them would be better, but that would
require changes far more intrusive than the ones in this patch.

N.B.: For this to fix the original bug during installation of
speechd-up, the default for AudioOutputMethod would have to be changed
to "pulse,alsa".

Regards,
Dennis.

#859926#193
Date:
2020-10-17 06:17:09 UTC
From:
To:
Hi Dennis, Samuel,

@Dennis, thanks a lot for working on this. Did you send this upstream as
well? If not, can you do it or do you prefer we do it?

@Samuel, what do you think of the patch. It's way to involved for me to
judge, but it claims to solve a long standing RC issue.

Paul

#859926#198
Date:
2020-10-18 16:05:07 UTC
From:
To:
Hello,

Sorry for not answering before, I'm terribly busy atm. Just giving a
quick answer, a proper answer will need more time.

Paul Gevers, le sam. 17 oct. 2020 08:17:09 +0200, a ecrit:

Yes, the "pulse,alsa" user-visible change seems interesting.  But the
implementation seems fragile to me: looking in /proc content is deemed
to break at some point or another. We've been struck hard by such kind
of tinkering in the past, I'd rather not see that happen again :/

Samuel

#859926#203
Date:
2021-01-04 21:02:38 UTC
From:
To:
Hi Samuel,

Did you have any chance to give this more thought? The bullseye freeze
is around the corner.

[...]

Ack. @Dennis, feel free to comment on this too.

Paul

#859926#208
Date:
2021-01-04 22:36:52 UTC
From:
To:
I agree with the assessment that depending on /proc is far from ideal,
but I've been running it for a few months now and it's been working
better than I had expected.  However, the issues that I've encountered
so far mostly stem from a lack of integration.  For example, Orca is
started via /etc/xdg/autostart and pulseaudio in some cases via the
user's systemd, which means both are uncoordinated and thus race for
the audio device.  Another issue I've seen under Bullseye is that gdm3
makes its instance of pulseaudio give up control of the audio device
when the user switches to console which then mutes speakup if
speechd-up has already connected to pulseaudio, and there appears to
be no config option to turn that off.

I've also had some cases where speech-dispatcher pegs the CPU at 100 %
for some reason, but I haven't figured out the cause for that yet.
So, if this patch won't make it into Bullseye, it's not going to be
the end of the world.

The reason I started work on this in the first place is that AFAIK
Firefox some time ago dropped ALSA support and now only supports
pulseaudio.  Also to me it seems like the only way to implement
features like automatically picking up a phone call and routing speech
and phone audio to different ears or spatialization of arbitrary sound
sources.

Regards,
Dennis

#859926#221
Date:
2025-05-02 20:55:59 UTC
From:
To:
You have an award from Newhouse Foundation. Contact Grant Officer: daniela.uhland00@gmail.com<mailto:daniela.uhland00@gmail.com>