Introduction | Screenshots | Key-Features | Installation on Windows | Installation on MacOS | Updating | 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 clustering the Taskbar
- ⌨️ Clipboard Safe: Doesnt 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.
- 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). - 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.
-
Clone the repository (or download the ZIP file). Cloning will simplify the update later on.
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 full macOS installation instructions below.
-
Run the application, for headless operation on Windows, use
pythonwinstead of python -> No window will be shown on the Taskbar.python run.py # or pythonw run.py
This tool is fully functional on macOS but requires additional setup for microphone and hotkey access. For the best experience, creating a standalone App Bundle using PyInstaller is recommended. This allows you to grant the necessary Input Monitoring and Accessibility permissions in System Settings, ensuring seamless operation.
Known Issue: The hotkey-setting button in the UI is disabled on macOS to prevent a crash. To change hotkeys, please edit the input fields in the settings menu directly and restart the application for the changes to take effect.
-
Install PortAudio using Homebrew. This is necessary in any case.
brew install portaudio
-
Install the required Python packages - this will install the requirements. If you want to work with a isolated virtual environment, you can create one first and activate it.
# Create a virtual environment (optional but recommended) python3 -m venv venv source venv/bin/activate # Activate the virtual # Install the required packages (not optional) pip install -r requirements.txt
-
This is the recommended way on MacOS for proper permission Management: Create an App-bundle for easier access and separated Permissions-management:
- You'd need to install pyinstaller via pip:
# If you are using a virtual environment, make sure it is activated source venv/bin/activate # Install pyinstaller globally or in your virtual environment pip install pyinstaller
- Then under directory deploy,
chmod +x deploy_mac.shand run the script. The app icons are already prepared as Iconset for Usage under MacOS, so you should not need to worry about any details creating the app bundle.
./deploy_mac.sh
- In the
distfolder you'll find the AppBundle. Run it and grant access to the microphone and Input Monitoring when prompted.
-
Alternative to step 3, you could directly run from sources. This needs a workaround for permissions management:
-
Locate your default Python environment (it may be managed by pyenv or another tool). You can check with:
which python3
-
Add your Python interpreter and Terminal to the Accessibility permissions as well as the microphone permissions:
- Go to System Settings > Privacy & Security > Accessibility.
- Click the + button and add the path to your Python executable (from step 2).
- If you are using a virtual environment, add the path to the
pythonexecutable inside your virtual environment'sbindirectory. - Example path:
/Users/yourusername/.pyenv/versions/3.11.4/bin/python3
-
Start the application using your Python interpreter:
# Optionally activate your virtual environment if you created one source venv/bin/activate # If you created a virtual environment # Run the application python run.py
-
-
In any case, when using your configured hotkey for the first time, macOS will prompt for microphone access. Allow it.
To update the application, simply pull the latest changes from the repository if you've originally cloned it. If you downloaded the ZIP file, download the latest version and replace your old files with the new ones.
git pull origin mainOptionally if you run it as App Bundle under MacOS you can also run the deploy script again to update the app bundle:
# Optionally activate your virtual environment if you created one
source venv/bin/activate
# Navigate to the deploy directory and create a new app bundle
cd deploy
chmod +x deploy_mac.sh
./deploy_mac.shFeel free to contribute to this project! Whether it's fixing bugs, adding features, or improving documentation, your contributions are welcome.
Please follow the standard GitHub workflow: fork the repository, make your changes, and submit a pull request.


