
23.9k stars · BSD-2-Clause · v3.8.6 (2026-05-25) · Track this in Rising ↗
Whisper with a timecode on every word — the raw material for captions, chapters, blog posts and Shorts cuts.
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 22 Oct 2026, 5 days before this check.
Latest release v3.8.6 on 25 May 2026.
Public since December 2022, a little over 3 years.
24,859 stars and 2,504 forks.
9 commits and 6 new issues in the last 90 days.
120 contributors. 3 pull requests merged in 90 days.
No security policy file says how to report a problem. No published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 26 Oct 2026 from the repository on GitHub. Covered in Edition 2.
▶Repo detailsthe review · specs · pros & cons · install
What it does
It runs the Whisper speech model in batches on a faster backend, then force-aligns the result against the audio with a second model so each word carries accurate timing. Force alignment means matching the recognised words back to the exact moments they were spoken. It filters out silence first, which the README says reduces invented text. It can label speakers by using a separate model, and the command-line version writes subtitle files. There is also a Python interface for use inside a program. The README publishes two figures: about 70 times faster than real time with the large-v2 model in batches, and under 8 GB of graphics memory for that model at a beam size of 5. What it does not do is handle several people talking over each other, which the README says plainly, and it cannot align a word that is not in the alignment model's dictionary, so "2014." or "£13.60" come back with no timing at all.
Why it matters
Who it suits. Anyone recording spoken video or audio who needs the text afterwards, in any of the forms that text takes: captions, chapter marks, an article, a searchable page. It handles many languages, so two recordings in two languages become two transcripts with no typing. Skip it if a rough transcript is enough, because the plain Whisper models are far easier to install, and skip it if the material is several people interrupting each other, because that is the case the README says it handles badly.
Verdict. Worth one evening of setup, after which it stops being a decision. The licence is the best in this part: BSD 2-Clause, read from the file, copyright 2024 Max Bain, with no restriction on what is built from the output. Release v3.8.6 is dated 25 May 2026 and code landed on 26 September 2026, so it is current. Three honest warnings. A graphics card makes it comfortable and a small rented server almost certainly has none, so on a processor alone a long recording takes a long time. Speaker labelling needs an account token from the model host and acceptance of a model agreement, which is an extra hoop before anything runs. And the README's own list of unfinished work still includes word-level speaker labels, so the two best features do not yet meet.
Summary (Key Points)from the README
Key features
- Batched inference: Reaches 70x realtime transcription using whisper large-v2.
- Low GPU memory: The faster-whisper backend needs under 8GB of GPU memory for large-v2 with beam_size=5.
- Word-level timestamps: Uses wav2vec2 forced alignment, where plain Whisper gives utterance-level timestamps that can be off by several seconds.
- Speaker diarization: Labels speakers using pyannote-audio, and you can set min and max speaker counts.
- VAD preprocessing: Voice activity detection reduces hallucination and enables batching with no WER degradation, according to the README.
- Accelerated alignment: Installing Numba can speed up forced alignment by 30x to 100x, and the code falls back to PyTorch if Numba is absent.
- Multilingual alignment: Default alignment models cover en, fr, de, es and it, with many more languages via Hugging Face.
- Context options: The interleaved_context and condition_on_previous_context settings help with long audio and technical language.
- CPU and Mac support: Runs on CPU, which the README mentions for Mac OS X.
Ways to install
| Platform or method | What it needs | Effort |
|---|---|---|
| PyPI package (recommended) | CUDA toolkit 12.8 for GPU use; ffmpeg may be needed | Low |
| uvx | uv installed; CUDA toolkit 12.8 for GPU use | Low |
| Install from GitHub | Git; CUDA toolkit 12.8 for GPU use; ffmpeg and possibly Rust | Medium |
| Developer installation | Source checkout; ffmpeg and possibly Rust; intended for contributors | Higher |
Important
- CUDA requirement: GPU acceleration needs CUDA toolkit 12.8 installed before WhisperX; skip this on CPU-only setups.
- Diarization setup: Speaker diarization needs a Hugging Face read token and acceptance of the user agreement for the speaker-diarization-community-1 model.
- Unaligned words: Words containing characters outside the alignment model's dictionary, such as "2014." or "£13.60", get no timing.
- Language coverage: Languages without a default alignment model need a phoneme-based wav2vec2 model you must find and test yourself.
- Overlapping speech: The README says overlapping speech is handled poorly by both Whisper and WhisperX.
- Diarization quality: The README states that diarization is far from perfect.
- Output differences: Batched mode disables timestamps during Whisper inference, which can make output differ from OpenAI's Whisper.
- Development version: The GitHub and developer builds may contain experimental features and bugs; the README recommends the PyPI release for production.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- BSD 2-Clause, read from the file, with no commercial restriction on anything made from the output.
- A time on every word, which is a different capability from plain transcription rather than a better version of it.
- About 70 times faster than real time on the large model, by the project's own published figure.
- Overlapping speech is handled badly, which the README states, and speaker labelling is described there as far from perfect.
- Words the alignment dictionary does not contain, such as a number with a currency symbol, get no timing at all.
- Python with a deep-learning stack underneath it, and a graphics card is needed before the speed figures mean anything.
Runs on your Mac beside Camtasia, or as a queued job on the VPS.
python3 -m venv venv source venv/bin/activate pip install whisperx # Transcribe whisperx path/to/audio.wav # With speaker labels and highlighted words whisperx path/to/audio.wav --model large-v2 --diarize --highlight_words True # Processor only whisperx path/to/audio.wav --compute_type int8 --device cpu

