question: How the heck do I actually use `espeakup`? I have it running as a system service but I'm not sure how to make it do anything. e.g. I don't hear anything when it starts and my terminals aren't reacting any different. The man page is very sparse without any guide on how I'm supposed to actually use it.

@mauve eSpeakup is the bridge between Speakup and eSpeak. If you don't have one or the other, nothing will happen when you log in via shell or drop to shell. Also, it's been a while, but I think it only works on eSpeak, not eSpeakNG.

As an alternative, you might try Fenrir, which is an entire shell screen reader written in Python.

@bscross32 TY! It seems arch linux doesn't have "speakup" in their package manager. Must have misunderstood something somewhere.

I still haven't had luck getting fenrir to work. Could it be due to me using wayland as the "top level" window manager instead of the default linux terminal emulator? 😅 It starts, and it seems to capture Fenrir+H, but it's not reading my terminals.

@mauve @bscross32 Yes, using Wayland is exactly the problem. Speakup only works on the plain virtual terminal, and it will not work under X or Wayland. Speakup is a kernel module (so no package is necessary for it because it is in the Arch kernel), and espeakup is the program that connects to speakup on /dev/softsynth and speaks its output using eSpeak NG. Just make sure you are on a real virtual terminal (plain TTY), make sure the speakup_soft module is loaded, and start the espeakup service, and it should work. Also make sure sound can play as root. If you use Pipewire or PulseAudio, you may have to do some work for that, but if you use plain ALSA, it should be fine. Personally I use speechd-up instead, because even though it hasn't been maintained in many years, I still prefer it because it uses Speech Dispatcher instead of directly using eSpeak NG, meaning its a lot easier to increase the maximum speech rate, and I can use Pipewire and run Speech Dispatcher as my user, run speechd-up as root, and point it to the Speech Dispatcher socket for my user with the SPEECHD_ADDRESS environment variable, so I can still use Pipewire with Bluetooth audio and its other advantages, and still use speakup.

@emassey0135 Good to know thank you! I use speech-dispatcher in other contexts so speechd-up is interesting. Is it strictly necessary to run it as root? Do you have your configs published somewhere by any chance?

@mauve Another thing to be aware of is that when you compile speechd-up, you have to make a change to one of the C files because there is a compilation error. It is a very small change though. You also have to run "make speechd-up" instead of just "make", because the info documentation is broken for some reason. Here's the repository I get it from: github.com/williamh/speechd-up

Follow

@emassey0135 Good to know! Tbh I tried to compile it the other day and it gave me some weird shell script looking errors. I might just read up on the actual code and adjust it to my taste and review the build system in general. Luckily I think I can get away with logging into the TTY with muscle memory and a basic audio cue on login or something.

Sign in to participate in the conversation
Mauvestodon

Escape ship from centralized social media run by Mauve.