Skip to content

Real time, privacy first, low latency push to talk using Parakeet fully on device with Tauri and ORT.

License

Notifications You must be signed in to change notification settings

gptguy/silentkeys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ—οΈ SilentKeys

Real-time, fully offline desktop dictation.

macOS-first, with experimental Linux and Windows builds.
Fast, private, and small. No cloud, no telemetry.

Platform Built with Rust UI - Tauri v2 Frontend - Leptos Speech Engine - Parakeet License - MIT GitHub stars publish

SilentKeys Screenshot


πŸ“‹ Table of Contents


πŸ’‘ 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.

  1. Global Hook: A lightweight Rust daemon listens for the configurable push-to-talk shortcut.
  2. Audio Capture: Captures high-fidelity audio from the system microphone using low-latency buffers.
  3. Inference: Audio chunks are processed by the Parakeet model via ONNX Runtime.
  4. Streaming: Silero VAD detects phrase boundaries to stream accurate partial transcripts.
  5. Virtual Typing: The Enigo crate 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

  1. Start Dictation: Press βŒ₯Z (Option+Z) to begin.
  2. Speak: Speak normally; text will appear in your active application.
  3. 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:

  1. Xcode Command Line Tools: xcode-select --install
  2. Rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  3. WebAssembly Target: rustup target add wasm32-unknown-unknown
  4. Trunk: cargo install trunk
  5. Tauri CLI: cargo install tauri-cli --locked

Then run:

cargo tauri build

πŸ› οΈ Roadmap

Core

  • 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

About

Real time, privacy first, low latency push to talk using Parakeet fully on device with Tauri and ORT.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published