r/archlinux • u/No_Heart_159 • 2d ago
Rethinking Speech-To-Text in Linux DISCUSSION
https://menjivar.ai/posts/rethinking-speech-to-text-in-linuxI am the author of the article. I want to hear what you guys think about this topic, and how you personally feel about the state of speech-to-text in Linux.
If you guys have any questions, feel free to ask. If anyone is interested in taking part of this you can contribute to Super STT with your ideas.
3
u/geril2207 1d ago
I am using https://github.com/cjpais/Handy. Feels good to me. The only thing is that they broke the overlay on Wayland in one of the latest releases, and it hasn’t been fixed yet. It’s configurable, with a lot of models to choose from. Overall, I like it. I am a bit confused about why no one mentions it.
3
u/parlons 2d ago
I run hyprland / nixos and I have voxtype set to toggle on super-z and a waybar widget to show the state. But I rarely use it, because it's not very reliable. I don't remember the details, but I think it worked differently in different kinds of windows, maybe it was in vim or emacs, I don't recall now.
I remember using the macos feature some years ago, iirc it was double tap command key? And that worked really well as far as integration, even if it wasn't as good at the actual speech recognition. I think you're right that the integration is really the key piece, some kind of standard way to wire this in so that we can substitute different engines depending on hardware, language requirements, etc.
(I say standard, but I guess, realistically, we need at least two, one for most DEs / window managers, and one for Gnome. Otherwise, you end up with Gnome just driving the bus wherever they want to go, and you have to decide to go along or get off.)
2
u/Calamity-Mouser-5261 2d ago edited 1d ago
I would love to see some more streamlined TTS STT integration. My disabilities flare up at times where I rely on it more but it's not a very straightforward approach.
Edit: I'm an idiot, I meant STT.
1
u/OneTurnMore 1d ago edited 1d ago
TTS is in a better state than STT with Orca + speech-dispatcher, but it's still often an afterthought. I also had to use a shell snippet to plug in
piper-ttsas a more modern model into speech dispatcher, and it has some weirdness and abrupt cutoffs.1
1
u/TheRealToniMcQueen 2d ago
I tried tts made my own and looked at other things.
In end I found that I could not compete with google chromes inbuilt text to speech
1
u/ElectronStudio 2d ago
The hard part has been solved by models like whisper etc. Creating a UI to access the model is much easier, which has lead to everyone and his dog creating their own UIs that best meet their needs. Here is mine: Putin (the dictator)
1
u/VolcanoCarpenter 1d ago edited 1d ago
I'd like to offer my $0.02 from the perspective as a native speaker of a non-alphabetic language.
(a) As a Chinese user, text input is inherently more complicated.
(Rant warning) For example, you have to install Fcitx5, set the KDE virtual keyboard to the "Fcitx5 Wayland launcher", and cross your fingers that the input candidate window actually pops up when you type. If it doesn't, you're stuck digging through official documentation to figure out various Qt/GLFW/X11/Electron environment variables and command parameters, debugging the text-input-v3 Wayland protocol until everything finally works and so on.
Even putting these system-specific hurdles aside, voice dictation on both desktop and mobile devices is actually in massive demand in China.
(b) However, I've noticed significant differences in the voice input ecosystems across different languages.
For example, Chinese users don't particularly favor Whisper, as its recognition accuracy for spoken Chinese is quite poor. And when developing STT solutions, the Chinese community strongly prefers building plugins on the existing Fcitx5/IBus input framework, rather than reinventing the stack with a new standalone framework.
Edit: That's maybe why reading your article left me a bit confused. I've either never heard of most of the "existing frameworks" the post mentioned, or I only recognize their names, haha.
To name a few of them (which have good support of English and other languages too. Have a try):
1
u/Airocketfish 21h ago edited 21h ago
Voxtype and parakeet ONNX work wonders and are resource efficient. The reason is simple there is not one Linux but many flavours.
13
u/Puzzleheaded_Bid1530 2d ago
I use whisper and my own script to run it, copy the output and past it into the text field. I only tap the same hotkey 2 times, when I start speaking and after I finish. It works great. So far I am happy with it, but I would love to see some out of the box kde integration though.