Local-first push-to-talk dictation for Ubuntu, powered by Whisper.
Hold a hotkey, speak, release it, and get recognized text in your clipboard without sending audio to a cloud API.
Voicium is a small Ubuntu desktop daemon for private voice dictation:
hold hotkey -> speak -> release -> local transcription -> clipboard -> paste anywhere
It is currently focused on Russian dictation, but uses Whisper-compatible multilingual models. Other languages can work when selected explicitly, while desktop post-processing is still Russian-oriented.
- Local Whisper transcription through
whisper.cppprofiles. - Global push-to-talk hotkey via
evdev. - Tray menu for microphone, hotkey, model, and paste settings.
- Clipboard support for Wayland and X11.
- Optional auto-paste with clipboard fallback.
- SQLite transcript history.
- Optional NVIDIA/CUDA acceleration with CPU fallback.
- Ubuntu
.debpackaging and systemd user service.
| Area | Status |
|---|---|
| Ubuntu 24.04 GNOME | Primary target |
| Wayland / X11 | Supported |
| Russian dictation | Primary workflow |
| Other languages | Available through explicit Whisper language/profile settings |
| macOS / Windows | Not supported |
Important limitation: the daemon always applies Russian post-processing. That is useful for commands
like запятая, точка, and новая строка, but Voicium is not yet a fully multilingual desktop
dictation app.
sudo apt update
sudo apt install -y \
ffmpeg \
pulseaudio-utils \
wl-clipboard \
xclip \
libnotify-bin \
gir1.2-gtk-3.0 \
gir1.2-ayatanaappindicator3-0.1 \
python3-giFor global hotkeys, add your user to the input group and log out/in:
sudo usermod -aG input "$USER"git clone <repo-url> voicium
cd voicium
uv sync --frozen
uv run voicium healthcheck
uv run voicium record-transcribe --duration 5 --lang ru
uv run voicium daemonManual daemon control:
uv run voicium start
uv run voicium stop
uv run voicium status./scripts/build-deb.sh
sudo apt install --reinstall ./dist/deb/voicium_0.1.0_all.deb
systemctl --user daemon-reload
systemctl --user enable --now voicium.serviceLogs:
journalctl --user -u voicium.service -n 100 --no-pagervoicium transcribe sample.wav --lang ru --profile small-q8_0
voicium record-transcribe --duration 5 --lang ru --keep-audio sample.wav
voicium audio inputs
voicium backend select --backend auto
voicium history list --limit 20| Profile | Runtime | Best for |
|---|---|---|
small-q8_0 |
whisper.cpp |
Default CPU quality/speed balance |
small |
whisper.cpp |
Better small-model quality |
medium-q5_0 |
whisper.cpp |
Balanced quality on stronger machines |
large-v3-turbo-q5_0 |
whisper.cpp |
Best multilingual quality currently wired into Voicium |
russian |
Hugging Face Transformers | Russian-only quality profile |
Download models explicitly when needed:
voicium models download small-q8_0
voicium models download medium-q5_0
voicium models download large-v3-turbo-q5_0
voicium models download russianModels are stored in ~/.local/share/voicium/models. The russian profile requires:
uv sync --extra transformersUser config lives at ~/.config/voicium/config.toml, or at
$XDG_CONFIG_HOME/voicium/config.toml when XDG_CONFIG_HOME is set.
voicium config showCommon keys:
[general]
language = "ru"
[hotkey]
key = "KEY_RIGHTCTRL"
[transcription]
backend = "auto"
model_profile = "small-q8_0"
runtime_mode = "small-q8_0"
[paste]
auto_paste = false
fallback_to_clipboard = true
[russian.replacements]
"опенкод" = "OpenCode"
"гитлаб" = "GitLab"Package installation and reinstallation do not overwrite user config.
uv sync --frozen
uv run ruff check
uv run ruff format --check
uv run pytest
uv build
./scripts/build-deb.shProject map:
src/voicium/ Python package
tests/ pytest suite
scripts/build-deb.sh Ubuntu package builder
resources/systemd/ systemd user service
docs/ design and release notes
AGENTS.md instructions for AI coding agents
Audio is transcribed locally by the selected runtime. Voicium does not add telemetry, analytics, or
remote logging. Model files may be downloaded from their upstream hosting locations when requested or
when a missing whisper.cpp model is needed.
Voicium is MIT licensed. Whisper model files and third-party runtime components are provided by their respective upstream projects and may have separate licenses.