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.
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.
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
- 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 that reacts to your voice, with four styles (orb, waveform, frequency bars, radial), custom colors, and positioning anywhere on screen
- Private by Default - Fully offline transcription, and your dictated text is never written to the log (opt-in only, for troubleshooting)
- GNOME Integration - Native shell extension for GNOME desktop
- Smart Updates - Built-in update checker that updates the right way for how you installed: through your package manager on
.deb/.rpm(one click, one password prompt), in place for the AppImage, or via your AUR helper on Arch - Wayland Native - Works seamlessly on modern Linux desktops
yay -S talktype-appimage
# or
paru -S talktype-appimageDownload talktype_*_amd64.deb from Releases:
sudo apt install ./talktype_*_amd64.debDownload talktype-*.x86_64.rpm from Releases:
sudo dnf install ./talktype-*.x86_64.rpmBoth packages install to /opt/talktype, add a talktype command and an
Applications menu entry, and pull in the few system libraries they need.
Download the latest AppImage from Releases:
chmod +x TalkType-v*.AppImage
./TalkType-v*.AppImageThe 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
| Requirement | Details |
|---|---|
| OS | Linux with Wayland |
| Dependencies | None to install by hand — ydotool, ydotoold and wl-clipboard ship inside TalkType, and the ydotoold daemon starts automatically on first run |
| Permissions | First run asks for your admin password once, to let TalkType read your keyboard and type into other apps. Restart afterwards for it to take effect |
| Audio | Working microphone |
| GPU (optional) | NVIDIA GPU for CUDA acceleration |
- 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.
| 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) |
| Say This | Result |
|---|---|
| "comma" | , |
| "period" / "full stop" | . |
| "question mark" | ? |
| "exclamation point" | ! |
| "colon" | : |
| "semicolon" | ; |
| "open quote" / "close quote" | " " (smart quotes) |
| "dot dot dot" / "ellipsis" | ... |
| Say This | Result |
|---|---|
| "new line" | Line break |
| "new paragraph" | Double line break |
| "tab" | Tab character |
| 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.
Say "literal" before any command to output the word instead:
- "literal comma" → types "comma" (not ,)
- "literal period" → types "period" (not .)
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.
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
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# Prerequisites (Fedora/Nobara)
sudo dnf install -y portaudio-devel ffmpeg ydotool wl-clipboard \
python3-gobject libayatana-appindicator-gtk3 libnotify
# Clone and install
git clone https://github.com/ronb1964/TalkType.git
cd TalkType
poetry install
# Run
poetry run dictate-trayTalkType 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- Check ydotoold is running:
systemctl --user status ydotoold - Verify socket exists:
ls $XDG_RUNTIME_DIR/.ydotool_socket
- Another app may be using F8/F9 - try different keys in Preferences
- Ensure TalkType service is running (check tray icon)
TalkType reads your keyboard directly, which requires your account to be in the
system's input group. Without it no key can be detected, even though the app
looks like it started fine.
- Preferences → Advanced → Typing Setup → Fix Typing Permissions
- Then restart your computer. Logging out and back in is often not enough — a lingering user session keeps the old group list alive
- Check it worked with
groups; the list should includeinput
Most common on Fedora, where permission to type is granted separately from permission to read keys, so typing can work while hotkeys do not.
- Enable GPU acceleration if you have NVIDIA GPU
- Try a smaller model (tiny or base)
- Use Performance presets in tray menu
- TalkType offers to install its GNOME extension on first run
- Or manually: Preferences → Advanced → Install Extension
MIT License - see LICENSE file for details.
TalkType - Voice dictation that just works.
Download •
Changelog •
Report Bug •
Request Feature








