sensor — by Filament Platform Inc.
sensor: privacy-first, free, lightweight voice dictation tool for Linux that works on GNOME Wayland. Runs entirely on your machine. Installs with one command. Regret it? Remove with another command.
Ubuntu 24.04 & Debian x86-64 Other distros and ARM aren’t supported yet.
$ curl -fsSL https://sensor.filamentplatform.com/install.sh | sh
Read the script first · or download the .deb · see it working
sensor is a simple, reliable, and lightweight dictation solution for Linux. It is a free alternative to tools like WhisprFlow. It works on GNOME Wayland, KDE, X11, and a bare tty. Privacy is guaranteed because the transcription happens entirely on your machine.
One command and you're done. No git clone, no Python environment, no a long list of
manual sudo commands just for installation.
If you regret it, one command and it's gone.
sensor is the same transcription everyone else uses, packaged like software you'd actually install.
And X11, KDE, and a bare tty. Reads input below the compositor, so there's no desktop it doesn't support.
Key release to text on a laptop with no GPU. The model stays warm in a daemon.
Transcription is on-device. The daemon runs with no network namespace at all. Privacy is guaranteed.
A window with the on/off switch, your microphone, and the last few things it heard. Every setting is at one place.
One command removes every file, rule, and group change. Including the ones the installer made.
A small daemon runs as you — never as root — and keeps a speech model loaded in memory. Holding the hotkey starts recording; releasing it hands the audio straight to the model and puts the result into the window you're already typing in.
Keeping the model warm is the whole reason it's a daemon rather than a script. Loading it per utterance is what makes every other project feel slow.
$ curl -fsSL https://sensor.filamentplatform.com/install.sh | sh
Ubuntu 24.04 and Debian, x86-64 · Read the script first · or download the .deb
The script does not install anything itself. It checks your
architecture, downloads the .deb from GitHub Releases,
verifies it's a real package, and hands it to apt. Apt
does the installing, which is exactly what lets apt undo it later.
Then log out and back in once. That's unavoidable:
group membership only reaches a session at login, and sensor needs to
be in input and uinput to see your hotkey and
type for you.
First launch downloads the speech model (~75MB) once. After that, nothing touches the network again.
$ sudo apt purge sensor
Removes the binaries, the udev rule, the systemd unit, the model, your settings, and the group memberships the installer added. Nothing is left behind.
Then everything will be gone.
I hate software that leaves a mess behind. sensor is not that.
Hold Right Alt + ., speak, release.
This is the default hotkey. You can pick from other preset options or set your own hotkey with the terminal command sensorctl keys.
The text goes into whatever window has focus. A browser, an editor, a chat box, a terminal. They should all work.
Open sensor from your applications. Everything is in one small window: the on/off switch and what state the daemon is in, your hotkey, your microphone, the model in use, and the last few things it heard.
Those recent transcriptions live in memory only. Nothing is written into your disk ever.
sensorctl setup — download the model, enable the daemonsensorctl keys — bind any key or chord by pressing itsensorctl config — show your settings and where they livesensorctl doctor — check what's working and what isn't
sensorctl keys exists because no hotkey is safe on every
keyboard. Laptops fold the function row into an Fn layer, and 2024+
models replaced right Ctrl with a Copilot key. Pressing the key you
want is more reliable than guessing its name.
tiny.en.Ctrl+Shift+V instead of Ctrl+V. Wayland won’t tell an app which window has focus, so sensor can’t switch by itself — set Where you type in the settings window.sensor reads every keystroke and can synthesise keystrokes. That's inherent to any global-hotkey tool on Linux, and you would want to know exactly what it does before you install it.
| Path or change | What for |
|---|---|
| /usr/bin/sensord /usr/bin/sensorctl | The daemon and the CLI. |
| /usr/lib/udev/rules.d/ | Grants the input and uinput groups access to the device nodes. |
| /usr/lib/modules-load.d/ | Loads the uinput kernel module at boot. |
| /usr/lib/systemd/user/ | Runs the daemon as you, never as root. |
| group membership | Adds you to input and uinput. Recorded, so removal reverses only what was added. |
| ~/.local/share/sensor/ | The speech model, downloaded once (~75MB). |
| ~/.config/sensor/config | Your settings. |
Wayland deliberately forbids applications from reading global keys or
injecting keystrokes, and the protocol some tools use for it is refused
by GNOME outright. Reading /dev/input and writing
/dev/uinput sits below the compositor, which is why it
works on GNOME, KDE, X11 and a bare tty alike.
The daemon's systemd unit sets PrivateNetwork=yes. It
has no network namespace.
It's a user service. Group membership is what grants device access, not privilege.
No transcript log, no history file. Recent speeches live in memory and disappear when the daemon stops.
There is minimal dependency on other services or libraries.
The project is MIT licensed and on
GitHub.
The parts worth reading first are the packaging scripts —
packaging/debian/postinst and postrm —
because they're what actually changes your system.