How to transcribe audio locally with Whisper on Mac and Windows

Whisper is a speech recognition model that OpenAI released as open source under the MIT licence. Because the model files are public, you can run them on your own computer and transcribe interviews, voice memos and recorded meetings without uploading them anywhere.

This guide covers the free command-line route with whisper.cpp on a Mac and on Windows, then the no-terminal route with a desktop app. Commands were checked against whisper.cpp 1.9.5, the latest release on 19 October 2026.

What you need

  • A Mac or Windows PC. whisper.cpp runs on both. On Apple silicon it uses the GPU through Metal.
  • A few hundred MB to 3 GB of disk for one model, depending on its size.
  • ffmpeg to convert your audio, because the whisper-cli example works with 16-bit WAV files.
  • An internet connection once, to install the tools and download the model. After that, transcription runs offline.

Pick a Whisper model

Bigger models are usually more accurate and always slower. These are the sizes and approximate memory use listed in the whisper.cpp README:

Model Disk Memory while running
tiny 75 MiB about 273 MB
base 142 MiB about 388 MB
small 466 MiB about 852 MB
medium 1.5 GiB about 2.1 GB
large 2.9 GiB about 3.9 GB

There’s also large-v3-turbo, which OpenAI describes as an optimized version of large-v3 that is faster with minimal loss in accuracy (OpenAI’s Whisper README). Models ending in .en, such as small.en, are English-only; OpenAI notes they tend to do better on English at the tiny and base sizes. For mixed or non-English audio, use a multilingual model.

small is a sensible first try for meetings. Move up to medium or large-v3-turbo if names and numbers come out wrong, and down to base if it’s too slow.

On a Mac: install whisper.cpp with Homebrew

If you have Homebrew, you don’t need to build anything.

  1. Install whisper.cpp and ffmpeg:

    brew install whisper.cpp ffmpeg

    This gives you the whisper-cli command.

  2. Download a model into a folder you’ll remember:

    mkdir -p ~/whisper-models
    curl -L -o ~/whisper-models/ggml-small.bin \
      https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin

    Swap small for another model name from the table, such as medium or large-v3-turbo.

  3. Convert your recording to 16 kHz mono WAV:

    ffmpeg -i interview.m4a -ar 16000 -ac 1 -c:a pcm_s16le interview.wav
  4. Transcribe it:

    whisper-cli -m ~/whisper-models/ggml-small.bin -f interview.wav -l auto -otxt -osrt

    You get interview.wav.txt with the plain text and interview.wav.srt with timestamps.

On Windows: build whisper.cpp

On Windows, the most predictable route is to build from source. Prebuilt zips appear on the whisper.cpp releases page, but their names and contents change between builds.

  1. Install the tools: Git, CMake, the Visual Studio Build Tools with the C++ workload, and ffmpeg added to your PATH.

  2. Get the code and a model in PowerShell:

    git clone https://github.com/ggml-org/whisper.cpp.git
    cd whisper.cpp
    .\models\download-ggml-model.cmd small
  3. Build it:

    cmake -B build
    cmake --build build -j --config Release
  4. Convert and transcribe:

    ffmpeg -i interview.m4a -ar 16000 -ac 1 -c:a pcm_s16le interview.wav
    .\build\bin\Release\whisper-cli.exe -m models\ggml-small.bin -f interview.wav -l auto -otxt -osrt

If you have an NVIDIA graphics card, the README explains how to build with CUDA for faster transcription.

Options worth knowing

Option What it does
-l auto Detects the spoken language. Use a code such as en or de to set it
-otxt Writes a plain-text transcript
-osrt, -ovtt Writes subtitles with timestamps
-oj Writes JSON, handy if you process the result in a script
-of name Sets the output file name, without the extension
-t 8 Uses 8 CPU threads; the default is 4
-tr Translates the speech into English

Run whisper-cli -h for the full list. OpenAI notes that its turbo model isn’t trained for translation, so use a multilingual model such as medium with -tr.

Check that it really runs offline

Once the model is downloaded, turn off Wi-Fi and run the same command again. If the transcript appears, the whole job ran on your computer. That’s the simplest proof that your recording never left it.

What the command line won’t do for you

whisper.cpp is excellent at turning a file into text. For meetings, a few things are left to you:

  • Recording the call. You need another tool to capture both your microphone and the other people’s audio.
  • Who said what. Speaker labels aren’t part of a basic run; the README has an experimental option for some models.
  • The write-up. A transcript isn’t a summary. You’d copy it into an AI model yourself, which means choosing where that model runs.
  • Long-term storage. You’ll end up with folders of .txt files to name, search and keep safe.

Transcribe a file locally with Kimiko

If you’d rather not use a terminal, Kimiko runs local speech models on Apple silicon Macs and Windows PCs, including Whisper Small, Whisper Medium and Whisper Large v3 Turbo, next to its default Nemotron model. It also records meetings without a bot, labels speakers and writes summaries with built-in AI on your computer.

  1. Install Kimiko and finish setup. The recommended speech model downloads during setup, and you can choose Add beside Built-in AI for local summaries.
  2. Choose a Whisper model, if you want one, in Settings → Transcription → Speech models. Download it, then select it.
  3. Import your recording. Choose Import audio file… on the Notes page or in a project, or drop the file onto the Notes page. WAV, M4A, FLAC, OGG and AIFF files work directly, with no conversion.
  4. Read the result. You get a transcript and a summary. With speaker labels on in Settings → Transcription, Kimiko separates up to eight voices in an import as Speaker 1, Speaker 2 and so on, and you can rename them.
  5. Ask or export. Ask questions about the recording in chat, or export the transcript and summary as Markdown, Word or PDF.

With local models selected, the audio is transcribed and summarized on your computer. Keep session audio starts at Off, so Kimiko keeps the transcript and discards the audio. Importing audio needs your trial or a subscription. More on what runs where in offline meeting transcription.

Questions

Is Whisper free to use?

Yes. OpenAI published the Whisper code and models under the MIT licence, and whisper.cpp is MIT-licensed too. You pay only with your computer’s time and memory.

Which Whisper model should I use for meetings?

Start with small and check how it handles names, numbers and accents in your recordings. Move to medium or large-v3-turbo for difficult audio if your computer has the memory.

Can I transcribe an MP3 or M4A file?

Yes. Convert it to 16 kHz WAV with ffmpeg first, using the command above, then run whisper-cli on the WAV file.

Does Whisper send my audio anywhere?

Not when you run it locally with whisper.cpp. The model runs on your computer, and the only downloads are the tool and the model file. Cloud transcription services that use Whisper are a different matter: there, the audio goes to their servers.

Can Whisper tell different speakers apart?

Not in a basic whisper.cpp run. You get one stream of text with timestamps. Apps built for meetings add a separate speaker model to label who said what.

Download Kimiko if you’d like local transcription without the terminal. It’s free to try.

Try Kimiko for your next meeting

Free to try, no credit card needed.

Download for Mac

Apple silicon · macOS 14.4 or later

Download for Windows

64-bit Windows 11 PCs