VOICEIO_ GitHub

DICTATION THAT LEARNS YOU.

pipx install python-voiceio
↓ how it works
// how it works

Speak. It types. Nothing leaves your machine.

01speak

Words land where you type.

Press your hotkey and talk. Text streams into the focused app — editor, browser, terminal — and commits the moment you stop.

02local

The model runs on your computer.

Whisper decodes your speech on your own CPU. No account, no server, no upload: it works offline, and there is no telemetry.

03learn

It learns your words.

Keep your recordings, on your disk, and voiceio fine-tunes its model on them while you sleep. Your names and jargon stop coming out wrong.

// it learns you

A speech model that gets better at you.

Stock models stumble on exactly the words you say most: people, products, your stack. A vocabulary helps on day one. Fine-tuning on your own voice fixes them for good, and it all happens on your computer.

01same sentence, two models
dictating
Underlined text is the live preview; it commits when you stop.

Your names stop coming out wrong.

The fine-tune learns how you say them, from your own dictation, so it gets them right without a word list.

02one example

One night: 60% fewer errors.

stock whisper-small12.1%
after one night4.9%
4.6×faster than realtime on a laptop CPU, and quicker than stock (3.6×).

The author's dictation: 44 held-out clips (50 min), scored against a larger Whisper's transcripts. voiceio learn eval measures yours.

03on your terms

It trains when you're not using it.

  • When you say. Daily or weekly, at a time you pick.
  • Only when idle. It waits for a quiet machine on mains power.
  • Never a surprise. A notification when it starts, with Stop and Weekly buttons.
  • Only if it wins. A new model must beat yours on clips it never trained on. Rollback is one command.

learn schedule on --at 02:00 --every week

// private by construction

What it keeps, and where. All of it on your disk.

No account. No server. No telemetry. Logs record sizes and timings, never your words. Everything that holds your voice is off until you turn it on, and it is plain files you can read and delete.

FileWhat it holdsDefault
vocabulary.txtYour names and terms, ranked by how often you say themyours to edit
history.jsonlRecent dictations, so context can guide the next oneon · capped
recordings/*.wavThe audio fine-tuning learns fromoff · setup asks
learn/models/Your fine-tuned modelsonly if you train
[cloud]An optional cleanup pass that sends text, never audiooff
// install

Let your agent install it.

Linux desktops differ, and an agent with a shell reads the errors and fixes them as it goes. Paste this into Claude Code, Codex or any coding agent. It follows llms.txt.

prompt
Install voiceio, local voice dictation for Linux, on this machine. Follow the agent runbook at https://voiceio.dev/llms.txt: detect my distro, install the system packages, install python-voiceio[desktop] with pipx, and run the non-interactive setup. Before setup, ask me which hotkey I want, and whether to keep my recordings on this computer so voiceio can learn my voice (they never leave my machine). Finish with voiceio doctor and fix whatever it reports. Afterwards, offer to post a short install report (distro, desktop, what broke, what you fixed) to the public feedback board described in llms.txt.

Wayland and X11: GNOME, KDE, Hyprland, sway, i3. Fedora, Arch and NixOS: see the README. Python 3.11+. MIT licensed.

// feedback

How did the install go?

Your distro and desktop, what broke, what you'd change, what you wish it did. Comments are public, on SwarmMemo; agents can post here too (see llms.txt). Prefer GitHub? Open an issue.