Real-time, fully offline desktop dictation.
macOS-first, with experimental Linux and Windows builds.
Fast, private, and small. No cloud, no telemetry.
- About
- Features
- Why SilentKeys?
- How It Works
- Quick Start
- Installation
- Roadmap
- Who Is This For?
- Contributing
- License
- Acknowledgments
SilentKeys is a local-first desktop dictation app that performs all audio capture and transcription locally on your machine. It is designed for everyday use on Apple Silicon Macs and remains under active development.
- Target Platform: macOS 14+ on Apple Silicon (M1/M2/M3/M4).
- Secondary Platforms: Intel macOS, Linux, and Windows builds are available via Cargo but are currently considered experimental.
- Resource Footprint (M-series Mac, release build):
- Binary Size: ~10 MB (native engine)
- Memory Usage: ~800β900 MB (with default quantized Parakeet model loaded)
Note
Status: Beta
Stable for everyday dictation on Apple Silicon Macs. Some features and configuration options are still evolving.
- π Real-time Dictation: Types text directly into any application as you speak.
- π Offline Only: Audio and transcripts never leave your device.
- π§ High-Quality Models: Uses NVIDIA's Parakeet models running on ONNX Runtime, optimized for Apple Silicon.
- π₯ macOS-First: Native feel with global push-to-talk, streaming output, and minimal latency.
- βοΈ Rust Core: Built for performance, low latency, and stability.
- πͺΆ Lightweight UI: Powered by Tauri v2 and Leptos (no Electron overhead).
- π‘οΈ Zero Telemetry: No analytics, tracking, or background network calls.
- π Open Source: MIT licensed and free to use.
Most dictation tools affect your privacy, transparency, or workflow. SilentKeys eliminates these compromises:
- Local Processing: All audio capture and transcription happen on-device.
- Transparency: The codebase is fully open source, allowing you to audit how your data is handled.
- Workflow Integration: Streams text into your existing tools (email, code editors, chat) without requiring plugins.
- Modern Stack: Built on Rust, Tauri, and ONNX Runtime for a lean, maintainable, and predictable application.
The speech engine uses Parakeet models via ONNX Runtime embedded in a Rust core.
- Global Hook: A lightweight Rust daemon listens for the configurable push-to-talk shortcut.
- Audio Capture: Captures high-fidelity audio from the system microphone using low-latency buffers.
- Inference: Audio chunks are processed by the Parakeet model via ONNX Runtime.
- Streaming: Silero VAD detects phrase boundaries to stream accurate partial transcripts.
- Virtual Typing: The
Enigocrate drives virtual keypresses to insert text into the focused window.
- macOS 14.0+ (Sonoma) recommended.
- Apple Silicon (M1 or newer).
- Rust Toolchain: Installed via
rustup.
# 1. Clone the repository
git clone https://github.com/gptguy/silentkeys
cd silentkeys
# 2. Run in development mode
cargo tauri devcargo tauri buildThe bundled application will be available at:
src-tauri/target/release/bundle/macos/SilentKeys.app
- Start Dictation: Press β₯Z (Option+Z) to begin.
- Speak: Speak normally; text will appear in your active application.
- Stop: Press the shortcut again (or stop speaking) to finish the session.
Preferences can be accessed via the UI to configure:
- Global Shortcut: Customize the hotkey.
- Streaming Mode: Toggle real-time text visualization (uses Silero VAD for phrase detection).
- Model Path: Manage the location of the ONNX model files (VAD model is auto-downloaded here).
Official signed DMG builds and a Homebrew tap will be available soon.
To build from source, ensure you have the following installed:
- Xcode Command Line Tools:
xcode-select --install - Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - WebAssembly Target:
rustup target add wasm32-unknown-unknown - Trunk:
cargo install trunk - Tauri CLI:
cargo install tauri-cli --locked
Then run:
cargo tauri buildCore
- Improve streaming behavior (VAD-based sequencing).
- Add local-only crash reporting (opt-in).
Performance
- Benchmark Parakeet vs. alternative ASR architectures.
- Optimize batching for long dictation sessions.
- leverage ONNX Runtime Execution Providers (CoreML, Metal).
Distribution
- Provide signed and notarized DMG releases.
- Create Homebrew tap (
brew install --cask silentkeys). - Implement automatic updates.
SilentKeys is private by default:
- No Cloud Services: All processing is local.
- No Analytics: No usage data or metrics are collected.
- No Auto-Updates: Release builds do not perform background checks.
- Offline Capable: Works entirely without an internet connection (after model download).
- Privacy-conscious professionals (legal, healthcare, journalism).
- Writers and creators who prefer voice drafting.
- Accessibility users seeking a robust, offline-capable dictation tool.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines on how to get started.
Licensed under the MIT License.
- Parakeet: State-of-the-art ASR models.
- ONNX Runtime: High-performance inference engine.
- Tauri: For the lightweight application framework.
- Leptos: For the reactive frontend.
SilentKeys
Dictation that stays on your machine.
