Local, offline voice-to-text for Windows.
Press a shortcut, speak, and get text in your clipboard or pasted into your active app. No cloud calls for transcription, no accounts, no telemetry.
- Local-first speech recognition using
faster-whisper - Low-latency pre-buffered recording to avoid clipped first words
- Multiple trigger modes:
- Hold-to-talk
- Press-and-release to speak (auto-stop on silence)
- Wake word
- Optional mobile relay over local network (HTTPS + token)
- Windows installer includes packaged STT service (no Python needed on target machine)
offline speech to text, local whisper app, voice typing windows, dictation desktop app, hold to talk transcription, wake word transcription, private speech recognition
- Windows 10/11
- Microphone
- Approx. 200MB disk (app + model)
- Download the latest installer from GitHub Releases.
- Install and launch PromptFlux.
- On first run, the Whisper model is downloaded once.
Installer output filename:
PromptFlux Setup 0.1.0.exe
- Open PromptFlux.
- Open
Settings. - Choose trigger mode:
Hold To Talk (Hotkey)Press And Release (Hotkey)Wake Word
- Save with
Confirm. - Speak and receive text in clipboard or auto-paste mode.
- Press and hold hotkey to record
- Release to transcribe
- Tap hotkey once to start recording
- Speak naturally
- Recording stops automatically on silence (or max duration)
- Say configured wake phrase
- Recording starts automatically
- Stops on silence (or max duration)
PromptFlux supports system audio capture through WASAPI. Depending on your PortAudio/sounddevice backend, direct loopback on output devices may not be available.
If needed, choose a [Input Capture] style device (for example Stereo Mix, Voicemeeter Out, virtual cable) in settings.
File location:
%APPDATA%/promptflux/config.json
Common settings:
hotkeyforceEndHotkeytriggerModewakeWordwakeSilenceMswakeRecordMsoutputModecaptureSourcemicrophoneDevicesystemAudioDevice
Electron app (UI, hotkeys, clipboard, watchdog) communicates with a local Python STT service over localhost WebSocket.
See:
docs/ARCHITECTURE.mddocs/DECISIONS.md
- Node.js 20+
- Python 3.11+
cd electron-app
npm install
cd ../stt-service
pip install -r requirements.txt# Terminal 1
cd stt-service
python server.py
# Terminal 2
cd electron-app
npm startcd electron-app
npm run dist:win- Electron app:
electron-builder - STT service:
PyInstallerviastt-service/build_windows.ps1 - Final artifacts:
electron-app/dist/
- Transcription runs locally
- No cloud API for speech recognition
- WebSocket bound to
127.0.0.1
See SECURITY.md for full policy.
Please read:
CONTRIBUTING.mdCODE_OF_CONDUCT.md
This repository is licensed under GNU Affero General Public License v3.0.
- Full license text:
LICENSE - Commercial licensing notes:
LICENSE-COMMERCIAL.md
See ROADMAP.md.
- Bug reports: GitHub Issues
- Security reports: see
SECURITY.md