Dicto - Push-to-Talk Dictation for macOS

Dicto - Push-to-Talk Dictation for macOS

🚧 Work in Progress

Free, open-source push-to-talk dictation for macOS — hold a hotkey, speak, release, and cleaned-up text appears wherever you're typing

About This Project

Dicto is an open-source alternative to apps like Wispr Flow. Hold a hotkey, speak, and release — Dicto transcribes your speech, cleans it up, and pastes the result into whatever app you're using. It runs entirely on-device by default using whisper.cpp with CoreML acceleration on Apple Silicon, so your audio never leaves your Mac. For higher-accuracy cloud models, you can optionally bring your own API keys (Groq, OpenAI, or Anthropic).

Key Features

  • Push-to-talk hotkey — hold any key chord, including modifier-only chords like Right Option or Fn
  • Local Whisper by default, so your audio never leaves your Mac
  • Optional bring-your-own-key support for Groq, OpenAI, and Anthropic cloud models
  • Smart cleanup that strips filler words, fixes capitalization, and adds punctuation
  • Apple Intelligence on-device LLM cleanup on macOS 26+
  • Floating recording indicator while the hotkey is held
  • Custom vocabulary to bias Whisper toward your jargon and names
  • Text replacements and a searchable history of recent transcripts
  • Privacy-first — no telemetry, no accounts, API keys stored in the macOS Keychain

Challenges & Solutions

  • Capturing global hold-to-talk hotkeys reliably via a custom CGEventTap
  • Injecting transcribed text into other apps using CGEvent and NSPasteboard
  • Running whisper.cpp efficiently on-device with CoreML acceleration
  • Balancing local privacy with optional cloud accuracy through a BYOK model
  • Shipping an unsigned macOS app and guiding users through Gatekeeper

What I Learned

  • 💡Building native macOS apps with Tauri v2 and a Rust backend
  • 💡Real-time audio capture and resampling with cpal
  • 💡Integrating on-device speech models via whisper-rs
  • 💡Designing a privacy-first architecture with no telemetry or cloud sync
  • 💡Packaging and distributing desktop software outside the App Store
Dicto - Push-to-Talk Dictation for macOS — Manish Goyal