Welp ... I was just informed through a Slack DM that I will no longer be working at the place I'm working at in two weeks' time. That is, evidently, how we handle that now. Not entirely unexpected as the writing on the wall was evident, but still not loving that approach for reasons I haven't quite worked out yet.
If anyone needs help with their #accessibility from someone with both native #screenReader experience and a coding background, keep me in mind I guess 😊 #fediHired #layoffs
I should probably slightly amend that statement.
If someone needs help with their #accessibility from a native #screenReader user with a coding background, keep me in mind.
If you want your product to be more #accessible as a new year's resolution, also keep me in mind. i won't even judge if you drop the resolution two weeks after.
If you've received complaints your product isn't accesssible but decided they weren't worth addressing, please realize you're deliberately choosing to exclude a bunch of people, decide you want to be a better human than that, and THEN keep me in mind :)
Welp ... I was just informed through a Slack DM that I will no longer be working at the place I'm working at in two weeks' time. That is, evidently, how we handle that now. Not entirely unexpected as the writing on the wall was evident, but still not loving that approach for reasons I haven't quite worked out yet.
If anyone needs help with their #accessibility from someone with both native #screenReader experience and a coding background, keep me in mind I guess 😊 #fediHired #layoffs
I should probably slightly amend that statement.
If someone needs help with their #accessibility from a native #screenReader user with a coding background, keep me in mind.
If you want your product to be more #accessible as a new year's resolution, also keep me in mind. i won't even judge if you drop the resolution two weeks after.
If you've received complaints your product isn't accesssible but decided they weren't worth addressing, please realize you're deliberately choosing to exclude a bunch of people, decide you want to be a better human than that, and THEN keep me in mind :)
Welp ... I was just informed through a Slack DM that I will no longer be working at the place I'm working at in two weeks' time. That is, evidently, how we handle that now. Not entirely unexpected as the writing on the wall was evident, but still not loving that approach for reasons I haven't quite worked out yet.
If anyone needs help with their #accessibility from someone with both native #screenReader experience and a coding background, keep me in mind I guess 😊 #fediHired #layoffs
I have been diligently at work working on the #adventOfCyber 2025 content again this year, checking the various tasks for #accessibility hurdles and, where possible, providing ways to dodge/hack around them. This wasn't always possible, but at least more possible than the last two years.
Today at 3 PM EST we'll blitz through the last 6 days on stream, showing that while #accessibility issues are rampant, a #screenReader user can absolutely complete the majority of these and might even learn a thing or two in the process!
See you in 6 hours over at https://twitch.tv/ic_null and/or https://youtube.com/@viewpointUnseen #aoc2025 #tryHackMe #thm #selfPromo #stream #tech #blindness
I have been diligently at work working on the #adventOfCyber 2025 content again this year, checking the various tasks for #accessibility hurdles and, where possible, providing ways to dodge/hack around them. This wasn't always possible, but at least more possible than the last two years.
Today at 3 PM EST we'll blitz through the last 6 days on stream, showing that while #accessibility issues are rampant, a #screenReader user can absolutely complete the majority of these and might even learn a thing or two in the process!
See you in 6 hours over at https://twitch.tv/ic_null and/or https://youtube.com/@viewpointUnseen #aoc2025 #tryHackMe #thm #selfPromo #stream #tech #blindness
I had a nightmare the other night. I dreamt that someone told me we don’t use alt tags for screen readers any more, that there was something new … but nobody would tell me what I could use now.
🗣️🎤📝
Speech to Text and Text to Speech on GNU/Linux
📝🔊💻
Why This Matters to Me (and Maybe You Too)
If you’re anything like me—a Linux user who counts on voice typing and TTS because of visual impairment—you know that accessibility is not a luxury, it’s a necessity. Speaking from experience as someone who depends on voice typing (and TTS) , the quest for a seamless, local, FLOSS speech-to-text (STT) setup on Linux can be frustrating.
Here’s how you can succeed with modern tools using Linux. FLOSS means freedom and privacy; working locally means real control.
Let’s dive in! I’ll tell you what I’ve learned and what I use—and hope you’ll share your favorite tools or tips!
System-Wide Voice Keyboard: Speak Directly in Any App
Want to speak and have your words typed wherever your cursor is—be it a terminal, browser, chat, or IDE? Here’s what actually works and how it feels day-to-day:
- Speak to AI (Offline, Whisper-based, global hotkeys)
This tool is my current go-to. It uses Whisper locally, lets you use global hotkeys (configurable) to type into any focused window, and doesn’t need internet. Runs smoothly on X11 and Wayland; just takes a bit of setup (AppImage available!).
GitHub Repo https://github.com/AshBuk/speak-to-ai) | Dev.to Post https://dev.to/ashbuk/i-built-an-offline-voice-typing-app-for-linux-speak-to-ai-3ab5)
- DIY: RealtimeSTT + PyAutoGUI
For the true tinkerers, RealtimeSTT plus a Python script lets you simulate keystrokes. You control every step, can lower latency with your tweaks, but you’ll need to be comfortable with scripting.
RealtimeSTT Guide https://github.com/KoljaB/RealtimeSTT#readme)
- Handy (Free/Libre, offline, Whisper-based, acts as a keyboard)
I’ve read lots of positive feedback on Handy—even though I haven’t tried it myself. The workflow is simple: press a hotkey, speak, and Handy pastes your text in the active app. It’s fully offline, works on X11 and Wayland, and gets strong accuracy thanks to Whisper.
Heads up: Handy lets you pick your own shortcut key, but it actually overrides the keyboard shortcut for start/stop recording. That means it can clash with other tools that depend on major shortcut combos—including Orca’s custom keybindings if you use a screen reader. If your workflow relies on certain shortcuts, this might need adjustment or careful planning before you commit.
GitHub Repo https://github.com/cjpais/Handy) | Demo https://handy.computer)
Real-Time Transcription in a Window (Copy/Paste Workflow)
If you’re okay with speaking into a dedicated app, then copying, these options offer great GUIs and power features:
- Speech Note by @mkiol https://mastodon.social/@mkiol
FLOSS, offline, multi-language GUI app—perfect for quick notes and batch transcription. Not a system-wide keyboard, but super easy to use and works on both desktops and Linux phones.
Flathub https://flathub.org/apps/net.mkiol.SpeechNote | LinuxPhoneApps https://linuxphoneapps.org/apps/net.mkiol.speechnote/)
- WhisperLive (by Collabora)
Real-time transcription in a terminal or window—great for meetings, lectures, and captions. Manual copy/paste required to get the text to other apps.
GitHub Repo https://github.com/collabora/WhisperLive)
More Tools for Tinkerers
If you like building your own or want extra control, check out:
- Vosk: Lightweight, lots of language support. GitHub https://alphacephei.com/vosk/)
- Kaldi: Powerful, best for custom setups. Website https://kaldi-asr.org/)
- Simon: Voice control automation. Website https://simon-listens.org/)
- voice2json: Phrase-level and command recognition. GitHub https://github.com/synesthesiam/voice2json)
Pro Tips
- Desktop Environment: X11 vs. Wayland affects how keyboard hooks and app focus actually operate.
- Ready-Made vs. DIY: If you want plug-and-play, try Speech Note or Handy first. Into automation or customization? RealtimeSTT is perfect.
- Follow the Community: @thorstenvoice offers tons of open-source voice tech insights.
Screen Reader Integration
Looking for robust screen reader support? Linux has you covered:
- Orca (GNOME/MATE): The most customizable GUI screen reader out there. The default voice (eSpeak) is robotic, but you can swap it for something better and fine-tune verbosity so it reads only what matters.
- Speakup: Console-based, ideal for terminal.
- Emacspeak: The solution for Emacs fans.
💡 Orca is part of my daily toolkit. It took time to get the settings just right (especially verbosity!) but it’s absolutely worth it. If you use a screen reader—what setup makes it bearable or even enjoyable for you?
Final Thoughts
If you’re starting from scratch, try Handy for direct typing (just watch those shortcuts if you use a screen reader!) or Speech Note for GUI-based transcription. Both are privacy-friendly, local, and accessible—ideal for everyday Linux use.
Is there a FLOSS gem missing here?
Sharing what works (and what doesn’t!) helps the entire community.
Resources:
Speech Note on Flathub https://flathub.org/apps/net.mkiol.SpeechNote
Handy GitHub https://github.com/cjpais/Handy
Speak to AI Guide https://dev.to/ashbuk/i-built-an-offline-voice-typing-app-for-linux-speak-to-ai-3ab5
RealtimeSTT https://github.com/KoljaB/RealtimeSTT
#Linux #SpeechToText #FLOSS #Accessibility #VoiceKeyboard #ScreenReader #Whisper #Handy #SpeechNote #OpenSource #Community #voicetyping #LocalSTT #TTStools #SpeechRecognition #A11y #Linuxtools #Voicekeyboard #Whisper #Handy #speech-to-text #SpeechNote #review #ScreenReaders #ORCA #FOSS
Question for the fediverse tech folk: work has asked me to learn Google’s Big Query. Does anyone know how #accessible it is with a #screenreader? And where is the best place to start for someone mostly familiar with small scale postgresql deployment? #bigquery
Question for the fediverse tech folk: work has asked me to learn Google’s Big Query. Does anyone know how #accessible it is with a #screenreader? And where is the best place to start for someone mostly familiar with small scale postgresql deployment? #bigquery
Question to screen reader users:
If I were to post IPA (International Phonetic Alphabet, not India Pale Ale), how does it handle it? Does it pronounce it, or does it produce something like "right-angle opening bracket, IPA symbol labio-dental fricative vee, IPA symbol velar plosive gee, right-angle closing bracket"?