Key Takeaways
- Created by Guillaume Klein in March 2023; now maintained under SYSTRAN on GitHub.
- MIT license β free to use, modify, and redistribute, including commercially.
- Roughly 4x faster transcription than the original openai-whisper package, on the same hardware.
- Supports NVIDIA CUDA GPUs (float16/int8) and CPU (int8) compute types.
- Built-in Silero VAD (voice activity detection) filter to automatically skip silent segments.
- Latest stable release: v1.2.1, published October 31, 2025.
π In One Sentence
faster-whisper is a free, MIT-licensed Python reimplementation of OpenAI's Whisper speech-to-text model, created by Guillaume Klein and maintained under SYSTRAN, that uses the CTranslate2 inference engine to transcribe roughly 4x faster than the original implementation while using less memory.
π¬ In Plain Terms
It is a Python library you pip install to turn audio into text on your own machine, using the same Whisper models OpenAI trained but running them through a faster, more memory-efficient engine β no cloud API call needed, and it comes with automatic silence detection built in.
πNote: This review focuses on faster-whisper as a standalone tool: its history, installation, real Python code, licensing, and honest limits. For a head-to-head benchmark against whisper.cpp on Apple Silicon and NVIDIA GPUs, see the whisper.cpp vs faster-whisper comparison.
History: Who Built faster-whisper and Why
OpenAI released Whisper, its automatic speech recognition model, in September 2022 as an open-weight model distributed as a Python package (openai-whisper) built on PyTorch, which is straightforward to run but not optimized for inference speed or memory efficiency out of the box.
Guillaume Klein created faster-whisper in March 2023, publishing it under the SYSTRAN/faster-whisper repository. Klein built faster-whisper on top of CTranslate2, a C++ and Python inference engine for Transformer models originally developed within the OpenNMT machine-translation project, which SYSTRAN β a company with a long history in machine translation β has long invested in. CTranslate2 provides custom CUDA kernels, INT8/FP16 quantization, and fused operations that generic PyTorch inference does not apply by default.
The motivation was inference efficiency, not a new model. faster-whisper does not train or modify the Whisper model architecture β it loads the same OpenAI-trained weights, converted to the CTranslate2 model format, and runs them through a more heavily optimized execution path. The result reported by the project is up to roughly 4x faster transcription than the original openai-whisper implementation on the same hardware, with lower memory use from int8 quantization, and no measurable loss in accuracy for equivalent settings.
The project has grown into the most widely used CTranslate2-based Whisper wrapper. It added a built-in Silero VAD filter to automatically detect and skip silent audio segments, word-level timestamps, and batched inference support, while remaining focused on being a fast, drop-in-friendly library rather than a full application. It continues to be maintained under the SYSTRAN GitHub organization, with releases tracking new CTranslate2 versions and Whisper model updates.
Who created faster-whisper?
Guillaume Klein created faster-whisper in March 2023, building it on the CTranslate2 inference engine. The project is now maintained under SYSTRAN on GitHub.
What faster-whisper Actually Does
faster-whisper takes an audio file as input and produces a text transcript through the WhisperModel Python class, using a CTranslate2-converted version of a Whisper model to run inference significantly faster than the original PyTorch-based implementation.
- Fast batch transcription. Load a
WhisperModelonce and call.transcribe()on an audio file to get back a generator of timestamped segments and language-detection info. - Built-in voice activity detection (VAD). Setting
vad_filter=Trueruns a Silero VAD model before transcription to automatically strip silent stretches of audio, reducing wasted compute and hallucinated text on silence. - Multiple compute types. Choose
float16orint8_float16on GPU, orint8on CPU, trading a small amount of precision for lower memory use and higher speed. - Word-level timestamps. Passing
word_timestamps=Truereturns per-word timing information in addition to per-segment timestamps. - Batched inference. The
BatchedInferencePipelineclass processes multiple audio segments in parallel batches for higher throughput on longer files. - Multilingual transcription and translation. Like the underlying Whisper models, faster-whisper can transcribe in the source language or translate directly to English via the
task="translate"parameter.
Install and Run faster-whisper: Step by Step
This walkthrough installs faster-whisper via pip and runs a first transcription, using the syntax documented in the project's own README.
- 1Install faster-whisper.
Why it matters: Run `pip install faster-whisper` in a Python environment (Python 3.9+ is recommended). This installs the library along with its CTranslate2 dependency; no separate CUDA toolkit install is required for CPU use. - 2(GPU only) Confirm CUDA and cuDNN are available.
Why it matters: For GPU acceleration, you need a working NVIDIA driver and CUDA setup. faster-whisper relies on CTranslate2's GPU support, so if `device="cuda"` fails, check that `nvidia-smi` reports your GPU correctly before troubleshooting the Python side. - 3Load a model.
Why it matters: In Python, run `from faster_whisper import WhisperModel` then `model = WhisperModel("large-v3", device="cuda", compute_type="float16")`. Swap `"large-v3"` for `"tiny"`, `"base"`, `"small"`, or `"medium"` for a smaller, faster model, or `device="cpu"` with `compute_type="int8"` if you have no GPU. - 4Transcribe an audio file.
Why it matters: Run `segments, info = model.transcribe("audio.mp3", beam_size=5)`. This returns a generator of segments (not a list) β you must iterate over it to actually run the transcription. - 5Print the transcript.
Why it matters: Loop over the segments: `for segment in segments: print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))`. Each segment carries a start time, end time, and the transcribed text for that span. - 6(Optional) Enable VAD filtering.
Why it matters: Pass `vad_filter=True` to `.transcribe()` to automatically skip silent stretches of audio using the built-in Silero VAD model, which reduces wasted compute on long recordings with pauses. - 7(Optional) Get word-level timestamps.
Why it matters: Pass `word_timestamps=True` to `.transcribe()` to get per-word timing in addition to per-segment timing, useful for building subtitles or highlighting words as they are spoken.
Real Usage Examples
Beyond the basic install walkthrough above, these are common real-world usage patterns from the project's own documentation.
- BatchedInferencePipeline wraps a
WhisperModelto process multiple audio chunks in parallel, improving throughput on long files:from faster_whisper import BatchedInferencePipeline; batched_model = BatchedInferencePipeline(model=model). - distil-large-v3 compatibility. faster-whisper natively supports distilled Whisper variants like distil-large-v3 β load it the same way as a standard model name to trade a small amount of accuracy for roughly 6x faster inference.
from faster_whisper import WhisperModel
# GPU with float16 (fastest, needs CUDA + cuDNN)
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
# CPU with int8 (no GPU required, slower)
# model = WhisperModel("base", device="cpu", compute_type="int8")
segments, info = model.transcribe("audio.mp3", beam_size=5, vad_filter=True)
print(f"Detected language '{info.language}' with probability {info.language_probability:.2f}")
for segment in segments:
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
# Translate non-English speech directly into English text
segments, info = model.transcribe("french-audio.mp3", task="translate")
# Word-level timestamps for subtitles
segments, info = model.transcribe("audio.mp3", word_timestamps=True)
for segment in segments:
for word in segment.words:
print("[%.2fs -> %.2fs] %s" % (word.start, word.end, word.word))License and Cost
faster-whisper is licensed under the MIT License β the license file in the official repository permits free use, modification, and redistribution, including in closed-source and commercial products, with no royalty and no attribution requirement beyond keeping the license notice.
There is no paid tier, subscription, or license fee for faster-whisper itself. The only real costs are the hardware you run it on (or a cloud GPU instance if you choose to rent one) and, if you build a product on top of it, your own development time. There is no usage metering, no API key, and no vendor lock-in.
CTranslate2, the inference engine faster-whisper depends on, is also MIT-licensed, and the underlying Whisper model weights are separately licensed by OpenAI under MIT as well β so the full stack (runtime, inference engine, and model weights) is permissively licensed for commercial use.
Is faster-whisper free to use commercially?
Yes. faster-whisper is MIT-licensed, its CTranslate2 dependency is MIT-licensed, and the Whisper model weights it uses are also released by OpenAI under an MIT license. All three permit commercial use, modification, and redistribution without a fee.
What faster-whisper Is Not Good For
faster-whisper is a fast Python transcription library, not a full conversational-AI product or a Python-free deployment tool. It is the wrong tool for the following situations:
- Python-free or cross-platform binary deployment. faster-whisper is a Python library with a CTranslate2 native dependency β it is not designed to be a single, dependency-free binary the way whisper.cpp is. If you need to target a Raspberry Pi, an iOS app, or a WebAssembly page without a Python runtime, whisper.cpp is the better fit.
- Apple Silicon GPU acceleration. faster-whisper's CTranslate2 backend supports CPU and NVIDIA CUDA, but has no Apple Metal GPU acceleration path β on a Mac, faster-whisper falls back to CPU-only inference. PromptQuorum's benchmark found whisper.cpp with Metal acceleration meaningfully faster than faster-whisper on CPU-only on Apple Silicon.
- Speaker diarization ("who said what"). faster-whisper transcribes what was said but does not natively separate or label different speakers in a multi-person recording. For diarization, pair its transcripts with a dedicated tool, or use WhisperX, which layers diarization on top of Whisper transcripts.
- Zero setup for non-technical users. faster-whisper is a Python library aimed at developers building pipelines, not an end-user application with a graphical interface. Users who want a point-and-click transcription app should look at an application built on top of faster-whisper or whisper.cpp, or a hosted transcription service, instead.
Alternatives to faster-whisper
whisper.cpp
- Best fit:
- Python-free, cross-platform deployment β Apple Silicon, embedded devices, mobile
- License:
- MIT
WhisperX
- Best fit:
- When you need word-level timestamps and speaker diarization built on Whisper/faster-whisper
- License:
- BSD-2-Clause
insanely-fast-whisper
- Best fit:
- Maximum GPU throughput via Hugging Face Transformers and Flash Attention, on very recent GPUs
- License:
- Apache-2.0
OpenAI Whisper API
- Best fit:
- Teams that prefer a managed cloud API over self-hosting, in exchange for per-minute usage fees
- License:
- Proprietary (paid API)
Frequently Asked Questions
What is faster-whisper?
faster-whisper is a free, MIT-licensed Python reimplementation of OpenAI's Whisper speech-to-text model, created by Guillaume Klein and maintained under SYSTRAN, that uses the CTranslate2 inference engine to transcribe significantly faster than the original implementation.
Is faster-whisper free?
Yes. faster-whisper is MIT-licensed with no paid tier, subscription, or usage fee. Its CTranslate2 dependency and the underlying Whisper model weights are also MIT-licensed.
Do I need a GPU to run faster-whisper?
No. faster-whisper supports CPU inference via int8 quantization, though it runs fastest on an NVIDIA GPU with CUDA using float16 or int8_float16 compute types. It has no Apple Metal GPU acceleration path, so on a Mac it runs on CPU only.
How much faster is faster-whisper than the original OpenAI Whisper?
The project reports up to roughly 4x faster transcription than the original openai-whisper package on the same hardware, with lower memory use through int8 quantization, and no meaningful loss in accuracy for equivalent settings.
What is the difference between faster-whisper and whisper.cpp?
faster-whisper is a Python library built on CTranslate2, optimized primarily for NVIDIA GPU throughput inside Python pipelines. whisper.cpp is a pure C/C++ implementation with no Python dependency, built for portability across CPU, Apple Metal, CUDA, and embedded devices. See PromptQuorum's detailed benchmark comparison for platform-specific numbers.
Does faster-whisper support voice activity detection?
Yes. Passing vad_filter=True to .transcribe() runs a built-in Silero VAD model that automatically detects and skips silent segments of audio before transcription.
Can faster-whisper produce word-level timestamps?
Yes. Passing word_timestamps=True to .transcribe() returns per-word start and end times in addition to the default per-segment timestamps, useful for subtitle generation.
Does faster-whisper translate audio into English?
Yes. Passing task="translate" to .transcribe() transcribes non-English speech and translates it directly to English text, using the multilingual Whisper models' built-in translation capability.
Who maintains faster-whisper today?
The project was created by Guillaume Klein in March 2023 and is now maintained under the SYSTRAN GitHub organization. Its latest stable release is v1.2.1, published October 31, 2025.
Verdict
faster-whisper succeeds at its core goal: making OpenAI's Whisper model meaningfully faster and lighter on memory for Python developers, without changing what the model produces. Its CTranslate2 backend delivers roughly 4x the throughput of the original implementation, its built-in Silero VAD filter is a genuine practical convenience for real audio with silence, and its MIT license makes it safe to build commercial products on. It is free, well maintained, and produces the same transcription quality as upstream Whisper for a given model size. Where it is not the strongest choice is Python-free or Apple Silicon GPU-accelerated deployment β whisper.cpp's Metal support and dependency-free binary win there, as PromptQuorum's head-to-head comparison documents. For everyone building a Python speech-to-text pipeline on an NVIDIA GPU or CPU who wants speed without leaving the Python ecosystem, faster-whisper is a well-verified, no-cost starting point.
Sources
- faster-whisper on GitHub β official repository: README, install instructions, license, and release history.
- faster-whisper releases β version history, including v1.2.1 (October 31, 2025).
- faster-whisper LICENSE β MIT license text.
- CTranslate2 on GitHub β the inference engine faster-whisper is built on.
- OpenAI Whisper announcement β original 2022 release of the Whisper model.
