TalkType — Speech-to-Text for Linux
Free, offline voice dictation for Linux — works on Wayland and X11 with any desktop environment. Powered by OpenAI's Whisper AI for accurate, private speech recognition. No cloud, no subscription, no data leaves your machine.
TL;DR: Download the AppImage, run it, press F8 to talk. Text appears where your cursor is. Works in any app — browsers, editors, terminals, chat apps, everywhere.
Why TalkType?
Most voice dictation tools on Linux are either cloud-based (privacy concerns), command-line only (not user-friendly), or broken on Wayland. TalkType is different:
- 100% offline — All processing happens locally using Whisper AI. Nothing is sent to the cloud.
- Works on Wayland — Built from the ground up for modern Linux desktops (also supports X11).
- Zero configuration — Download the AppImage, run it, start talking. First-run wizard handles the rest.
- Any desktop environment — GNOME (with native shell extension), KDE, XFCE, Sway, Hyprland, and more.
- GPU accelerated — Optional NVIDIA CUDA support for 3-5x faster transcription.
Screenshots
System tray menu • Recording indicator with timer
General settings with model selection • Advanced settings with GPU acceleration
Audio settings with microphone test • Custom voice commands
Built-in help with getting started guide • Complete voice commands reference
Features
- Dual Hotkeys Always Active - F8 (hold-to-talk) AND F9 (tap-to-toggle) simultaneously - fully customizable
- AI-Powered Transcription - Uses OpenAI's Whisper models (tiny to large-v3)
- GPU Acceleration - Optional NVIDIA CUDA support for 3-5x faster transcription
- Smart Text Processing - Auto-punctuation, smart quotes, auto-spacing
- Voice Commands - Say "comma", "period", "new paragraph", "undo last word", and more
- Custom Commands - Define your own phrase shortcuts (e.g., "my email" → your@email.com)
- Visual Feedback - On-screen recording indicator with timer, positionable anywhere on screen
- GNOME Integration - Native shell extension for GNOME desktop
- Auto-Updates - Built-in update checker with one-click downloads
- Wayland Native - Works seamlessly on modern Linux desktops
Installation
Arch Linux (AUR)
yay -S talktype-appimage
# or
paru -S talktype-appimageAppImage (All Distros)
Download the latest AppImage from Releases:
chmod +x TalkType-v*.AppImage ./TalkType-v*.AppImage
The AppImage includes everything needed - just download and run!
Note: AppImages require FUSE 2 (
libfuse.so.2). Install if needed:
- Fedora/RHEL:
sudo dnf install fuse- Ubuntu/Debian:
sudo apt install libfuse2- Arch/Manjaro:
sudo pacman -S fuse2- openSUSE:
sudo zypper install libfuse2
System Requirements
| Requirement | Details |
|---|---|
| OS | Linux with Wayland |
| Dependencies | ydotool, wl-clipboard (must be installed on your system; ydotoold daemon is started automatically on first run) |
| Audio | Working microphone |
| GPU (optional) | NVIDIA GPU for CUDA acceleration |
Quick Start
- Launch TalkType - Run the AppImage or use your app launcher
- First-run setup - TalkType will guide you through initial configuration
- Start dictating - Press F8 (hold to record) or F9 (tap to toggle) — both always active
- Speak naturally - Text appears where your cursor is
- Use voice commands - Say "comma", "period", "new line", etc.
Hotkeys (Both Always Active)
| Hotkey | How it works |
|---|---|
| F8 | Hold to record, release to transcribe (hold-to-talk) |
| F9 | Press once to start, press again to stop (tap-to-toggle) |
Voice Commands
Punctuation
| Say This | Result |
|---|---|
| "comma" | , |
| "period" / "full stop" | . |
| "question mark" | ? |
| "exclamation point" | ! |
| "colon" | : |
| "semicolon" | ; |
| "open quote" / "close quote" | " " (smart quotes) |
| "dot dot dot" / "ellipsis" | ... |
Formatting
| Say This | Result |
|---|---|
| "new line" | Line break |
| "new paragraph" | Double line break |
| "tab" | Tab character |
Editing
| Say This | Result |
|---|---|
| "undo last word" | Deletes the last word |
| "undo last sentence" | Deletes to the previous sentence |
| "undo last paragraph" | Deletes the last paragraph |
| "delete last three words" | Deletes several at once — words, sentences or paragraphs |
| "delete last 5 sentences" | Digits work too; counts above what you dictated are clamped |
| "clear everything" | Clears the entire input field (see warning below) |
Undo, delete and remove are interchangeable — say whichever comes naturally ("delete last word", "remove last two sentences"). Counts accept digits or the words one through ten.
⚠️ "clear everything" empties the whole field, not just what you dictated. The phrases undo/delete/clear + everything/all — six in total — all do the same thing: select all and delete. That includes text you typed yourself, so it is not limited to the current dictation.
Literal Words
Say "literal" before any command to output the word instead:
- "literal comma" → types "comma" (not ,)
- "literal period" → types "period" (not .)
AI Models
Choose the right model for your needs in Preferences → General:
| Model | Size | Speed | Accuracy | Best For |
|---|---|---|---|---|
| tiny | 39 MB | Fastest | Basic | Quick notes |
| base | 74 MB | Fast | Good | Casual use |
| small | 244 MB | Balanced | Very Good | Recommended |
| medium | 769 MB | Slower | Excellent | Professional |
| large-v3 | ~3 GB | Slowest | Best | Technical work |
Tip: Start with "small" for everyday use. Enable GPU acceleration for larger models.
GPU Acceleration
TalkType supports NVIDIA CUDA for 3-5x faster transcription:
- Automatic detection - TalkType detects your NVIDIA GPU on first run
- One-click download - Download CUDA libraries (~800MB) when prompted
- Automatic activation - GPU mode enables after download
You can also enable GPU later: Preferences → Advanced → Download CUDA Libraries
Configuration
Settings are stored in ~/.config/talktype/config.toml:
model = "small" # AI model: tiny, base, small, medium, large-v3 device = "cpu" # "cpu" or "cuda" (GPU) hold_hotkey = "F8" # Hold-to-talk key (hold to record, release to stop) toggle_hotkey = "F9" # Tap-to-toggle key (press once start, press again stop) # Both hotkeys are always active simultaneously language_mode = "auto" # "auto" or specific language code beeps = true # Audio feedback sounds smart_quotes = true # Use curly quotes " " auto_space = true # Auto-space between utterances auto_period = true # Add period at end of sentences
Development
From Source
# Prerequisites (Fedora/Nobara) sudo dnf install -y portaudio-devel ffmpeg ydotool wl-clipboard \ python3-gobject libappindicator-gtk3 libnotify # Clone and install git clone https://github.com/ronb1964/TalkType.git cd TalkType poetry install # Run poetry run dictate-tray
ydotool Setup
TalkType requires ydotool for text injection:
# Create systemd service mkdir -p ~/.config/systemd/user cat > ~/.config/systemd/user/ydotoold.service <<'EOF' [Unit] Description=ydotool daemon After=graphical-session.target [Service] Environment=XDG_RUNTIME_DIR=%t ExecStart=/usr/bin/ydotoold --socket-path=%t/.ydotool_socket Restart=on-failure [Install] WantedBy=default.target EOF # Enable and start systemctl --user daemon-reload systemctl --user enable --now ydotoold.service
Troubleshooting
Text not appearing?
- Check ydotoold is running:
systemctl --user status ydotoold - Verify socket exists:
ls $XDG_RUNTIME_DIR/.ydotool_socket
Hotkey not working?
- Another app may be using F8/F9 - try different keys in Preferences
- Ensure TalkType service is running (check tray icon)
Transcription slow?
- Enable GPU acceleration if you have NVIDIA GPU
- Try a smaller model (tiny or base)
- Use Performance presets in tray menu
Tray icon not visible (GNOME)?
- TalkType offers to install its GNOME extension on first run
- Or manually: Preferences → Advanced → Install Extension
License
MIT License - see LICENSE file for details.
TalkType - Voice dictation that just works.
Download •
Changelog •
Report Bug •
Request Feature








