whisperx
Time-Accurate Automatic Speech Recognition using Whisper.
What it is and what it does
WhisperX is a speech-to-text system that wraps OpenAI's Whisper model with improvements for timestamp accuracy and speaker identification. It uses batched inference via faster-whisper for speed, forced phoneme alignment via wav2vec2 for word-level timing precision, and pyannote-audio for speaker diarization—assigning speaker labels to segments of audio. The package includes voice activity detection to reduce hallucinations and supports multiple languages through language-specific alignment models.
It is designed for transcription workflows where accurate timing and speaker identity matter: meeting notes, podcast chapters, video subtitles, or research datasets. The main trade-off is a large dependency tree (torch, transformers, torchaudio, and others) and GPU memory requirements, though CPU-only and reduced-precision modes are available. Setup requires CUDA 12.8 for GPU use and a Hugging Face token for speaker diarization.
Use it for:
- Transcribe meeting recordings with speaker labels and accurate word timestamps for searchable meeting notes.
- Generate subtitle files (.srt) with precise timing and speaker identification for video content.
- Process podcast or interview audio to extract speaker segments and create chapter markers.
- Batch-process large audio datasets for research or content indexing with minimal GPU memory.
- Transcribe multilingual audio (supported languages: en, fr, de, es, it, and others via Hugging Face).
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
WhisperX performs fast automatic speech recognition with word-level timestamps and speaker diarization, using batched inference and forced phoneme alignment to improve accuracy over standard Whisper.
Yes, if you need word-level timestamps and speaker diarization for transcription. The package is actively maintained, permissively licensed, and popular (top 5000 PyPI). Install friction is low but dependency footprint is substantial (torch, transformers, etc.); ensure GPU memory or CPU fallback fits your deployment. No known vulnerabilities as of 2026-08-14.
Install
whisperx on PyPI
pip
pip install whisperxuv
uv add whisperxpoetry
poetry add whisperxInstalling whisperx
Before you install
Low friction installation via pip; 14 runtime dependencies including torch, torchaudio, and transformers mean a substantial download footprint. Active maintenance with recent releases; last commit 2026-07-13. Requires CUDA 12.8 for GPU acceleration or CPU fallback available.
License in practice
BSD-2-Clause permissive license allows commercial use, modification, and distribution with minimal restrictions—suitable for most production and research deployments.
Quickstart
pip install whisperx
import whisperx
device = "cuda"
audio_file = "audio.mp3"
model = whisperx.load_model("large-v2", device, compute_type="float16")
audio = whisperx.load_audio(audio_file)
result = model.transcribe(audio, batch_size=16)
print(result["segments"])
CUDA 12.8 required for GPU acceleration; CPU mode available but slower. Requires ffmpeg and Rust for some dependencies. Hugging Face token needed to enable speaker diarization.
Verify before relying
- Whether the 70x realtime speed claim applies to all model sizes or only large-v2 with specific batch settings.
- Memory requirements for different model sizes and batch configurations beyond the <8GB mention for large-v2.
- Whether all languages listed as supported via Hugging Face have been tested or are community-contributed.
Package facts
| License | BSD-2-Clause (permissive) |
| Python support | supports the current Python release (<3.14,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 14 — ctranslate2, faster-whisper, nltk, numpy, omegaconf, pandas, pyannote-audio, huggingface-hub, torch, torchaudio, torchvision, torchcodec, transformers, triton |
| Maintenance | actively maintained — 81 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,465,012/month — #3,877 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: whisperx-3.8.6-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
monotonic-alignment-searchFinds the most probable alignment between a…
permissive · top 15,000 on PyPI
SpeechRecognitionPerforms speech recognition and transcription…
permissive · top 5,000 on PyPI
whisper-timestampedAdds word-level timestamps and confidence…
copyleft · top 15,000 on PyPI
faster-whisperTranscribes audio to text using OpenAI's…
permissive · top 5,000 on PyPI
openai-whisperWhisper performs multilingual speech…
permissive · top 5,000 on PyPI
mlx-whisperRuns OpenAI's Whisper speech recognition models…
permissive · top 15,000 on PyPI
realtimesttRealtimeSTT converts speech from microphone or…
permissive · top 15,000 on PyPI
ResemblyzerResemblyzer generates a 256-value embedding…
permissive · top 15,000 on PyPI
speechmatics-batchAsync Python client for submitting audio files…
permissive · top 15,000 on PyPI
pywhispercpppywhispercpp provides Python bindings for…
permissive · top 15,000 on PyPI