faster-whisper
Whisper transcription reimplemented on CTranslate2 — up to 4x faster than openai/whisper with 8-bit quantization on CPU and GPU.
About
faster-whisper is a reimplementation of OpenAI's Whisper automatic speech recognition model using CTranslate2, a fast inference engine for Transformer models. It loads the same Whisper weights (tiny through large-v3, plus distil-large-v3) but runs them through optimized CTranslate2 kernels with optional 8-bit quantization, delivering the same transcription accuracy with substantially lower latency and memory use. It is the standard pragmatic choice for Python transcription services, subtitle pipelines, and batch audio processing, and forms the transcription core of tools like WhisperX. Maintained by SYSTRAN, the company behind CTranslate2 and OpenNMT.
What it can do
- Reimplementation of OpenAI Whisper (tiny → large-v3, plus distil-large-v3) on the CTranslate2 inference engine — no PyTorch/Transformers overhead at runtime
- Up to 4x faster than openai/whisper at the same accuracy (vendor benchmark, see notes), with lower VRAM/RAM usage
- 8-bit quantization (int8) on both CPU and GPU for further speed/memory gains
- Batched transcription (`batch_size` parameter) for high-throughput GPU pipelines — vendor benchmark shows 13 min of audio in ~16s with int8 + batch_size=8 on an RTX 3070 Ti
- Built-in Silero VAD filter (`vad_filter=True`) to skip silence and reduce hallucination
- Word-level timestamps, language detection, and translate task support
- Accepts any CTranslate2-converted Whisper model from Hugging Face, including fine-tuned checkpoints converted with `ct2-transformers-converter`
Setup
Install from PyPI (Python 3.9+):
```bash
pip install faster-whisper
```
GPU (NVIDIA): the latest ctranslate2 releases support only CUDA 12 with cuDNN 9. Install the NVIDIA libraries first, e.g. pip install nvidia-cublas-cu12 nvidia-cudnn-cu12==9.*, or pin ctranslate2==3.24.0 for CUDA 11 setups.
Basic usage:
```python
from faster_whisper import WhisperModel
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
# or CPU with 8-bit quantization:
# model = WhisperModel("large-v3", device="cpu", compute_type="int8")
segments, info = model.transcribe("audio.mp3", beam_size=5)
print("Detected language '%s'" % info.language)
for segment in segments:
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
```
Note: segments is a generator — transcription runs as you iterate. Model weights download automatically from Hugging Face on first use.
Prerequisites
Python 3.9 or newer. For GPU acceleration: NVIDIA GPU with CUDA 12 and cuDNN 9 (newer CTranslate2 releases) — CUDA 11 requires downgrading ctranslate2. No PyTorch needed at runtime (CTranslate2 is standalone). Model weights (up to ~3 GB for large-v3) download from Hugging Face on first use, so outbound network access and disk space are required. No API key.
Use cases
Works with
Trust score — 9/10
Scored 9/10 (verified tier, metrics-v1). Evidence: 25,825 GitHub stars (log-scaled vs catalog peers); blended with ~9,614,222 monthly package downloads; last push 1d ago; 1 releases/12mo; 31 open issues. Manual review: 'up to 4x faster' is SYSTRAN's own benchmark; newest CTranslate2 requires CUDA 12 + cuDNN 9; no Metal/ROCm build. License: MIT.
★ 25,825 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 8.8/10
- Maintenance · recency, releases, issue load
- 8.2/10
- Openness · license + docs
- 10.0/10
- Manual review · sanity read + red-flag check
- 9.0/10
- · 25,825 GitHub stars (log-scaled vs catalog peers)
- · blended with ~9,614,222 monthly package downloads
- · last push 1d ago; 1 releases/12mo; 31 open issues
- · manual review: 'up to 4x faster' is SYSTRAN's own benchmark; newest CTranslate2 requires CUDA 12 + cuDNN 9; no Metal/ROCm build
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.