@kstrlworks This seems like exactly what I need, thank you. Sadly just installing espeakup didn't work. Seems I might be missing the speakup kernel module. Any clue where people go to debug this?
@mauve sounds like the kernel module wasn't loaded. Not all distros have it pre-added.
https://github.com/linux-speakup/speakup/blob/main/INSTALLATION
@mauve I helped someone set this up a while back, so there might be better ways now: speakup and espeakup as a system service let it run pre-login.