Home / Blog / Can You Use OpenAI Whisper for Dictation on a Mac? What It Actually Takes

Can You Use OpenAI Whisper for Dictation on a Mac? What It Actually Takes

Quick answer: OpenAI Whisper is a free, open-source speech-to-text model and command-line tool, not a dictation app. Point it at an audio file and it gives you a transcript, on your own machine if you run it locally, under an MIT license. It does not include a push-to-talk hotkey, live system-wide dictation, pasting into the app in front of you, filler-word cleanup, a proper-noun glossary, meeting capture, or a notes archive. You would have to build all of that yourself, or run it by hand on saved recordings. Ducktate runs the same kind of on-device Whisper model under the hood, through Apple's WhisperKit, so you get Whisper-grade transcription without any of the setup, plus the hotkey, cleanup, glossary, and notes that raw Whisper does not include. The tradeoff: Ducktate is Mac only, newer than Whisper itself, closed source, and gates meeting capture behind its paid Pro tier.

OpenAI Whisper is a speech-to-text model and a command-line tool, not a dictation app. You give it an audio file, it gives you back text. That is the whole job it does out of the box, and it does that job well. Everything people picture when they say "dictation on my Mac" (a hotkey, live capture, text landing in the app you were already typing in, cleaned-up phrasing) is a separate layer that raw Whisper simply does not include.

This matters because "just use Whisper" comes up constantly as dictation advice, and it is honest advice as far as it goes: Whisper is genuinely excellent at the one thing it does. It is also incomplete advice, because the model and the workflow are two different things. This post covers what Whisper actually is, what you would have to build to turn it into everyday Mac dictation, and where a wrapper app like Ducktate (which runs Whisper on-device too) picks up the parts the model does not do.

One thing we want to be upfront about, because it would be dishonest not to be: Ducktate's own transcription is Whisper. Ducktate runs Whisper models on-device through WhisperKit, Apple's Swift-native implementation of the model. So this is not a "Ducktate beats Whisper" post. It cannot be. Ducktate transcribing more accurately than Whisper would mean Ducktate transcribing more accurately than itself. The honest comparison is narrower and, we think, more useful: raw Whisper the model and tool, versus a finished product built around that same model.

What OpenAI Whisper actually is

Straight from OpenAI's own Whisper repository, Whisper is described as "a general-purpose speech recognition model," distributed as a Python package (pip install -U openai-whisper) and used through a command-line tool called whisper. You run a command against an audio file, for example whisper audio.mp3, and it writes out a transcript. The code and model weights are released under the MIT license, so it is genuinely free and open source, and you can run it entirely on your own machine with no account, no API key, and no data leaving your Mac.

Whisper ships in six sizes, trading accuracy against speed and memory:

ModelParametersEnglish-only variantApprox. VRAMRelative speed
tiny39Mtiny.en~1 GB~10x
base74Mbase.en~1 GB~7x
small244Msmall.en~2 GB~4x
medium769Mmedium.en~5 GB~2x
large1550M(none)~10 GB1x
turbo809M(none)~6 GB~8x

The English-only variants (the .en models) tend to perform better than their multilingual counterparts on English speech, per OpenAI's own repository documentation. Ducktate ships small.en as its default model, which is the same size tier described in that table, running on-device through WhisperKit instead of the Python command line.

What the repository does not describe, and what it is not built to do, is real-time streaming capture, a push-to-talk hotkey, or pasting output into another application. It is a file-in, text-out tool.

What raw Whisper does not give you

If you want to dictate into whatever app you are working in on a Mac, here is the gap between "I installed Whisper" and "I can talk instead of type," item by item.

  • - No push-to-talk hotkey. Whisper has no concept of a key you hold to start recording and release to stop. You would write and register a global hotkey listener yourself.
  • - No live capture pipeline. Whisper transcribes a file. Turning your microphone into a file it can read, in real time, with reasonable latency, is separate audio-engineering work: sample rate handling, chunking, silence detection, buffering.
  • - No paste into the frontmost app. The command line prints or writes a transcript. Getting that text into whatever window has focus (your email client, your editor, your terminal) means writing macOS accessibility or pasteboard code on top.
  • - No cleanup pass. Whisper transcribes what you said, including "um," false starts, and run-on phrasing. It does not punctuate for readability beyond what the model naturally infers, and it does not restructure a rambling spoken sentence into clean written text. That is a separate LLM cleanup step you would have to add.
  • - No glossary or proper-noun biasing. Out of the box, Whisper does not know your product names, your coworkers' names, or your team's jargon any better than it knows any other word it wasn't trained heavily on. Getting it to reliably transcribe domain-specific vocabulary means implementing decoding bias or prompt-based hinting yourself.
  • - No meeting capture. Capturing system audio from a call, distinguishing it from your microphone, and turning that into a structured transcript is a different capture path than dictating into a text field, and Whisper's tooling does not include it.
  • - No notes archive. Whisper hands you a transcript and stops. Filing it, titling it, tagging it, and making months of it searchable is a whole separate application layer.

None of this is a knock on Whisper. A model is not supposed to be an app. It is the honest description of the distance between "the transcription engine is free and excellent" and "I have working dictation on my Mac."

Where Ducktate fits

Ducktate is a native Mac app built around exactly this gap: it runs Whisper on-device via WhisperKit, so you get the same class of model described above, and wraps it with everything raw Whisper does not include.

  • - Hold Right Option (or press a custom shortcut), speak, release. The hotkey, the live capture, and the paste-into-frontmost-app step are already wired together.
  • - On-device transcription, the same Whisper family of models, running locally with nothing sent to a server to produce the transcript.
  • - LLM cleanup of filler words and rambling phrasing, through Claude, ChatGPT, or a local model you choose, so what lands in your document reads like writing, not a verbatim transcript.
  • - A custom glossary that biases decoding toward your own proper nouns and jargon, the same category of problem Whisper's raw output leaves unresolved. Our own measured numbers on that, including exactly how much a glossary helps and where Whisper struggles without one, are in the Whisper accuracy benchmark, run against Ducktate's real on-device pipeline.
  • - Meeting capture, on the Pro tier, that records system audio and files it as a note rather than leaving you a raw transcript.
  • - A searchable notes library so a month of dictation becomes something you can find again, instead of a folder of loose transcript files.

The honest framing: Ducktate's edge over raw Whisper is not a better transcription engine, it is the product built around the same engine. If you already know how to script Python and wire up a hotkey listener, you could build a rough version of this yourself, for free, on top of Whisper's open-source code. Ducktate is that work, already done, tested, and maintained.

At a glance: raw OpenAI Whisper vs. Ducktate

Raw OpenAI WhisperDucktate
What it isOpen-source model + Python command-line toolNative Mac app built on the same class of on-device Whisper model
SetupInstall Python, pip install, run commands yourselfDownload, grant permissions, done
Push-to-talk hotkeyNo, build it yourselfYes, built in (Right Option or custom shortcut)
Live paste into frontmost appNo, build it yourselfYes, built in
Filler-word / cleanup passNo, add your own LLM stepYes, via Claude, ChatGPT, or a local model
Custom glossary / proper nounsNo, implement decoding bias yourselfYes, built in
Meeting captureNoYes, Pro tier
Notes archiveNoYes, searchable Markdown library
CostFree, open source (MIT license)Free tier for dictation; Pro $8.99/mo; Lifetime $149
PlatformAnywhere Python runs (Mac, Windows, Linux)Mac only
SourceOpen sourceClosed source

Where raw Whisper wins

To be fair about it: raw Whisper is the right tool for some jobs Ducktate is not built for.

  • - Batch and file transcription. If you already have a folder of recordings, interviews, or podcast episodes and want transcripts, running Whisper directly (or a file-focused wrapper built on it, like the tool compared in Ducktate vs MacWhisper) is the more natural fit than a live dictation app.
  • - Free and fully scriptable. No subscription, no lifetime fee, and you can bend it into any pipeline you want since it is just Python.
  • - Cross-platform. It runs anywhere Python and enough compute run, not only on a Mac.
  • - Open source. You can read the code, audit it, and modify it. Ducktate is closed source.

If your actual need is "transcribe files I already have," raw Whisper, or a file-transcription app built on it, is a better starting point than a live dictation tool. If your need is "let me talk instead of type, everywhere on my Mac, with clean output that lands where I'm working," raw Whisper is the engine, not the answer, and that is the gap a wrapper app is for.

The bottom line

OpenAI Whisper is the model doing the hard part, speech to text, and it does that part well enough that Ducktate uses it too. What Whisper does not do is turn itself into dictation: no hotkey, no live paste, no cleanup, no glossary, no notes. You can build that layer yourself for free on top of Whisper's open-source code, or use an app that already built it. For the numbers behind how accurate that underlying Whisper transcription actually is in real use, see the on-device Whisper WER benchmark. If you also transcribe existing audio files rather than dictating live, Ducktate vs MacWhisper covers that specific split. And if you want to see how much of your own speech is filler words that raw Whisper would transcribe verbatim, the free filler word counter will show you your own rate.

Frequently asked questions

Is OpenAI Whisper a dictation app?

No. Whisper is a speech-to-text model and a command-line Python tool, released by OpenAI under the MIT license. It transcribes an audio file into text when you run a command against it. It has no push-to-talk hotkey, no live microphone capture built for dictation, and no way to paste text into whatever app you are typing into. Turning it into a dictation workflow is a separate project you build on top of it, or a job for an app like Ducktate that already did that work.

Can you run OpenAI Whisper for free on a Mac?

Yes. Whisper's code and model weights are open source under the MIT license, and you can install it with pip and run it locally on a Mac at no cost. You supply the setup: Python, the command line, a way to record audio to a file first, and any tooling you want on top for live use. It does not phone home or require an account to run locally.

What is the difference between Whisper and WhisperKit?

Whisper is OpenAI's original model and Python-based command-line tool. WhisperKit is a separate, Swift-native implementation built to run Whisper models efficiently on Apple hardware, using the Neural Engine. Ducktate uses WhisperKit to run Whisper models on-device on a Mac, which is why Ducktate's transcription is genuinely Whisper under the hood, just packaged as a real-time, always-ready app instead of a command you run against a saved file.

Does Ducktate use a different, more accurate model than Whisper?

No, and we want to be direct about that: Ducktate's transcription is Whisper, running on-device through WhisperKit. Ducktate does not claim to out-transcribe Whisper, because it would be transcribing with Whisper while claiming that. What Ducktate adds is everything around the model: the hotkey, the live capture, filler-word and disfluency cleanup, a custom glossary for proper nouns, automatic paste, meeting capture, and a searchable notes library. Our own measured accuracy numbers are in the transcription benchmark linked below.

What do you have to build yourself to use raw Whisper for everyday dictation?

At minimum: a way to capture microphone audio to a file (Whisper transcribes files, not a live stream, out of the box), a global hotkey or trigger to start and stop recording, code to take the returned transcript and paste it into the frontmost application, a way to strip filler words and clean up phrasing if you want readable text, a custom vocabulary or biasing step if you use brand names or jargon Whisper will not know, and, if you want a record of what you dictated, somewhere to file the output. Ducktate ships all of that already wired together.

Compare Ducktate with

Follow Ducktate on Google

Add us as a preferred source so our guides show up in your Google Top Stories and AI results.

Add as a preferred source

Think out loud. Ducktate writes it down.

On-device transcription that files your ideas and meetings as searchable notes.

Get early access