On 1/17/26 14:37, Samuel Thibault wrote:
Hello,
Samuel, thank you for responding. I have a test laptop that I'm installing onto over and over right now. A couple of months ago I was able to install Trixie on it with the Mate desktop and thought I had both Speakup and Orca running so that I could work on the Mate desktop and get Orca feedback and ctrl-alt-f1 into a shell and get Speakup feedback. I've been reinstalling Trixie on that machine for a bit now and haven't been able to re-create that setup, to the point where I feel like I'm gaslighting myself.
Aaron Chantrill, le ven. 16 janv. 2026 12:51:31 -0500, a ecrit:
Does anyone know how to set speechd-up up with pipewire and systemd?
It's speech-dispatcher that you'd want to make use pipewire. speechd-up
itself doesn't deal at all with the audio. It just takes text from
speakup and gives it to speech-dispatcher.

This is my understanding also. I have set up a stack with speakup and speakup_soft kernel modules:

$ lsmod | grep speakup
speakup_soft           16384  1
speakup               159744  1 speakup_soft

then espeakup set up using the correct sound card in /etc/espeakup., plus libespeak-ng1:

$ dpkg -l | grep espeak
ii  espeak-ng-data:amd64                  1.52.0+dfsg-5             amd64        Multi-lingual software speech synthesizer: speech data files ii  libespeak-ng1:amd64                   1.52.0+dfsg-5             amd64        Multi-lingual software speech synthesizer: shared library ii  speech-dispatcher-espeak-ng           0.12.0-5              amd64        Speech Dispatcher: Espeak-ng output module

running espeak-ng "Hello World" has the expected results, but when pipewire is installed I get no output from speakup.

it's calling speech-dispatcher and that is set up to run as a user
service.
You can set it up to run as a system service.
This is not recommended, and I would like to understand how to do this correctly.
Aaron Chantrill, le ven. 16 janv. 2026 13:45:07 -0500, a ecrit:
One more thing. Does speakup still write to /dev/softsynth when using the
speakup_soft module,
It rather reads from it. Actually it should rather read /dev/softsynthu,
I have added:

https://github.com/williamh/speechd-up/issues/9

or is it using /sys/accessibility/speakup/synth
speakup/synth just contains the name of the current speakup driver.

or synth_direct
synth_direct is the converse, it's for making e.g. emacspeak emit its
synth through the speakup-supported hardware synths.
Yes, my current understanding is that /sys/accessibility/speakup/synth should contain the single word "soft" if I want to use speakup with software TTS. /sys/accessibility/speakup/synth_direct, as I understand it, could be used to send text directly to speakup.
Is there a way for me to read what speakup is writing to make sure it
is working correctly?
speechd-up has a log file, as well as speech-dispatcher.

Here is my speech-dispatcher log:

$ sudo cat /var/log/speech-dispatcher/speech-dispatcher.log
[Sun Jan 25 16:27:40 2026 : 95201] speechd:   Speech Dispatcher started with 3 output modules [Sun Jan 25 16:27:40 2026 : 95254] speechd:    Speech Dispatcher will use local unix socket: /run/speech-dispatcher/.cache/speech-dispatcher/speechd.sock
[Sun Jan 25 16:27:40 2026 : 95334] speechd:    Daemon mode, forking

[Sun Jan 25 16:27:40 2026 : 96307] speechd:    Creating new thread for speak() [Sun Jan 25 16:27:40 2026 : 96416] speechd:    speak_queue Creating new thread for stop or pause. [Sun Jan 25 16:27:40 2026 : 96479] speechd:    speak_queue Creating new thread for playback. [Sun Jan 25 16:27:40 2026 : 96497] speechd:    speak_queue Stop or pause thread starting....... [Sun Jan 25 16:27:40 2026 : 96575] speechd: Speech Dispatcher started and waiting for clients ... [Sun Jan 25 16:27:40 2026 : 96602] speechd:    speak_queue Playback thread starting.......

Here are the contents of my speechd-up log, with log level set to 5:

$ ps -ef | grep speechd-up
root         893       1  0 16:27 ?        00:00:00 /usr/bin/speechd-up -l5

$ sudo cat /var/log/speechd-up.log
[Sun Jan 25 16:27:40 2026] speechd: Speechd-speakup starts!
[Sun Jan 25 16:27:41 2026] speechd:     Main loop characters read = 27 : (^A2s^A5p^A5r^A5v^A1x^A0b^A0o^A5f
^AP)
[Sun Jan 25 16:27:41 2026] speechd:     cmd: s, param: 2, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:     [rate -56, param: 2]
[Sun Jan 25 16:27:41 2026] speechd:     cmd: p, param: 5, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:     [pitch 0, param: 5]
[Sun Jan 25 16:27:41 2026] speechd:     cmd: r, param: 5, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:   ERROR: [r: this command is not supported]
[Sun Jan 25 16:27:41 2026] speechd:     cmd: v, param: 5, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:   [volume setting not supported yet]
[Sun Jan 25 16:27:41 2026] speechd:     cmd: x, param: 1, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:   [tone setting not supported]
[Sun Jan 25 16:27:41 2026] speechd:     cmd: b, param: 0, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:     [punctuation none]
[Sun Jan 25 16:27:41 2026] speechd:     cmd: o, param: 0, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:     [Voice MALE1]
[Sun Jan 25 16:27:41 2026] speechd:     cmd: f, param: 5, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:   WARNING: [frequency setting not supported,use rate instead]
[Sun Jan 25 16:27:41 2026] speechd:     text: |
|
[Sun Jan 25 16:27:41 2026] speechd:     [speaking (2)]
[Sun Jan 25 16:27:41 2026] speechd:     Text before recoding: |
|
[Sun Jan 25 16:27:41 2026] speechd:     cmd: f, param: 5, rel: 0
[Sun Jan 25 16:27:41 2026] speechd:   WARNING: [frequency setting not supported,use rate instead]

Samuel

So, my goal is to be able to take a Debian system and enable both Orca to work with the Mate desktop and speechd-up to work with speakup. What is it that I am not understanding right now?

Thank you,

Aaron

Reply via email to