nerd-dictation vs Vibe Typer: Which One Should You Run?

nerd-dictation vs Vibe Typer comparison hero showing a Linux terminal and a dictation window

Ask for dictation software in any Linux forum and someone will reply "nerd-dictation" within about four minutes. They are not wrong. It is the tool the community actually uses, it is genuinely offline, and it is GPL-3.0.

We make a competing product, so read this with that in mind — but we would rather tell you honestly where nerd-dictation wins than have you install ours and bounce. For a meaningful share of the people reading this, nerd-dictation is the right answer and Vibe Typer is not.

TL;DR

  • You want fully offline, no account, no network → nerd-dictation. Vibe Typer cannot do this; it is cloud-only.
  • You want to script what gets typed before it lands → nerd-dictation. Nothing else on Linux comes close.
  • You want it working in two minutes with punctuation and capitals → Vibe Typer.
  • You are on Wayland and do not want to debug input injection → Vibe Typer.
  • You dictate prose all day and accuracy is the whole game → Vibe Typer, and it is not close.
  • You are on a metered or intermittent connection → nerd-dictation.

The comparison

nerd-dictation Vibe Typer
Engine VOSK (Kaldi) Cloud AI transcription
Offline Yes, entirely No — needs a connection
Account None Required
Wayland Via ydotool / dotool / wtype Native
X11 Via xdotool Native
Punctuation & capitals No — output is lower-case Yes, automatic
Install pip + git clone + model download One AppImage
Configure before first use Yes — audio tool, input tool, model No
Scriptable output Yes, in Python No
Licence GPL-3.0 Proprietary
Cost Free Free tier, then $8/mo

Where nerd-dictation genuinely wins

It is offline, and that is not a footnote

nerd-dictation downloads a VOSK model to your disk and runs it there. No request leaves your machine. If you handle client material under an NDA, work in a SCIF, dictate medical or legal notes, or simply do not want a vendor in the loop, that is the end of the discussion — and Vibe Typer is disqualified, because it streams audio to a backend for transcription.

We think our privacy posture is good (audio is processed in memory and discarded, no transcript cache is kept server-side), but "we discard it" is a promise and "it never left the laptop" is an architecture. Those are not the same category of assurance and we are not going to pretend otherwise.

It works on a plane

Related, and underrated. Vibe Typer needs an active connection during dictation. nerd-dictation does not care.

The output is programmable

This is the feature nothing else on Linux matches. nerd-dictation lets you supply a Python file that rewrites the recognised text before it is typed:

def nerd_dictation_process(text):
    return text.replace("new line", "\n").replace("semicolon", ";")

If you are dictating code, config or anything with a domain vocabulary, that hook is worth more than a better model. You can expand abbreviations, fix names the recogniser always mangles, enforce house style — all deterministically, all locally.

It has no daemon and no tray icon

nerd-dictation begin and nerd-dictation end, bound to whatever you like. Nothing runs when you are not dictating. For people who keep a tight process list, that is the point.

Where it costs you

There is no punctuation

VOSK returns lower-case words with no punctuation at all. For dictating shell commands, that is fine. For dictating an email, it means you go back and fix every sentence — the capital, the comma, the full stop. That is not a small tax; for most prose it eats the entire time saving.

You can bolt punctuation on with a post-processing script, but you are writing a sentence-boundary detector, and it will be worse than the one a modern model gives you for free.

Accuracy is a generation behind

VOSK is Kaldi-based. It was excellent in 2021. Whisper-class models have moved a long way since, particularly on accents, technical vocabulary and noisy rooms. The vosk-model-small-en-us-0.15 in the standard install instructions is 40 MB — fast and light, and it sounds like it. Larger VOSK models help and are worth trying before you conclude the tool is inaccurate.

Setup is a project, not an install

The documented path is:

pip3 install vosk
git clone https://github.com/ideasman42/nerd-dictation.git
cd nerd-dictation
wget https://alphacephei.com/kaldi/models/vosk-model-small-en-us-0.15.zip
unzip vosk-model-small-en-us-0.15.zip && mv vosk-model-small-en-us-0.15 model

Then you still have to pick an audio capture tool (parec, sox or pw-cat), pick an input simulator, and bind the begin/end commands to a hotkey in your desktop environment.

Wayland is the real friction

nerd-dictation itself is fine on Wayland. Getting text into the focused window is the problem, and it is not nerd-dictation's fault — it is Wayland's security model, which deliberately stops one client synthesising input into another.

Your options and their catches:

  • xdotool — the default, X11 only. Does nothing under Wayland.
  • ydotool — works via /dev/uinput, so it needs a daemon running with permission to that device. That is a real privilege decision, not a checkbox.
  • dotool — same uinput approach, simpler to run, same permission question.
  • wtype — the clean Wayland answer, and it does not work on GNOME, because Mutter does not implement the virtual-keyboard protocol it needs. Since GNOME is the default on Ubuntu and Fedora, that rules it out for most people.

None of these is hard for someone who enjoys this. All of them are a wall for someone who wanted to dictate an email.

Where Vibe Typer fits

Vibe Typer solves exactly the two things above and nothing else that nerd-dictation does better.

It is a single AppImage. It handles the input injection natively on both Wayland and X11 — including on GNOME — and migrates your settings if you switch session types. Transcription comes back punctuated and capitalised, and the AI formatting cleans up the "um"s and false starts that you actually say. There is nothing to configure before the first sentence.

The cost of that is the thing you already read above: it is cloud-based, it needs an account, and past 2,000 words a month it is $8/month billed annually.

chmod +x VibeTyper.AppImage
./VibeTyper.AppImage

Can you run both?

Yes, and some people should. They bind different hotkeys and do different jobs: nerd-dictation with a custom Python vocabulary for terminal and code, Vibe Typer for prose, email and chat where punctuation matters. There is no conflict — neither holds the microphone when idle.

How to decide

Ask one question first: is offline a requirement or a preference?

If it is a requirement, stop reading comparisons. Install nerd-dictation, or Speech Note if you would rather have a Flatpak and a GUI, or Handy if you want a Whisper-class model running locally with less assembly.

If it is a preference, the question becomes how you value your setup time against a monthly fee, and how much punctuation matters for what you dictate. Prose: Vibe Typer. Commands and code, with a vocabulary you want to control: nerd-dictation.

For the full field — Talon, Vocalinux, VOXD, whisper.cpp, OpenWhispr, Whispering and the rest, with a Wayland column for each — see Linux dictation software: 14 tools that actually run. If you have already decided and want the Linux specifics, voice typing for Linux covers the install and the distro notes.

Try Vibe Typer free

Voice typing that works in every app on Linux, Windows, and macOS. Free to download: 2,000 words a month, no card.

Get Vibe Typer Free