Skip to content
,

How to Run Whisper Locally (2026): faster-whisper, whisper.cpp and Buzz Step by Step

9–13 minutes
Surprised woman in a home podcast studio holding a card with the OpenAI logo, text: Free transcripts, no cloud

Paying per minute to transcribe meetings, podcasts or YouTube videos adds up fast. OpenAI’s Whisper does the same job for free on your own PC, works offline, and keeps private audio off other people’s servers.

In this guide I show you four ways to run Whisper locally, from a no-code app to a Python script, which model to pick for your hardware, and how to fix the errors people hit most. Versions are checked as of November 2026.

TL;DR

  • No coding: install Buzz (free, MIT licence) on Windows, Mac or Linux, drop in a file, export TXT, SRT or VTT.
  • Fastest on NVIDIA: faster-whisper (pip install faster-whisper), up to 4x faster than the original with less VRAM.
  • Fastest on CPU and Mac: whisper.cpp (v1.9.5, Oct 2026) with whisper-cli and Metal or Core ML.
  • Best all-round model: large-v3-turbo (809M parameters, MIT). Use small on weak hardware.
  • Need speaker labels? Use WhisperX on top of faster-whisper.

Why Run Whisper Locally?

  • It is free: cloud speech-to-text costs about $0.006 to $0.024 per minute. Eight hours of meetings a week is roughly $12 to $50 a month.
  • Privacy: your audio never leaves your machine, which matters for interviews, medical notes or client calls.
  • Offline: once the model is downloaded, no internet is needed.
  • 99 languages: Whisper detects the language automatically and can translate speech to English.
  • No limits: no file size caps, no monthly quota.

The trade-off is setup time and hardware. A modern GPU transcribes an hour of audio in a few minutes; an older CPU can take longer than the audio itself with big models.

4 Ways to Run Whisper: Which One to Use

Tool Best for Needs GPU support Licence
Buzz Beginners who want a desktop app Installer only NVIDIA CUDA, Apple Silicon, Vulkan MIT
openai-whisper Simple command line, the reference version Python + FFmpeg + PyTorch NVIDIA (PyTorch) MIT
faster-whisper Speed on NVIDIA, Python scripts, batch jobs Python 3.9+, CUDA 12 + cuDNN 9 for GPU NVIDIA MIT
whisper.cpp CPU-only PCs, Macs, AMD and Intel GPUs, servers A C++ build or prebuilt binary CUDA, Vulkan, Metal, Core ML, ROCm MIT
Quick answer: Windows with an NVIDIA card, use faster-whisper (or Buzz if you hate the terminal). Mac, use whisper.cpp or Buzz. AMD or Intel GPU, use whisper.cpp with Vulkan.

Which Whisper Model Should You Download?

Bigger models make fewer mistakes but run slower and need more memory. The word error rates below are OpenAI’s English LibriSpeech figures; real-world audio with noise or accents scores worse.

Model Parameters English WER whisper.cpp file Memory (whisper.cpp) Use it for
tiny 39M 7.6% 75 MiB ~273 MB Voice commands, Raspberry Pi
base 74M 5.0% 142 MiB ~388 MB Quick drafts on old laptops
small 244M 3.4% 466 MiB ~852 MB Good default on CPU
medium 769M 2.9% 1.5 GiB ~2.1 GB Accuracy on mid-range hardware
large-v3 1.55B ~2.5% 2.9 GiB ~3.9 GB Maximum accuracy, hard audio
large-v3-turbo 809M close to large-v3 ~1.6 GB ~2 GB Best speed and accuracy balance
distil-large-v3 ~756M ~2.6% n/a ~4 GB (faster-whisper) English only, 6.3x faster than large-v3

Tip: models ending in .en (like small.en) are English only and slightly more accurate for English. Never use them for other languages.

large-v3-turbo cuts the decoder from 32 layers to 4, which is why it is so much faster. OpenAI’s model card notes a minor quality drop compared with large-v3, and translation quality was not evaluated, so use large-v3 when you need translation.

Method 1: Buzz (No Code, Any OS)

Buzz is a free, open-source desktop app built on Whisper. It transcribes files, YouTube links and live microphone audio, all offline.

  1. Download Buzz. Get the installer from the links on the chidiwilliams/buzz GitHub page. Windows and macOS (Apple Silicon only) builds are on SourceForge.
  2. Install it. On Windows the installer is unsigned, so click “More info” then “Run anyway”. On Linux use flatpak install flathub io.github.chidiwilliams.Buzz.
  3. Open a file. Click the plus or Import button and pick your MP3, WAV, MP4 or other audio and video file.
  4. Choose a model. Select Whisper.cpp or a Hugging Face Whisper model, then pick a size (start with small or large-v3-turbo). Buzz downloads it the first time.
  5. Pick the task. Choose Transcribe, or Translate to turn speech into English text. Leave language on auto-detect unless it guesses wrong.
  6. Export. When it finishes, export as TXT, SRT or VTT.

Note: Buzz also offers speaker identification, speech separation for noisy recordings and a watch folder that transcribes new files automatically. The last version for Intel Macs is 1.4.5.

Method 2: The Original openai-whisper

This is OpenAI’s own Python package. It is the slowest option, but it is simple and every tutorial on the web uses it.

  1. Install FFmpeg. Windows: winget install ffmpeg. Mac: brew install ffmpeg. Ubuntu: sudo apt install ffmpeg.
  2. Install PyTorch with GPU support (NVIDIA). Use the CUDA command from pytorch.org first, otherwise pip installs a CPU-only build.
  3. Install Whisper. Run pip install -U openai-whisper.
  4. Transcribe a file. Run whisper meeting.mp3 --model turbo. Add --language en to skip detection, or --task translate to translate to English.
  5. Find the output. Whisper writes .txt, .srt, .vtt, .tsv and .json files next to where you ran it. Use --output_format srt for just one type.

The first run downloads the model into ~/.cache/whisper (on Windows, C:\Users\you\.cache\whisper).

Method 3: faster-whisper (Python, NVIDIA)

faster-whisper re-implements Whisper on the CTranslate2 engine. Its README reports up to 4x the speed of openai-whisper at the same accuracy, with lower memory use. It does not need FFmpeg installed, because it decodes audio with PyAV.

Install

  1. Use Python 3.9 or newer. A virtual environment keeps things clean: python -m venv whisper-env, then activate it.
  2. Install the package. Run pip install faster-whisper.
  3. Add the CUDA libraries for GPU. The current version needs cuBLAS for CUDA 12 and cuDNN 9. The easiest way on Windows and Linux is pip install nvidia-cublas-cu12 nvidia-cudnn-cu12.

A complete transcription script

from faster_whisper import WhisperModel

model = WhisperModel("large-v3-turbo", device="cuda", compute_type="float16")
# 8 GB GPU: compute_type="int8_float16"
# No GPU:   WhisperModel("small", device="cpu", compute_type="int8")

segments, info = model.transcribe("meeting.mp3", beam_size=5, vad_filter=True)
print("Language:", info.language, round(info.language_probability, 2))

with open("meeting.txt", "w", encoding="utf-8") as f:
    for s in segments:
        line = "[%.2fs -> %.2fs] %s" % (s.start, s.end, s.text)
        print(line)
        f.write(line + "\n")

Warning: segments is a generator. Nothing is transcribed until you loop over it, so a script that never reads it finishes instantly with no output.

Go 4x faster with batching

For long files, the batched pipeline is the biggest speed win. On the README’s RTX 3070 Ti test it cut a 13-minute file from about 1 minute to 16 to 17 seconds.

from faster_whisper import WhisperModel, BatchedInferencePipeline

model = WhisperModel("turbo", device="cuda", compute_type="float16")
batched = BatchedInferencePipeline(model=model)
segments, info = batched.transcribe("podcast.mp3", batch_size=16)

Add word_timestamps=True to transcribe() for word-level timings, which is what karaoke-style captions need.

Method 4: whisper.cpp (CPU, Mac, Any GPU)

whisper.cpp is a C/C++ port of Whisper from the team behind llama.cpp. It is the best choice for CPUs, Apple Silicon and non-NVIDIA GPUs. The latest release is v1.9.5 (6 October 2026).

Build it

  1. Get the code. Run git clone https://github.com/ggml-org/whisper.cpp and cd whisper.cpp. Windows users can instead download a prebuilt zip from the Releases page.
  2. Build for your hardware. CPU and Mac: cmake -B build. NVIDIA: cmake -B build -DGGML_CUDA=1. AMD or Intel: cmake -B build -DGGML_VULKAN=1.
  3. Compile. Run cmake --build build -j --config Release.
  4. Download a model. Linux and Mac: sh ./models/download-ggml-model.sh large-v3-turbo. Windows: models\download-ggml-model.cmd large-v3-turbo.

Transcribe a file

whisper-cli only reads 16-bit WAV, so convert your file with FFmpeg first:

ffmpeg -i meeting.mp3 -ar 16000 -ac 1 -c:a pcm_s16le meeting.wav
./build/bin/whisper-cli -m models/ggml-large-v3-turbo.bin -f meeting.wav -l auto -osrt -otxt
Flag What it does
-l auto / -l en Auto-detect or force the language
-tr Translate the speech to English
-otxt, -osrt, -ovtt Write text, SRT or VTT subtitle files
-t 8 Use 8 CPU threads
--vad --vad-model Skip silence with the Silero VAD model (get it with download-vad-model.sh silero-v6.2.0)

Run it as a local API

whisper.cpp includes a server, so other apps on your network can send audio to it:

whisper-server --host 0.0.0.0 -m models/ggml-large-v3-turbo.bin
curl http://127.0.0.1:8080/inference -F "file=@meeting.wav" -F "response_format=json"

Tip: low on memory? Quantize the model with the bundled tool, for example ./build/bin/quantize models/ggml-large-v3.bin models/ggml-large-v3-q5_0.bin q5_0. A q5_0 large-v3 fits on a 4 GB card.

Speed Benchmarks

These figures come from the faster-whisper README (13 minutes of audio, large-v2, RTX 3070 Ti 8 GB) and a CPU test on an Intel Core i7-12700K with the small model.

Setup Precision Time Memory
openai-whisper, GPU fp16 2m 23s 4,708 MB VRAM
whisper.cpp, GPU (Flash Attention) fp16 1m 05s 4,127 MB VRAM
faster-whisper, GPU fp16 1m 03s 4,525 MB VRAM
faster-whisper, GPU int8 59s 2,926 MB VRAM
faster-whisper, GPU, batch 8 int8 16s 4,500 MB VRAM
openai-whisper, CPU (small) fp32 6m 58s 2,335 MB RAM
whisper.cpp, CPU (small) fp32 2m 05s 1,049 MB RAM
faster-whisper, CPU (small), batch 8 int8 51s 3,608 MB RAM

On a Mac, a January 2026 test by developer Bill Mill found mlx-whisper about twice as fast as whisper.cpp with large-v3-turbo (13.1 s vs 26.7 s). So on Apple Silicon, mlx-whisper is worth a try too.

Subtitles, Translation and Speaker Labels

  • Subtitles for YouTube: export SRT from any of the four tools and upload it in YouTube Studio under Subtitles.
  • Translate to English: use --task translate (openai-whisper), -tr (whisper.cpp) or task="translate" (faster-whisper). Whisper only translates into English.
  • Who said what: install WhisperX (pip install whisperx). It runs on faster-whisper and adds speaker diarization plus better word timings. The diarization model needs a free Hugging Face token.
  • Live dictation: Buzz has a live microphone mode; whisper.cpp ships a stream example.

Want something newer than Whisper? NVIDIA’s open Nemotron 3.5 Transcribe covers 40 languages locally. For the opposite job, text to speech, see Underdog Woof and my ElevenLabs alternatives list.

Troubleshooting

“FileNotFoundError” or “ffmpeg not found” (openai-whisper)

FFmpeg is missing or not on your PATH. Install it with winget, brew or apt, then open a new terminal so the PATH refreshes.

“Could not load library cudnn_ops64_9.dll” or “libcublas.so.12 not found” (faster-whisper)

The CUDA 12 libraries are missing. Run pip install nvidia-cublas-cu12 nvidia-cudnn-cu12 in the same environment. On older CUDA 11 setups, pin ctranslate2==3.24.0 instead.

openai-whisper runs on the CPU even though I have a GPU

pip installed a CPU-only PyTorch. Uninstall torch and reinstall it with the CUDA command from pytorch.org. Check with python -c "import torch; print(torch.cuda.is_available())".

whisper.cpp says the audio format is not supported

whisper-cli needs 16 kHz mono 16-bit WAV. Convert with the FFmpeg command above.

The transcript repeats the same line over and over

This is a known Whisper “hallucination” during long silences or music. Turn on VAD (vad_filter=True or --vad) and, in faster-whisper, try condition_on_previous_text=False.

CUDA out of memory

Switch to compute_type="int8_float16", a smaller model, or a lower batch size. More fixes are in my CUDA out of memory guide.

Wrong language detected

Short clips or strong accents can confuse detection. Force the language with --language, -l or language="hi".

My Take

For most people with an NVIDIA GPU, faster-whisper with large-v3-turbo and batching is the sweet spot. It turns an hour-long podcast into a transcript in a couple of minutes on a mid-range card.

If you never want to touch a terminal, Buzz is genuinely good and free. On a Mac or a CPU-only laptop, whisper.cpp is the one I would install. Not sure your GPU is up to it? Check how much VRAM you need for AI.

FAQ

Is Whisper free to use locally?

Yes. Whisper’s code and weights are MIT licensed, so you can run it locally for free, including for commercial work.

Can Whisper run without a GPU?

Yes. whisper.cpp and faster-whisper run well on CPU with the small or base model. Large models on CPU work but are slow.

Which Whisper model is the most accurate?

large-v3 is the most accurate. large-v3-turbo is nearly as good and much faster, so it is the best everyday choice.

How much VRAM does Whisper large-v3 need?

About 4 GB in whisper.cpp, or about 3 GB with faster-whisper int8. A q5_0 quantized file fits on 4 GB cards.

Does Whisper work offline?

Yes. After the first model download, all four tools in this guide work without internet.

Can Whisper identify different speakers?

Not by itself. Use WhisperX or Buzz’s speaker identification feature to label who is speaking.

Can Whisper translate into languages other than English?

No. Whisper’s built-in translation only goes into English. For other target languages, transcribe first and then translate the text with an LLM.

Sources

Free weekly email

Get new AI guides every week

One short weekly email with our newest local AI, ComfyUI and AI tool guides. No spam, no pop-ups, just the good stuff.

Free. Unsubscribe anytime in one click. We only use your email to send this newsletter. See our privacy policy.

Surprised woman in a home podcast studio holding a card with the OpenAI logo, text: Free transcripts, no cloud