Note: This project is no longer actively maintained.
Local voice-to-text for macOS Apple Silicon. Press a hotkey, speak, and the transcription is pasted at your cursor.
Runs entirely on-device using MLX — no cloud APIs, no subscriptions.
| Welcome & Setup | Advanced Settings | Waveform Overlay |
|---|---|---|
![]() |
![]() |
![]() |
- Fast local transcription — Parakeet TDT 0.6b via MLX (~70x realtime)
- Global hotkey — Option+Space to toggle recording (rebindable)
- Auto-paste — transcribed text goes straight to your cursor
- Waveform overlay — shows recording status without stealing focus
- Configurable — colors, opacity, hotkey, overlay size via settings UI or YAML
- System tray — lives in your menu bar with live status, memory usage, and quick access to settings
- macOS on Apple Silicon (M1/M2/M3/M4)
- Python 3.10+
- uv (recommended — manages Python and dependencies)
uv syncTo also install Whisper support:
uv sync --extra whisperBuild a native menu-bar app (recommended — gives TinyWhisper its own identity for macOS permissions):
uv sync --no-editable # required — editable installs trigger a Documents TCC prompt
uv run build_app.py
cp -r TinyWhisper.app /Applications/ # optional
open TinyWhisper.appOr use the all-in-one setup script to install, build, and launch with animated progress:
./setup.shuv run tinywhisper # run from terminal
# or
open TinyWhisper.app # run as native app- Grant Input Monitoring, Accessibility, and Microphone permissions when prompted
- Press Option+Space to start recording
- Speak, then press Option+Space again
- Transcription is pasted at your cursor
Right-click the menu bar icon for settings, audio device selection, config file, and status info.
Settings are stored at ~/.config/tinywhisper/config.yaml. You can edit via the tray menu (Settings or Open Config File) or manually:
hotkey:
modifier: "option" # option, ctrl, cmd, shift
key: "space" # space, tab, f1-f12, etc.
transcription:
engine: "parakeet" # or "whisper"
parakeet:
model: "mlx-community/parakeet-tdt-0.6b-v3"
whisper:
model: "mlx-community/whisper-large-v3-turbo"
recording:
sample_rate: 16000
channels: 1
device: null # audio input device name, or null for system default
overlay:
enabled: true
width: 300
height: 60
opacity: 0.85
color: "#FF6B6B"
bg_color: "#1E1E1E"| Engine | Model | Speed | Memory |
|---|---|---|---|
parakeet (default) |
Parakeet TDT 0.6b v3 | ~70x realtime | ~600 MB |
whisper |
Whisper Large V3 Turbo | ~15-20x realtime | ~1.5 GB |
Models are downloaded from HuggingFace on first run and cached locally.
MIT



