Private Transcription on Your Own Computer with Whisper
Note: Some future links on this site may be affiliate links. We never claim hands-on testing; guides are researched from the public sources listed in each article.
How we wrote this: A how-to based on the official Whisper and whisper.cpp project pages and the Whisper model card (linked below). We have not measured transcription accuracy or speed ourselves. Commands change, so check the project pages before relying on them.
Cloud transcription is convenient, but it means uploading the audio. If you record client calls, interviews or dictation, a local speech-to-text model keeps the audio on your own machine. The best-known option is Whisper, a speech recognition model that OpenAI released as open source.
What Whisper is
The project page describes Whisper as a general-purpose speech recognition model that can also translate speech and identify the spoken language. Its code and model weights are released under the MIT License, which allows commercial use.
Pick a model size
Whisper comes in several sizes. The project page lists approximate memory needs (as VRAM, for the Python version):
| Size | Parameters | English-only version | Approx. VRAM | Relative speed (vs. large) |
|---|---|---|---|---|
| tiny | 39M | tiny.en | ~1 GB | ~10x |
| base | 74M | base.en | ~1 GB | ~7x |
| small | 244M | small.en | ~2 GB | ~4x |
| medium | 769M | medium.en | ~5 GB | ~2x |
| large | 1550M | n/a | ~10 GB | 1x |
| turbo | 809M | n/a | ~6 GB | ~8x |
The page notes that the English-only .en models tend to do better for English, especially at the tiny and base sizes. turbo is an optimized version of large-v3 that is faster with minimal accuracy loss, but it isn't trained for translation. Use a multilingual model such as medium or large if you need to translate into English.
Two ways to run it
1. The original Python package. The Whisper README installs it with pip install -U openai-whisper and also requires the ffmpeg command-line tool. Then:
whisper meeting.mp3 --model turbo
Add --language Spanish (or another language) when you know what's being spoken.
2. whisper.cpp. whisper.cpp is a C/C++ reimplementation with no dependencies. Its README describes Apple Silicon as a first-class target (Metal and Core ML) and lists support for NVIDIA, AMD and Vulkan GPUs as well as CPU-only use. It's MIT-licensed too. The README's memory table is much lighter than the Python version's:
| Model | Disk | Memory |
|---|---|---|
| tiny | 75 MiB | ~273 MB |
| base | 142 MiB | ~388 MB |
| small | 466 MiB | ~852 MB |
| medium | 1.5 GiB | ~2.1 GB |
| large | 2.9 GiB | ~3.9 GB |
The quick start downloads a model (for example sh ./models/download-ggml-model.sh base.en), builds the project with CMake, and runs whisper-cli. One catch from the README: the basic whisper-cli example reads 16-bit WAV files, so convert other audio first, for example ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav.
Accuracy and responsible use
The Whisper model card is candid about limits:
- Whisper can hallucinate, producing text that wasn't spoken, and sometimes repeats itself.
- Accuracy varies by language, accent and dialect.
- The authors caution against transcribing recordings of people taken without their consent, and recommend against use in high-risk decision-making.
In practice: treat a transcript as a draft, and check names, numbers and anything you'll act on against the audio. If you record phone calls, our guide to call recording consent covers the one-party and all-party rules.
Hardware
Small and base models run on most recent laptops. Larger models are faster with a supported GPU or Apple Silicon. If you're choosing a machine that will also run chat models, Private AI Computer's Mac vs. PC for local AI guide covers the trade-offs.