Voice typing for the Linux desktop: press a key to start, speak, press again to insert:
- Offline, on-device transcription using Whisper. No data leaves your machine.
- Types the result directly into any focused application using Portals for wide desktop support (X11, Wayland).
- Multi-language support with switchable primary and secondary languages on the fly.
- Works out of the box with the built-in Whisper Tiny model. Download additional models from within the app to improve accuracy.
- Optional text polishing with LLMs (Anthropic, Google, OpenAI), with support for a custom context and vocabulary.
- Supports self-hosted services like vLLM, Ollama, and llama.cpp (cloud services supported but not required).
For installation and usage information, see speedofsound.io.
Speed of Sound stands on the shoulders of these excellent open source projects:
- Java-GI — GTK/GNOME bindings for Java, enabling access to native libraries (including LibAdwaita and GStreamer) via the modern Panama framework.
- Sherpa ONNX — On-device ASR (and more) using the performant ONNX Runtime, including pre-built models for Whisper and many other popular models.
- Whisper — OpenAI's open-source speech recognition model. Its release transformed the on-device ASR landscape.
Additionally, Speed of Sound uses Stargate, a companion project by the same author that provides JVM applications with high-level access to XDG Desktop Portals on Linux. Stargate, in turn, depends on the fantastic dbus-java project.
If you run into any issues, have questions, or need troubleshooting help, please open a ticket on the GitHub issues page. Pull requests are also welcome.
When reporting an issue, please include the debug information from the About dialog's Troubleshooting section, it helps identify your runtime environment and system configuration.
There are several ideas already tracked as tickets to improve the project. Everything planned on the roadmap has a corresponding issue. If you'd like to contribute, please use those tickets to guide your work. You can also use GitHub emoji reactions on issues to vote for the ones that matter most to you, which helps with prioritization.

