silentkeys
silentkeys copied to clipboard
Real time, privacy first, low latency push to talk using Parakeet fully on device with Tauri and ORT.
ðïļ SilentKeys
Real-time, fully offline desktop dictation.
macOS-first, with experimental Linux and Windows builds.
Fast, private, and small. No cloud, no telemetry.
ð Table of Contents
- About
- Features
- Why SilentKeys?
- How It Works
- Quick Start
- Installation
- Roadmap
- Who Is This For?
- Contributing
- License
- Acknowledgments
ðĄ About
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.
âĻ Features
- ð 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.
ð Why SilentKeys?
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.
ð§Đ How It Works
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.
⥠Quick Start
Prerequisites
- macOS 14.0+ (Sonoma) recommended.
- Apple Silicon (M1 or newer).
- Rust Toolchain: Installed via
rustup.
Running Locally
# 1. Clone the repository
git clone https://github.com/gptguy/silentkeys
cd silentkeys
# 2. Run in development mode
cargo tauri dev
Building for Release
cargo tauri build
The bundled application will be available at:
src-tauri/target/release/bundle/macos/SilentKeys.app
ð Usage
- 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.
Configuration
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).
ðĨ Installation
Download
Official signed DMG builds and a Homebrew tap will be available soon.
Build from Source
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 build
ð ïļ Roadmap
Core
- [x] 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.
ð Privacy
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).
ð§âðĪâð§ Who Is This For?
- Privacy-conscious professionals (legal, healthcare, journalism).
- Writers and creators who prefer voice drafting.
- Accessibility users seeking a robust, offline-capable dictation tool.
ðĪ Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines on how to get started.
ðĄïļ License
Licensed under the MIT License.
â Acknowledgments
- 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.
⎠Back to Top