A minimal, clean speech-to-text menu bar application for macOS using OpenAI's Whisper. You can download the script here.
Features
- π€ Push-to-talk: Hold Option key to record, release to transcribe
- π Auto-clipboard: Transcribed text automatically copied to clipboard
- π Model selection: Switch between tiny, base, small, and medium models
- π― Clean & minimal: Simple interface, ~300 lines of code
Requirements
- macOS (tested on macOS 10.15+)
- Python 3.8 or higher
- Microphone access permissions
Installation and Usage
Copy the
whisper-push-to-talk.pysomewhereInstall uv and run:
uv run whisper-push-to-talk.py
Note: On macOS, you may need to install PortAudio first for PyAudio:
brew install portaudio
- Grant microphone permissions to Terminal/your Python app when prompted
The app will:
- Show a microphone icon (π€) in your menu bar
- Load the Whisper model in the background (first run may take a moment)
- Display "Ready" when ready to use
Recording
- Option key: Hold to record, release to transcribe, Text appears in clipboard β Ready to paste anywhere
- Click the menu bar icon β Model β Select your preferred model:
- tiny: Fastest, lowest accuracy (~1GB)
- base: Good balance (default, ~1GB)
- small: Better accuracy (~2GB)
- medium: Best accuracy (~5GB)
Quit
Click the menu bar icon β Quit
License
MIT License - Feel free to modify and distribute
Credits
Built with OpenAI's Whisper model for speech recognition.
Top comments (0)