Introduction · Features · Screenshots · Installation · macOS · Updating · Development · Contributing
A powerful, cross-platform voice-to-text application that integrates seamlessly into your workflow. Use your voice to type, rephrase text, or even prompt AI models on-the-fly, all controlled by a simple hotkey and running discreetly in your system tray.
This tool is designed for developers, writers, and anyone who wants to leverage the power of AI to type faster and smarter.
- 🎤 Voice Typing: Transcribe your voice into any application with a single hotkey.
- 🚀 Live Voice Prompting: Turn your voice into AI commands on the fly (e.g. say: "
this is a prompt; write birthday wishes for my friend" and the AI will type it out for you) - ✍️ Preset-based Rephrasing: Go beyond transcription with custom presets for text-transformation (select text in any editable field and use your hotkey to rephrase it)
- 🔧 Custom APIs: Supports OpenAI, Groq, and many more...
- 🤫 Systray Icon: Runs quietly in the background without cluttering the taskbar
- ⌨️ Clipboard Safe: Doesn't hijack your clipboard
- Global Voice Typing: Transcribe your voice into any application with a single hotkey.
- AI-Powered: Supports OpenAI (Whisper, GPT models), Groq and any other Whisper-API with identical API-design for fast and accurate transcription and rephrasing.
- LivePrompting: A revolutionary feature! Use trigger words to turn your speech directly into a prompt for an AI, which then types out the result.
- Example: Speak
"prompt, write a short poem about rain"and the AI will type the poem for you (based on your rephrasing prompt)
- Example: Speak
- Context-Aware Rephrasing: Automatically use text you've highlighted on your screen as context for your voice prompts.
- Transcribe Audio & Video Files: Pick an existing audio file (or, with FFmpeg installed, a video file — MP4, MOV, MKV, …) from the tray menu; the audio track is extracted to a temporary 128 kbps MP3 and transcribed. Set the FFmpeg path (or leave it empty to auto-detect on your
PATH) on the Transcription settings page. - Clipboard Safe: Your clipboard is sacred. The app restores its previous content after pasting, so you never lose what you had copied. This is a major advantage over other tools that hijack your clipboard.
- Discreet Operation: Runs quietly in the system tray without cluttering your taskbar (e.g., using
pythonw.exeon Windows). - Self-Updating: When run from a cloned repo, a background watcher flags new versions with a green dot in the tray menu — one click updates and restarts the app.
- Full Customization:
- Customizable API endpoints, keys, models, and temperature settings for both transcription and rephrasing.
- Fine-tune transcription with custom prompts to improve accuracy for specific jargon or formatting.
- Adjustable microphone volume gain to boost input from quieter microphones, significantly increasing accuracy.
- Multi-Language UI: The application interface is available in English, German, Spanish, and French.
- Cross-Platform: Works on Windows, macOS, and Linux.
💡 Recommended: clone the repo and run straight from the sources. On Windows (and Linux) there is no need to build an .exe — the app runs perfectly from the Python sources, and a git clone unlocks the built-in self-update: WhisperTyper checks the repository in the background, shows a green dot on the tray menu's Update entry when a new version is available, and updates itself with one click. Alternatively, grab the ready-to-run ZIP from the latest release — but you lose the self-update. (On macOS an App Bundle is recommended instead — for permissions reasons, see the macOS instructions.)
-
Clone the repository:
git clone https://github.com/bjspi/WhisperTyper.git cd WhisperTyper -
Install the required Python packages:
pip install -r requirements.txt
Note for macOS users: See the full macOS installation instructions.
Optional — transcribe video files: Install FFmpeg to enable picking video files (MP4, MOV, MKV, …) for transcription. If it's on your
PATHit is detected automatically; otherwise set its path on the Transcription settings page. On Windows:winget install ffmpeg(orchoco install ffmpeg); on macOS:brew install ffmpeg; on Linux:sudo apt install ffmpeg. -
Run the application:
python run.py
Tip (Windows): start it with
pythonwinstead ofpythonand no console (CMD) window appears at all — the app then lives purely in the system tray:pythonw run.py
For a double-clickable launcher (e.g. as an autostart entry), drop this one-liner into a
start_hidden.cmdnext torun.py:start "WhisperTyper" /B pythonw.exe "%~dp0run.py" %*
macOS needs a few extra steps for microphone and hotkey permissions (ideally via an App Bundle). The full guide lives in docs/INSTALL_MACOS.md.
Running from a cloned repo (recommended): WhisperTyper keeps itself up to date. A background watcher periodically checks the repository and shows a green dot on the tray menu's Update entry when a new version is available — one click pulls the update and offers an immediate restart. No manual steps needed.
You can of course also update manually at any time:
git pull origin mainIf you downloaded the ZIP file instead, grab the latest release and replace your old files with the new ones.
If you run WhisperTyper as an App Bundle on macOS, see docs/INSTALL_MACOS.md for rebuilding the bundle after an update.
The codebase is organized in strict layers — a pure, fully unit-tested core
(app/core/), self-contained worker services, thin platform adapters, and a Qt
composition root. The layering, threading model and design decisions are documented in
docs/ARCHITECTURE.md.
# Dev setup
pip install -e ".[dev]"
# The same checks CI runs on Linux/Windows/macOS:
ruff check app tests run.py # lint
mypy app/core app/services app/audio app/hotkeys app/ui # strict type-check
pytest # 100+ headless testsEvery push is verified by GitHub Actions: lint (ruff), type-checks (mypy) and the test suite across Python 3.10–3.13 on all three platforms.
Feel free to contribute to this project! Whether it's fixing bugs, adding features, or improving documentation, your contributions are welcome — see CONTRIBUTING.md for the dev setup and ground rules.
Please follow the standard GitHub workflow: fork the repository, make your changes, and submit a pull request.
Released under the MIT License.
