Skip to main content

Double-tap Control to dictate with Whisper. Transcribes and pastes to any text field. macOS only.

Project description

whisper-hotkey

Double-tap Control to dictate with Whisper on macOS. Transcribes your speech and pastes it into whatever text field is focused.

Uses faster-whisper (CTranslate2) with int8 quantization for fast local inference. No cloud APIs, everything runs on your machine.

Install

uvx whisper-hotkey install

This will:

  1. Ask you to choose a model (tiny.en for speed, or distil-large-v3 for accuracy)
  2. Download the model
  3. Request microphone and accessibility permissions
  4. Install a LaunchAgent so it starts automatically on login

Usage

After install, just double-tap the Control key to start recording. Double-tap again to stop — your speech is transcribed and pasted into the active text field.

That's it. It works across all apps, survives reboots, and runs in the background.

Commands

whisper-hotkey install    # Interactive setup (model, permissions, auto-start)
whisper-hotkey uninstall  # Remove auto-start
whisper-hotkey status     # Check if the service is running
whisper-hotkey             # Run the service directly (not needed after install)

Requirements

  • macOS (Apple Silicon or Intel)
  • Python 3.12+
  • uv (recommended) or pip

Models

Model Size Speed Accuracy
tiny.en (default) ~75MB Fastest Good for clear English
distil-large-v3 ~1.5GB Slower Better with accents/noise

Permissions

The app needs two macOS permissions:

  • Microphone — to record your voice
  • Accessibility — to detect the keyboard shortcut and paste text

The install command will prompt for these. If the shortcut doesn't work, check System Settings > Privacy & Security and make sure both your terminal and Python have Accessibility access.

Logs

tail -f ~/Library/Logs/whisper-hotkey/stdout.log
tail -f ~/Library/Logs/whisper-hotkey/stderr.log

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whisper_hotkey-0.1.2.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whisper_hotkey-0.1.2-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file whisper_hotkey-0.1.2.tar.gz.

File metadata

  • Download URL: whisper_hotkey-0.1.2.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.10

File hashes

Hashes for whisper_hotkey-0.1.2.tar.gz
Algorithm Hash digest
SHA256 24fcab758f89a22b79e3f56692034406e87fa2907e3ac6e53e0d3fe17ef00f7d
MD5 bf01bc64936a1fbfd2187f2eaf6c928f
BLAKE2b-256 7cf510149c61008a580052db05ee90079363aafe6d0f130b296e143f20bfd0ef

See more details on using hashes here.

File details

Details for the file whisper_hotkey-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: whisper_hotkey-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.10

File hashes

Hashes for whisper_hotkey-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 872d5cc44b78d3d2a30c12504c457e4f9eaf051429a742ecc5a15a4d74ea0446
MD5 b5671a233694eb9d6fb6a0049e29e5bd
BLAKE2b-256 ea6a97bab0930f8dad692ba2992f98b58076087a79d29d6676367a179e977ec5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page