Local speech-to-text using Whisper with global hotkey support. Records audio from the microphone, transcribes, and copies to clipboard.
speech-to-text/
├── stt_daemon.py # Background daemon with global hotkeys (recommended)
├── stt_simple.py # Simple CLI tool (Enter to record)
├── start-stt.bat # Windows launcher for Finnish daemon
├── models/ # Downloaded models (git-ignored)
├── pyproject.toml # Python dependencies (uv)
└── docs/
└── stt-setup.md # Setup and troubleshooting guide
uv venv
uv syncRun once, use from anywhere:
start-stt.bat
# or manually:
.venv\Scripts\activate
python stt_daemon.py --finnishHotkeys:
Ctrl+Alt+S— Start/stop recording (copies to clipboard)Ctrl+Alt+D— Stop recording AND auto-paste
Options:
python stt_daemon.py --finnish # Finnish model, default hotkeys
python stt_daemon.py --finnish --hotkey "ctrl+alt+z" # Custom record hotkey
python stt_daemon.py --finnish --model large # Best accuracy
python stt_daemon.py --model base # Standard Whisper, auto-detect languageAuto-start with Windows:
- Create a shortcut to
start-stt.bat - Press
Win+R, typeshell:startup, Enter - Move the shortcut there
Manual recording with Enter key:
.venv\Scripts\activate
python stt_simple.py --finnishOptions:
python stt_simple.py # Standard Whisper, auto-detect language
python stt_simple.py --finnish # Finnish fine-tuned model
python stt_simple.py --finnish --model large # Best accuracy (needs 12GB+ VRAM)
python stt_simple.py --save-recordings # Save audio files
python stt_simple.py --continuous # Multiple recordings in one session| Size | Model | VRAM |
|---|---|---|
| tiny | Finnish-NLP/whisper-tiny-finnish | ~150MB |
| medium | Finnish-NLP/whisper-medium-finnish | ~1.5GB |
| large | Finnish-NLP/whisper-large-finnish-v3 | ~3GB |
Default for --finnish is medium. Models are downloaded once and cached in models/.
tiny, base, small, medium, large — downloaded automatically by openai-whisper.
- 100% local processing — no cloud uploads, no API keys
- All recordings stay on your machine
See docs/stt-setup.md for detailed setup and troubleshooting.