- Check model folder for required files (vocab.txt, encoder, decoder) - Download from Hugging Face when model missing - Auto-download on app start if path set but folder empty - Download button and progress in Settings UI Made-with: Cursor
2.0 KiB
2.0 KiB
HotKeet
Push-to-Talk dictation app with offline speech recognition. Hold hotkey = record, release = stop, transcribe, paste.
Overview
| Component | Description |
|---|---|
| HotKeet | GUI app: recording, transcription, text insertion via hotkey |
| parakeet-cli | CLI for Parakeet v3 Speech-to-Text (transcribe-rs) |
Quick Start
Prerequisites
- Rust (1.70+)
- parakeet-cli must be built and available (in PATH or configure path)
- Parakeet model (e.g.
parakeet-tdt-0.6b-v3-int8)
Build
# Build parakeet-cli first
cd parakeet-cli
cargo build --release
# Build HotKeet
cd ../HotKeet
cargo build --release
# or on Windows: build.cmd
First Steps
- Start HotKeet – runs in system tray
- Right-click tray icon → Settings
- Select parakeet-cli and model path via "Browse…" (or leave empty = default)
- Choose microphone
- Save
Default hotkey: Ctrl+Shift+D (hold = record, release = transcribe + paste)
Configuration
| Setting | Description |
|---|---|
| Hotkey | Global Push-to-Talk (e.g. Ctrl+Shift+D) |
| Input source | Companion app or microphone |
| parakeet-cli path | Empty = in PATH (default: parakeet-cli) |
| Model path | Empty = default path. If folder is empty or invalid, use "Download model" to fetch from Hugging Face |
| Paste method | Auto |
Storage location: %LOCALAPPDATA%\HotKeet\settings.json (Windows) or ~/.config/HotKeet/settings.json (Linux/macOS)
Platforms
| Platform | Status |
|---|---|
| Windows | ✅ Fully supported |
| Linux | ⚠️ Runs (Tray: libappindicator) |
| macOS | ⚠️ Runs |
Details: HotKeet/PLATFORM.md
Project Structure
HotKeet/
├── HotKeet/ # Dictation app (Rust, egui)
├── parakeet-cli/ # Transcription CLI (Rust, ONNX)
├── LICENSE # MIT
└── README.md