NovaVoice is a local voice-to-text dictation tool designed to convert spoken words into text efficiently. It enables users to hold a key (Right Ctrl by default), speak, and have the transcribed text appear in the currently focused window, all without relying on cloud services or GPU acceleration.
Key Features:
Offline operation powered by faster-whisper running on CPU.
Cross-platform support for Linux, macOS, and Windows.
Configurable hotkey (default Right Ctrl on Windows) to initiate dictation.
Text injection into any application that accepts keystrokes.
Customizable settings, including model selection and audio parameters.
Audience & Benefit:
Ideal for productivity-focused users who need quick text input across applications such as browsers, terminals, IDEs, or chat apps. NovaVoice offers a privacy-friendly solution with local processing, ensuring data remains secure and accessible only to the user.
Installation is available via winget on Windows, making it easy to integrate into your workflow while maintaining efficiency and simplicity.
README
NovaVoice
Local, offline voice dictation for Linux, macOS, and Windows. Hold a key, speak, release — the transcribed text appears in whatever app is focused. No cloud, no GPU.
Hold the dictation key (>0.5s) → speak → release → text appears
Powered by faster-whisper (CPU/int8). Works in browsers, terminals, IDEs, chat apps — anywhere the OS lets keystrokes reach the focused window.
Supported platforms
OS
Hotkey default
Install
Status
Linux
Space
apt / snap / PPA / pipx / .deb / installer
Stable
macOS
Right Option
.dmg (Homebrew Cask coming)
Developer preview (unsigned)
Windows
Right Ctrl
.exe installer (winget coming)
Developer preview (unsigned)
> Why Right Ctrl on Windows, not Right Alt? On many international layouts Right Alt acts as AltGr — used to type @, €, {}, [], \, ~, etc. Hijacking it would break normal typing. Right Ctrl is rarely used for typing, so it's the safer default. Every platform's hotkey is configurable in config.toml.
Quick install
One-line install on every major OS:
# macOS — via Homebrew tap
brew tap novafabric/novavoice && brew install --cask novavoice
# Windows — via winget (pending PR review at microsoft/winget-pkgs#371427)
winget install NovaFabric.NovaVoice
# Linux — via the apt repo
bash <(curl -fsSL https://raw.githubusercontent.com/novafabric/novavoice/main/install.sh)
# Cross-platform fallback — pip
pipx install novavoice
If a one-liner above doesn't fit your environment, pick from the platform sections below.
macOS — alternatives
# Direct .dmg download (no Homebrew needed)
# https://github.com/novafabric/novavoice/releases/latest
# Open the .dmg, drag NovaVoice.app into /Applications, right-click → Open the first time.
Windows — alternatives
# Direct .exe download
# https://github.com/novafabric/novavoice/releases/latest
# Click "More info → Run anyway" if SmartScreen warns.
Every platform-specific surface (keyboard hook, text injection, autostart, IPC, paths, permissions, tray) lives behind a single Protocol-based abstraction in src/novavoice/platform/. Adding a fifth platform is a matter of writing one more sub-package.
Remote voice forwarding (v0.3.0)
Local machine Remote machine
───────────────────────────────────── ──────────────────────
microphone → daemon → transcript ──SSH──▶ novavoice-agent → injector
tunnel (types into remote app)