ubunatic.com

Linux voice input

voxi types what you say, as you say it.

High-quality speech-to-text dictation for Linux and Wayland, with continuous eager sentence streaming, physical modifier-key safety and direct typing into the active window. Audio stays on your machine; after a one-time model download, transcription runs locally on the CPU.

Key facts

12-week commit activity

2026-10-26
View 12-week data table
Week startingCommits
2026-08-030
2026-08-100
2026-08-1710
2026-08-2410
2026-08-3132
2026-09-07131
2026-09-1454
2026-09-21116
2026-09-28106
2026-10-0566
2026-10-1229
2026-10-1923

Key Features

  • Continuous local speech recognition with physical modifier gating and Wayland keystroke injection.
  • GNOME Shell recording controls and a terminal resource and latency monitor.
  • Purpose-based audio sample storage, transcript corrections, and resilient ASR doctor fallbacks.

Verified Engineering Milestones

  • Purpose-based sample store (#170)
  • Tested models catalog and crispasr bench runner (#133, #199)
  • Robust ASR doctor checks and self-healing fallbacks (#197, #198, 4e453ec)

Stack

Go 1.26.5, Cobra, YAML specs, Linux/Wayland, evdev, PipeWire/ALSA, systemd, dotool, crispasr/Cohere Transcribe, optional Whisper, JavaScript/CSS GNOME Shell extension

Voice input in action

Start dictation with a desktop shortcut. Voxi listens for speech, transcribes locally, and types each sentence into the active window.

Dictation that stays out of your way

Continuous eager streaming

A circular pre-roll buffer preserves the first sounds. Voxi segments speech on natural pauses and transcribes phrases in short bursts.

Hotkey-safe typing

Kernel-level monitoring detects held Ctrl, Alt, Super and Shift keys. Typed output is buffered while a modifier is down, preventing collisions with desktop shortcuts.

Local speech recognition

The default Cohere Transcribe model runs on your CPU through crispasr. Audio remains local; the model downloads once and then works offline.

Direct Wayland input

Voxi uses dotool for synthetic keystrokes, with clipboard fallback for layouts and applications that need it.

Live resource monitor

Inspect audio levels, transcription latency, hardware load and daemon health in a btop-style terminal dashboard.

Transcript corrections

Keep local replacement rules, stop words and silence artifacts to correct recognition without sending personal vocabulary anywhere.

Inspect every part of a dictation session

Start dictation from a keyboard shortcut

Bind voxi record toggle to any desktop shortcut. On GNOME, voxi shortcut setup configures the standard Super+X binding.

Install and start dictating

Install the latest Linux release and configure the user services with the project installer.

curl -fsSL https://ubunatic.com/voxi/install.sh | bash

Check the background agent, then toggle recording or open the live monitor.

systemctl --user is-active voxi-agent.service
voxi record toggle
voxi monitor --watch

Linux and Wayland components

Speech recognition
crispasr with Cohere Transcribe by default; optional local Whisper models
Audio capture
PipeWire (parec) or ALSA (arecord)
Keyboard input
dotool and dotoold, with wl-clipboard as fallback
Modifier gating
Optional voxi-modifierd system service for physical key state

Offline resilience and self-healing ASR

When an optional secondary machine used for speech recognition is offline, voxi falls back to local engines, voxi doctor --fix diagnoses and repairs the setup, and the agent switches back when the primary returns. Audio still only goes to your own hardware. Read the fallback resilience study and the sample store story.

Project details

Stack
Go 1.26.5, Cobra, YAML specs, Linux/Wayland, evdev, PipeWire/ALSA, systemd, dotool, crispasr/Cohere Transcribe, optional Whisper, JavaScript/CSS GNOME Shell extension
Milestones
Purpose-based sample store (#170) · Tested models catalog and crispasr bench runner (#133, #199) · Robust ASR doctor checks and self-healing fallbacks (#197, #198, 4e453ec)

Layer composition

Terminal
Cobra CLI, resource monitor, Braille energy sparklines
Desktop
Linux, Wayland, GNOME Shell, evdev, PipeWire/ALSA, systemd, dotool
Inference / AI
Local CPU ASR via crispasr/Cohere Transcribe; optional Whisper via CPU/Vulkan
Containers / VM
—
Web
JavaScript/CSS website

voxi: the story behind the project

Voxi started with a practical desktop problem: speaking a sentence is often easier than typing it, but dictation should feel immediate and should not send private audio to a cloud service by default. Voxi is a standalone Go application for…

Read the engineering story