DEV Community

Cover image for Whisper Menu Bar
Vincent Botta
Vincent Botta

Posted on

Whisper Menu Bar

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

  1. Copy the whisper-push-to-talk.py somewhere

  2. Install uv and run:

   uv run whisper-push-to-talk.py
Enter fullscreen mode Exit fullscreen mode

Note: On macOS, you may need to install PortAudio first for PyAudio:

   brew install portaudio
Enter fullscreen mode Exit fullscreen mode
  1. Grant microphone permissions to Terminal/your Python app when prompted

The app will:

  1. Show a microphone icon (🎀) in your menu bar
  2. Load the Whisper model in the background (first run may take a moment)
  3. 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)