Skip to content
github-actions[bot] edited this page Sep 7, 2026 · 8 revisions

VoxCtrl Documentation

VoxCtrl is a high-performance, privacy-first voice-to-text dictation application and programmable voice input broker. All processing happens 100% on-device with zero telemetry or cloud dependencies.

Global shortcuts are registered with your desktop through the XDG GlobalShortcuts portal, so VoxCtrl does not read your keyboard and needs no permission setup at all. See Privacy & Security for exactly what it can see and how to verify it.


Wiki Index

Document Description
Overview What VoxCtrl does, key features, and design principles
Privacy & Security What VoxCtrl can see, what the installer touches, and how to verify both
Architecture System design, crate layout, data flow, concurrency model
Audio Pipeline Audio capture, device management, VAD, resampling
Speech Recognition Whisper engine, models, inference pipeline, post-processing
Routing Output targets, hotkey bindings, delivery types
Hotkeys Global shortcuts via the desktop portal, gestures, platform support
Text-to-Speech TTS engines, voice packs, playback
Integrations MCP server, DBus service, OpenAI-compatible LLM API, webhooks
UI & Windows Svelte frontend, overlay, settings
API Reference Tauri IPC commands and frontend events
Configuration All config files, schemas, and options
Installation & Setup Dependencies, building, running
Development Guide Dev environment, build system, crate structure
Windows Build Building VoxCtrl on Windows
Windows Port Plan Audit and phased plan for full Windows 11 parity
Windows Testing Hand to a Windows tester: install, what to try, how to send a log
Bug Reports What Settings → Bug Report collects, what it never collects, and the four ways to send one

Quick Summary

Microphone → Audio Capture → Whisper Inference → Post-Processing → Output Router
                                                                         │
                                               ┌────────────────────────┤
                                               │                        │
                                          Inject text            Clipboard/File/
                                          to window              HTTP/Webhook/Socket/
                                                                 DBus/MCP/Exec/Pipe

Tech Stack:

  • Frontend: Svelte 5 + Tailwind CSS 4 + Vite 5
  • Desktop Shell: Tauri 2 (Rust + WebView)
  • Backend: Rust (Tokio async), ~10 specialized crates
  • Speech: whisper.cpp (GGUF models, CPU/CUDA/Vulkan)
  • TTS: Piper (ONNX neural voices) + Espeak-ng fallback
  • Config: TOML + JSON, hot-reloadable

Clone this wiki locally