Speech-to-text for Linux. Hold a key, speak, release — text appears where you're typing.
- Instant transcription — press a hotkey, speak, release — text pastes where you're typing
- Groq Whisper API — fast, accurate speech-to-text (whisper-large-v3-turbo)
- LLM post-processing — grammar cleanup and filler word removal
- Conversation mode — long-form recording with AI analysis and Q&A
- Multi-provider AI — Groq, Grok by xAI, Google Gemini
- Slack integration — record huddles, post transcriptions to Slack channels
- System tray — always accessible, minimal footprint
- Hotkey customization — remap all hotkeys from Settings
- Pipeline history — last 20 runs with SQLite storage
- Ubuntu 22.04+ / Debian 12 / Pop!_OS 22.04 (or compatible)
- Python 3.10+
- GTK 4 (libgtk-4-1)
- PulseAudio or PipeWire
- X11 or Wayland with XWayland
xdotool(for text injection on X11)
Download the latest .deb from Releases:
sudo apt install ./linux-speech-flow_*.debpip install linux-speech-flowSystem dependencies must be installed separately (the .deb pulls these in automatically; the pip path does not):
sudo apt install python3-gi gir1.2-gtk-4.0 libgirepository1.0-dev \
libpulse-dev xdotool xclip libnotify-bin- Run
linux-speech-flow - The setup wizard opens on first launch
- Enter your Groq API key (get one free)
- Select your microphone
- Press the hotkey (default:
Ctrl+Alt+R) to start recording — release to transcribe
Autostart at login is enabled automatically — the app writes
~/.config/autostart/linux-speech-flow.desktop on first run, so it starts with your
desktop session. Remove that file to disable it.
Audio is processed by Groq's Whisper API. Conversation transcripts sent for AI analysis go to
your chosen provider (Groq, Grok by xAI, or Google Gemini). No audio or transcription data is
stored by the app beyond what you save locally. Your API keys are stored in
~/.config/linux-speech-flow/config.json (mode 0600, readable only by you).
| Service | Required for | Get key |
|---|---|---|
| Groq | Transcription (required) | console.groq.com |
| Grok by xAI | Conversation AI (optional) | console.x.ai |
| Google Gemini | Conversation AI (optional) | aistudio.google.com |
| Slack | Slack integration (optional) | See Slack setup guide below |
Config file: ~/.config/linux-speech-flow/config.json (created on first run)
See config.example.json for all available options with placeholder values.
Slack integration requires creating a Slack App with a bot token (xoxb-) and an
app-level token (xapp-, for Socket Mode). See the
Slack setup guide for step-by-step instructions.
See CONTRIBUTING.md for development setup and guidelines.
MIT — see LICENSE.