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.1.tar.gz (45.3 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.1-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: whisper_hotkey-0.1.1.tar.gz
  • Upload date:
  • Size: 45.3 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.1.tar.gz
Algorithm Hash digest
SHA256 3a8ec761c9b80a2424b67445c40be79f6b6df0fba3da1aa2dd6efd146ea83f61
MD5 16019c65a9214c40c3c2e68bfafe4af6
BLAKE2b-256 9e076dfbe6c94ad2561b5e51fb8f453dd33bda59cd1e523efc9e780793d1237d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whisper_hotkey-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2eb394321d71c76e7f5de9d926a85f07b2a7828d8530b27a37e622abf33c0897
MD5 36ea74ff144e9e7e18ca6e669980960e
BLAKE2b-256 0435a693edb1425646e4eb51d0c63a1819563f5a3848948bb4bd16b5d4cba28d

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