flowtype

Press.Talk.Press again.

Dictation for Linux that types into whatever window you're in.

Free and open source, with no word limits. Speech recognition and AI rewriting run on your own GPU, so your voice never leaves the machine. It works in your editor, browser, terminal and chat apps, anywhere a cursor can go.

Install flowtype Super+Alt+D
new message demo
Tosam@studio.dev
SubjectBuild
Press the keys below and this message writes itself.
Idle 0:00.0
Whisper's raw transcript appears here, with the cleanup marked.
Click, or press D on your keyboard

How it works

A small background service keeps the speech model loaded on your GPU, so a dictation starts the instant you press the key. Short phrases come back in about half a second.

  1. Press once

    A notification says it's listening. Audio is recorded locally through PipeWire.

  2. Talk normally

    Say "um" and restart sentences if you need to. Say "new line" or "period" when you want them.

  3. Press again

    Whisper transcribes the clip, a local model tidies it for the app you're in, and the text is typed at your cursor and copied to the clipboard.

What you say, what it types

Real output from flowtype. Rules remove fillers and handle spoken punctuation. A local AI model then resolves self-corrections and matches the app you're typing in: casual in Slack and Discord, full sentences in email, exact commands in a terminal.

You sayIt types
um so I I think we should, uh, ship it new line thanks periodSo I think we should ship it Thanks.
so we should ship it tomorrow actually no wait friday because QA needs timeSo we should ship it Friday because QA needs time.
um hey sam the build is done I mean almost done we need the icons the docs and the release notes thanks (in email)Hey Sam, the build is almost done. We need the icons, the docs, and the release notes, thanks.
git commit dash m fix the wave form drawing (in a terminal)git commit -m "fix the wave form drawing"
hello new paragraph this is omarchy on hyprlandHello This is Omarchy on Hyprland
my emailyou@example.com (a snippet you set)

Runs on your machine

Measured on a laptop RTX 4050 with Whisper small.en and Qwen3 4B. No account, no subscription, nothing uploaded.

0.64 sfrom second key press to polished text, for a short sentence
0bytes of audio sent anywhere
1 keyto start, the same key to stop
453lines of Python, one file

flowtype vs Wispr Flow

Wispr Flow is a good product. It's also a subscription with a weekly word cap on the free plan, and Linux isn't on its list of platforms. flowtype gives you the same press-and-talk habit, AI rewriting included, without either.

flowtypeWispr Flow
PriceFreeFree plan, or Pro at $15/month ($12/month billed yearly)
Free plan limitNone2,000 words a week on desktop, 1,000 on mobile
LinuxYes, built for Wayland and HyprlandNot listed. Mac, Windows, iOS and Android
Works offlineYes, speech is recognised on your GPUNot stated on the pricing page
AccountNoneRequired
Source codeOpen, MIT licenceClosed
AI rewriting and per-app toneYes, with a local model through Ollama, or Claude if you preferYes
Phone appsNoYes

Wispr Flow details are from wisprflow.ai/pricing, checked October 2026. Prices and plans may have changed since.

Install

Built for Hyprland on Arch. Other Wayland compositors work if you bind the toggle command to a key yourself.

Set up

# tools it calls
$ sudo pacman -S wtype wl-clipboard pipewire
$ pip install faster-whisper

# optional: local AI rewriting
$ sudo pacman -S ollama
$ ollama pull qwen3:4b-instruct

# get it
$ git clone https://github.com/neilyneilynig/flowtype
$ cd flowtype
$ ln -s "$PWD/flowtype.py" ~/.local/bin/flowtype
$ cp flowtype.service ~/.config/systemd/user/
$ systemctl --user enable --now flowtype

Bind the key

# ~/.config/hypr/bindings.conf
bindd = SUPER ALT, D, Dictate, exec, \
  ~/.local/bin/flowtype toggle

# then
$ hyprctl reload
$ flowtype ping
pong

Reference

Settings live in ~/.config/flowtype/config.json. Run flowtype reload after you edit it.

Commands

flowtype toggle
Start listening, or stop and type. This is what the hotkey runs.
flowtype stats
Words dictated, speaking pace and time saved compared with typing.
flowtype history 20
Your last 20 dictations, with times.
flowtype polish chat "…"
Try the AI rewrite on some text. Tones are chat, email, code and general.
flowtype reload
Re-read the config without restarting.
flowtype daemon
Run the service in the foreground, useful for debugging.

config.json

{
  "model": "small.en",
  "device": "auto",
  "type_output": true,
  "copy_output": true,
  "remove_fillers": true,
  "max_seconds": 300,
  "polish": "ollama",
  "polish_model": "qwen3:4b-instruct",
  "app_tones": { "obsidian": "email" },
  "dictionary": { "hyprland": "Hyprland" },
  "snippets": { "my email": "you@example.com" }
}