Whisper's Python environment occupied 5,700 MB in our sandbox, beside a repository checkout of just 10.4 MB. If you're choosing speech software for a local worker or a desktop feature, that difference deserves attention before the first recording arrives. OpenAI's reference implementation gives you a direct route into the models, with a larger operating footprint than the source tree suggests.
The repository provides command-line and Python interfaces for transcription, language identification, and speech translation into English. Its code and model weights use the MIT license. Recorded interviews and audio archives are sensible starting jobs. You still need to choose a checkpoint, accommodate the runtime, and decide who checks consequential words in the transcript.
What happened when we ran it
Our sandbox installed commit 8609812 in 63 seconds on 2026-10-12, recording 81 dependencies and 5,700 MB on disk. The build succeeded in 1 second. Pip-audit reported 0 known vulnerabilities. The source scan counted 45 files and about 4,315 lines, with 2 CI workflow files, a tests directory, and no Dockerfile.
The test command failed after 202 seconds with exit 137. Its supplied final lines read F........FFFF....FFFF....FFFFFFFF--- summary lines ---. That shows failure markers mixed with dots, followed by the supplied summary marker. It gives no completed pass/fail count, traceback, or diagnostic explanation. We cannot identify which cases failed or explain the process exit from this tail. In particular, it does not establish memory exhaustion or a dependency defect.
The recorded environment had 3 CPUs and 8 GB of RAM, with image label ghcr.io/astral-sh/uv:python3.12-bookworm. An image label alone does not verify an interpreter or operating-system version. Installation and build completed in that sandbox, but the suite did not produce a successful result. None of these measurements establishes transcription accuracy, audio processing speed, or behavior on your chosen hardware.
FFmpeg and model choice remain deployment decisions
The README requires the FFmpeg command-line program in addition to the Python package. It also warns that Rust may be necessary when tiktoken lacks a prebuilt wheel for the platform. Local inference needs a model checkpoint rather than a hosted API key. Account for those files and system tools when preparing an environment, rather than treating the pip command as the whole deployment.
Our 5,700 MB installed environment is the cost we can substantiate. The supplied record does not break that total down by package or model, so we cannot attribute the space to a particular dependency. The README's compatibility prose expects Python 3.8 through 3.11. Without the raw toolchain logs, we cannot establish whether our sandbox fell inside that range or use the range to explain the failed suite.
Turbo does not translate speech into English
The default command-line model is turbo, and the README explicitly says it was not trained for translation tasks. Even with --task translate, it returns the original language. A wrapper that exposes a translation button while always selecting turbo would therefore give users the wrong behavior despite accepting their request.
For speech translation into English, the README points to the multilingual models other than turbo and recommends medium or large for its best translation results. That recommendation comes from upstream, not a comparison we ran. Set the model and task together in your application, and check a known recording before assuming the same configuration covers both transcription and translation.
A finished transcript can contain words nobody said
OpenAI's model card warns that predictions can include text absent from the audio. It also describes repetitive output and uneven accuracy across languages, accents, and dialects. Those limits matter for an archive search feature: a plausible sentence can still send someone to the wrong conclusion about what a speaker said. Successful file generation does not validate the content.
Keep the recording available beside important passages and evaluate examples from your actual speakers and recording conditions. The model card recommends domain-specific evaluation before deployment and advises against high-risk decision use. It also says speaker classification and diarization have not been thoroughly evaluated. A meeting product needing dependable speaker labels therefore has another component and another evaluation to consider.
File transcription needs extra work for live captions
The README says transcribe() reads the entire file and processes audio through a sliding window. The model card explicitly says real-time transcription is unavailable out of the box. For recorded jobs, that interface is straightforward to place behind a queue. A live-caption feature still needs an application layer for incoming audio and partial results, with behavior you must assess separately.
If the runtime is the obstacle, faster-whisper uses CTranslate2 and documents quantized execution. Whisper.cpp provides a C/C++ implementation and CPU execution, with examples for native platforms. Its example CLI also has a WAV-format restriction, so changing runtimes brings different operating requirements. We did not compare their speed or accuracy against this run; use the same recordings and acceptance criteria when choosing between them.
August code activity continues into October pull requests
GitHub recorded the last push on 2026-08-31, while pull request 2891 was updated on October 18. That proposal addresses inconsistent language identifiers returned when a caller supplies a language name. It remains a proposal, so callers should not assume its fix is in the code they download. The latest GitHub release is v20250625, published on June 26, 2025; that older tag alone does not establish abandonment.
Pin the commit or release you evaluate, then keep a small set of recordings with checked transcripts alongside it. Include your ordinary accents and difficult names. Before committing to the Python implementation, require that set to produce acceptable text and obtain the missing failure details for the suite on your intended host.

