Of course, this turned out to be false, and I got it working. Using Libao to route Also to Pulse, and ensuring the module loads early was key.
"printf 'speakup\nspeakup_soft\n' | sudo tee /etc/modules-load.d/speakup.conf"
sudo update-initramfs -u # if you use an initramfs
This forces the kernel to register /dev/softsynth at boot, ahead of any daemons Also edit or create /etc/libao.conf, adding "default_driver=pulse to it.
By default, espeakup uses ALSA directly. To switch it to libao, add the --use-libao flag in its systemd unit
"
[Service]ExecStart=
ExecStart=/usr/bin/espeakup --use-libao --default-voice=en-us+f2" - do a sudo systemctl daemon-reload after and you're good!
I tried both speechd-up and BrLTTY with the Speech-D module - felt simpler, but neither would speak through Pulse, despite Orca working per-user, so there's that.
Peter Vágner reshared this.
Casey Reeves (it/its)
in reply to Tamas G • • •GPT is spewing nonsense, as is usual.
The VT subsystem still exists, the screen's got nothing to do with what speakup is reading from, which are the /dev/vcsa* devices.
Casey Reeves (it/its)
in reply to Casey Reeves (it/its) • • •Tamas G
in reply to Casey Reeves (it/its) • • •Casey Reeves (it/its)
in reply to Tamas G • • •Hmm. And yeah, it's not exactly like espeakup is the most amazing and verbose software there is...
What happens if you try to launch it directly in the terminal, without the service running. Like, sudo espeakup -d ?
I'm doubtful it will even bother printing stuff, but who knows?
Tamas G
in reply to Casey Reeves (it/its) • • •Casey Reeves (it/its)
in reply to Tamas G • • •I'm pretty sure you tried already but... Does espeak gets to be heard if you try to run it with root via sudo ?
Like, sudo espeak "this is a test"
Does that even work?
Tamas G
in reply to Casey Reeves (it/its) • • •Casey Reeves (it/its)
in reply to Tamas G • • •Holy shit, that's completely messed up.
Audio on linux still sucks in 2025. Pathetic.
Tamas G
in reply to Casey Reeves (it/its) • • •