Skip to main content

faster-whisper Hotkey

Ask DeepWiki

a minimalist push-to-talk style transcription tool built upon cutting-edge ASR models.

Hold the hotkey, Speak, Release ==> And baamm in your text field!

In the terminal, in a text editor, or even in the text chat of your online video game, anywhere!

Features

  • User-Friendly Interface: Allows users to set the input device, transcription model, compute type, device, and language directly through the menu.
  • CPU-friendly: parakeet-ultra gives instant transcription, on any CPU.
  • LLM correction: Optionally try to repair broken transcriptions text via any OpenAI-compatible API endpoint.

Current models

To help with choosing your model, you can look at AA-AgentTalk score.

CPU speed for a 40 s clip (best compute type per model, see Tips):

Model Engine Compute Time Speed
moondream/parakeet-ultra Photon float32 2.6 s 15.7×
Systran/faster-whisper (small) CTranslate2 int8 4.1 s 9.7×
ibm-granite/granite-speech-5.0-470m-turboctc-nc Transformers float32 4.7 s 8.4×
CohereLabs/cohere-transcribe-03-2026 Transformers float32 33.2 s 1.2×
ibm-granite/granite-speech-4.1-2b-nar Transformers float32 35.7 s 1.1×
Qwen/Qwen3-ASR-1.7B-hf Transformers float32 48.3 s 0.8×
ibm-granite/granite-speech-4.1-2b Transformers float32 55.2 s 0.7×
nvidia/canary-1b-v2 NeMo float32 55.7 s 0.7×
mistralai/Voxtral-Mini-3B-2507 Transformers — GPU only —

On GPU every model is super fast (all < 3.5 s for the same clip), so that's not particularly useful to benchmark that. But anyway, detailed evaluation results can be found in test_audio_data/transcription_results.md.

  • (NEW) moondream/parakeet-ultra:

    • 25 languages
    • Automatic language recognition
    • Transcription only
    • Post-trained version of nvidia/parakeet-tdt-0.6b-v3: same 0.6B architecture, but:
      • lower word error rate on every benchmark
      • 3x faster than nvidia/parakeet-tdt-0.6b-v3, thanks to Moondream's Photon engine
    • CPU/GPU (GPU is left as option, but there is no point using it... Anyway!)
  • Qwen/Qwen3-ASR-1.7B-hf:

    • 30 languages
    • Transcription only
    • Automatic language recognition
    • CPU/GPU
  • ibm-granite/granite-speech-4.1-2b:

    • 6 source languages (en, de, es, fr, ja, pt)
    • Transcription and translation (bidirectional to/from English, plus English→Italian and English→Mandarin)
    • No automatic language recognition
    • Punctuation and capitalization
    • CPU/GPU
  • ibm-granite/granite-speech-4.1-2b-nar:

    • 5 languages (en, de, es, fr, pt)
    • Transcription only
    • No automatic language recognition
    • No capitalization for proper nouns
    • CPU/GPU
  • ibm-granite/granite-speech-5.0-470m-turboctc-nc:

    • English only
    • Transcription only
    • No capitalization or punctuation in output --> LLM-correction can be helpful
    • CPU/GPU
  • CohereLabs/cohere-transcribe-03-2026:

    • 14 languages
    • Transcription only
    • Officially, no automatic language recognition, but it still works pretty great
    • CPU/GPU
    • Quite smart, deals well with hesitation and stutters
  • nvidia/canary-1b-v2:

    • 25 languages
    • Transcription and translation (bidirectional to/from English)
    • No automatic language recognition
    • CPU/GPU
  • mistralai/Voxtral-Mini-3B-2507:

    • 8 languages
    • Transcription only
    • Automatic language recognition
    • Smart (it even guesses when to put some quotes, etc.) and seems less error-prone for non English native speakers
    • GPU only
  • Systran/faster-whisper:

    • Many languages
    • Transcription only
    • CPU/GPU

Installation

see https://docs.astral.sh/uv/ for more information on uv. uv is fast :)

Requires Python 3.11.14

From PyPi

  • As a pip package:

    uv venv --python 3.11.14
    source .venv/bin/activate
    uv pip install faster-whisper-hotkey
    
  • or as an tool, so that you can run faster-whisper-hotkey from any venv:

    uv tool install faster-whisper-hotkey --python=3.11.14
    

From source

  1. Clone the repository:

    git clone https://github.com/blakkd/faster-whisper-hotkey
    cd faster-whisper-hotkey
    
  2. Install the package and dependencies:

  • as a pip package:

    uv venv --python 3.11.14
    source .venv/bin/activate
    uv pip install .
    
  • or as an uv tool:

    uv tool install .
    

Usage

  1. Run the tool using one of these methods:

    • If installed from PyPi or from source as a package/tool:

      faster-whisper-hotkey
      
    • Or using uv run (handles the venv and dependencies automatically):

      cd faster-whisper-hotkey
      uv run faster-whisper-hotkey
      
  2. Go through the menu steps.

  3. Once the model is loaded, focus on any text field.

  4. Then, simply press the hotkey (PAUSE, F4, F8 or INSERT) while you speak, release it when you're done, and see the magic happening!

When the script is running, you can forget it, the model will remain loaded, and it's ready to transcribe at any time.

Configuration File

The script automatically saves your settings to ~/.config/faster_whisper_hotkey/transcriber_settings.json.

Limitations

  • granite-nar: punctuation comes from the model, but capitalization is a post-processing pass (sentence starts + English "I"), so proper nouns like names stay lowercase.

  • granite-turboctc: no punctuation or capitalization in output (by design of the non-autoregressive architecture).

    Use the autoregressive granite variant if you need full capitalization, or the LLM correction option to fix proper nouns.

  • Using window type detection to send appropriate key strokes, we unfortunately can't see "sub windows". So for example, the VSCodium/VSCode terminal isn't supported for now. No clue if we can workaround this.

  • Windows supported is not planned. That said, you can use eutychius's branch which seems working fine. See this comment for instructions.

Tips

  • If you you pick a multilingual faster-whisper model, and select en as source while speaking another language it will be translated to English, provided you speak for at least few seconds.
  • If you pick parakeet-ultra, you can even use multiple languages during your recording!
  • For models whose weights are natively bfloat16 (the precision menu marks the native one), you can still pick float32: it upcasts the weights, which costs extra memory, but is far faster on CPUs without good native bf16 support. If your transcriptions are slow, try float32.

Bugs & Feature request

If you encounter any bug, please report it. If you use an agent to write it, please keep it concise and error/symtpom focused. I accept feature proposal, put that in Discussions. Though keep in mind I'd like to keep this tool minimal. So that should be more about QoL than exanding it. For example, you can propose to add the possibility to set different hotkeys to use LLM correction with custom, various prompts that would fit best the current context (agent, chat, mail, ...). That could could be a good feature to request.

Developers/Agents

Read dev/onboarding.md first: it has the setup, the architecture, and the gotchas you won't guess from the code. Only open PRs you can explain.

Acknowledgements

Many thanks to:

  • the developers of faster-whisper for providing such an efficient transcription inference engine
  • NVIDIA for their blazing fast parakeet and canary models
  • Moondream for parakeet-ultra and their Photon local inference engine
  • Mistral for their impressively accurate model Voxtral-Mini-3B model
  • Cohere for their cohere-transcribe-03-2026 model
  • IBM for their granite-speech models
  • Qwen for their Qwen3-ASR-1.7B model
  • and to all the contributors of the libraries I used

Also thanks to wgabrys88 and MohamedRashadthat for their huggingface spaces that have been helpful!

And to finish, a special mention to @siddhpant for their useful broo tool, who gave me a mic <3

Metadata

Release files for faster-whisper-hotkey 0.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for faster-whisper-hotkey 0.8.2
File Size Uploaded
faster_whisper_hotkey-0.8.2.tar.gz 75.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for faster-whisper-hotkey 0.8.2
File Interpreter ABI Platform
faster_whisper_hotkey-0.8.2-py3-none-any.whl Python 3 none any Details

Total release size: 116.9 kB

Release files / faster_whisper_hotkey-0.8.2.tar.gz

Download URL faster_whisper_hotkey-0.8.2.tar.gz
Size 75.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f8c82e72c0c5a50f7d7f73494cf81abe984b0b9451810d440b0de7d15862a0c6
BLAKE2b-256 checksum
How to use checksums
359e7f3e3c85b3f8fadf79d2f81d9b3a6c038259e1db0ac58a90599f4f6cea03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release files / faster_whisper_hotkey-0.8.2-py3-none-any.whl

Download URL faster_whisper_hotkey-0.8.2-py3-none-any.whl
Size 41.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0109787b4f31bc5c90dbfb88138f5cd99980541a176b50bb210484198f933373
BLAKE2b-256 checksum
How to use checksums
dbc79a39ebecf15b12b601270f22b5d30051464c491b8c281e028dac4597be78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.8.2 This release

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.0

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page