SpeakType
March 21, 2026 · View on GitHub
![]()
Fast, Offline Voice-to-Text for macOS
Press a hotkey, speak, and instantly paste text anywhere on your Mac.
What is SpeakType?
SpeakType is a privacy-first, offline voice dictation tool for macOS. Unlike online dictation services, everything runs 100% locally using OpenAI's Whisper AI model via WhisperKit. Support for Parakeet coming soon!
- Privacy First - Zero data leaves your Mac
- Lightning Fast - Optimized for Apple Silicon
- Works Everywhere - Any app, any text field
- Open Source - Audit every line of code yourself
Installation
Requirements
- macOS 13.0+ (Ventura or newer)
- Apple Silicon (M1+) recommended
- 2GB available storage (for AI models)
Download
- Download
SpeakType.dmg - Drag SpeakType to Applications
- Grant Microphone + Accessibility + Documents Folder permissions
- Download an AI model from Settings → AI Models
Press fn to start dictating.
Build from Source
git clone https://github.com/karansinghgit/speaktype.git
cd speaktype
make build && make run
Usage
- Press hotkey (
fnby default) - Speak your text
- Release hotkey
- Text appears!
Tips:
- Speak naturally - Whisper handles accents well
- Say punctuation: "comma", "period", "question mark"
- Best results with 3-10 second clips
Development
make build # Build debug
make run # Run app
make clean # Clean build
make test # Run tests
make dmg # Create DMG installer
Current Issues
⚠️ When loading a model for the first time / switching to another model, there is a startup delay of 30-60 seconds.
So the first transcription will appear ultra slow, but it will go back to instantaneous dictation right after it's warmed up.
Project Structure
speaktype/
├── App/ # Entry point
├── Views/ # SwiftUI interface
├── Models/ # Data models
├── Services/ # Core functionality
├── Controllers/ # Window management
└── Resources/ # Assets & config
Tech Stack
- Swift 5.9+ / SwiftUI + AppKit
- WhisperKit - Local Whisper inference
- KeyboardShortcuts - Global hotkeys
- AVFoundation - Audio capture
Contributing
- Fork & clone
- Create a branch:
git checkout -b feature/my-feature - Make changes and run
make lint - Submit a PR
License
MIT License - see LICENSE for details.
Credits
- WhisperKit by Argmax
- OpenAI Whisper
Made with ❤️ for developers
*Privacy-first • Open Source *