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.3.tar.gz (45.5 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.3-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: whisper_hotkey-0.1.3.tar.gz
  • Upload date:
  • Size: 45.5 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.3.tar.gz
Algorithm Hash digest
SHA256 98c9769c5dacc7bbf1134c16d1fe74154a3ae9fbbe854988aa00556afc9c5bd5
MD5 2e23eb8c486fa24b9657286c574eafb7
BLAKE2b-256 2a4d59204afd6d4546fe4e724777bd102e26c0f0eb64b7c8a2a9d7bb1e3c07df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whisper_hotkey-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 10.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6c9d7240b5f30d20831312fd62238302c188feb2f48fe928608cd436b35cd78e
MD5 e33d52e88d76bc39f500b38b086fc913
BLAKE2b-256 ec8e55c79fe112e3aee7c8ed5aad0c258bf4a398541f32d5fc1092c24827e721

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