Direct answer — Whisper or Gemma 4: which is better for on-device dictation? They are built for different jobs. Whisper is a dedicated speech recognition model whose only output is a transcript. Gemma 4 is a multimodal language model that accepts audio among other inputs and can reason about it. No public benchmark evaluates the two on the same speech test set, so anyone quoting a head-to-head accuracy figure is comparing different measurements. For dictation, the dedicated model remains the safer engineering choice.
Since Google published Gemma 4, the same question keeps coming back from developers and technical users: if a general multimodal model can now transcribe audio on a laptop, is a dedicated speech recognition model like Whisper still the right engine for on-device dictation accuracy?
It is a good question, and most answers circulating are built on numbers that do not survive a look at the primary sources. This article compares the two on-device speech recognition models on what is actually documented — architecture, published evaluations, constraints — and is honest about where the record stops.
What are Whisper and Gemma 4?
They belong to two different model families with different design goals.
Whisper is an automatic speech recognition model released by OpenAI. The paper describing it, Robust Speech Recognition via Large-Scale Weak Supervision, was submitted in December 2022 and reports training on 680,000 hours of multilingual and multitask supervision, with the models reaching competitive benchmark performance in a zero-shot transfer setting. The current flagship checkpoint, large-v3, is documented on its model card as a 1,550M-parameter Transformer encoder-decoder trained on 1 million hours of weakly labelled and 4 million hours of pseudo-labelled audio, and OpenAI reports “10% to 20% reduction of errors compared to Whisper large-v2”. Its output is a transcript. That is the whole surface.
Gemma 4 is Google’s open-weights model family. Google announced Gemma 4 12B on 3 June 2026 as, in its words, “our first mid-sized model to feature native audio inputs”. The Gemma 4 model card lists five sizes — E2B, E4B, 12B Unified, 26B A4B (Mixture-of-Experts) and 31B Dense — of which only E2B, E4B and 12B accept audio at all. Its output is text of whatever kind you asked for: a transcript, a translation, a summary, an answer.
Gemma 4’s audio path is not one design
The Gemma 4 Technical Report describes “improved vision and audio encoders for all model sizes” alongside “a unified, encoder-free architecture for our 12B model, which ingests raw audio and image patches”. Google’s launch post puts the second half more bluntly: for the 12B, it “removed the audio encoder entirely and projected the raw audio signal into the same dimensional space as text tokens”.
So “Gemma 4 audio” means two different things depending on the size. The E2B and E4B variants carry a dedicated audio encoder — the Hugging Face card for gemma-4-E4B-it puts it at roughly 300M parameters. The 12B does not.
How do the two architectures differ for dictation?
The difference that matters for dictation is what sits between the microphone and the text field.
Whisper’s decoder exists to emit a transcript, and nothing else. Gemma 4’s decoder is a language model doing general-purpose generation, and transcription is one instruction among many. That is a genuine capability advantage when you want the audio understood, and an unnecessary detour when you only want it written down.
| Whisper large-v3 | Gemma 4 E2B / E4B | Gemma 4 12B | |
|---|---|---|---|
| Model type | Dedicated ASR | Multimodal LLM | Multimodal LLM |
| Parameters | 1,550M | 2.3B / 4.5B effective (5.1B / 8B with embeddings) | 11.95B |
| Audio path | Encoder-decoder, audio in, text out | Dedicated audio encoder (~300M on E4B) | Encoder-free: raw audio projected into the text embedding space |
| Output | Transcript only | Transcript, translation, summary, answers | Transcript, translation, summary, answers |
| Documented audio window | 30-second receptive field; long files via a sliding 30-second window | 30 seconds | 30 seconds |
| Languages documented | 99 | 12 in the published FLEURS evaluation | 12 in the published FLEURS evaluation |
| Terms | MIT licence for code and model weights | Open weights, “responsible commercial use” under Gemma’s terms | Same |
Sources for each cell: the openai/whisper repository and its model card; Google’s Gemma 4 model card, audio documentation and Technical Report.
Two rows deserve a second look.
The 30-second window is a shared constraint, arrived at from opposite directions. OpenAI’s documentation describes a 30-second receptive field and explains that its transcribe() method “processes the audio with a sliding 30-second window”. Google’s audio documentation states plainly that “Audio supports a maximum length of 30 seconds”. Neither model swallows a one-hour recording in a single pass; both need chunking logic wrapped around them.
The language row is not a like-for-like comparison. Whisper’s 99 languages is a documented coverage claim. Gemma 4’s 12 is the size of the evaluation set Google published, not a ceiling on what the model will attempt — but outside those 12 languages you have no published measurement to reason from.
Is there a published benchmark that compares them head to head?
No — and this is the single most important thing to know before trusting any comparison you read.
Google’s Gemma 4 Technical Report contains a speech evaluation table, “FLEURS ASR (WER, lower is better)”, covering 12 languages. Every model in that table is a Gemma model: Gemma 4 E2B and E4B measured against their Gemma 3n predecessors. Whisper does not appear as a baseline anywhere in the audio evaluation. OpenAI, for its part, publishes Whisper’s language breakdown on Common Voice and FLEURS, evaluated on its own terms and its own language list.
The consequence is unavoidable. To produce a sentence of the form “Whisper scores X% and Gemma scores Y%”, you have to take a number from one evaluation and set it beside a number from another — different language subsets, different text normalisation, different reference transcripts, different years. The arithmetic works. The comparison does not.
This is not a Gemma-specific problem. It is the normal state of ASR benchmarking, and it is why our guide to speech recognition accuracy spends more time on how a figure was produced than on the figure itself. Word Error Rate is the proportion of words a system gets wrong — substitutions, deletions and insertions divided by the number of words in the reference. It describes a run, not a model.
Change any of the following and the same weights produce a different WER:
- The dataset. FLEURS is read speech: prepared sentences, recorded cleanly. Dictation is spontaneous, with false starts, product names and a laptop microphone.
- The language. Google’s own numbers vary by more than a factor of four across the 12 languages it measured.
- The scoring convention. Google marks some languages in its table with character error rate rather than word error rate, because word boundaries do not exist in the same way.
- The audio conditions. Background noise, accent and overlapping speakers move the number far more than the choice between two strong models does.
What do Google’s published Gemma 4 speech numbers actually show?
They show a clear generational improvement over Gemma 3n, and they show why an average is a poor summary.
These are the values from Table 7 of the Gemma 4 Technical Report — FLEURS, read speech, WER where lower is better, averaged over the 12 languages Google evaluated, converted here from the report’s decimal fractions to percentages:
| Model | Average, 12 languages | English | German | French | Spanish |
|---|---|---|---|---|---|
| Gemma 3n E2B | 10.8% | 7.6% | 7.9% | 13.0% | 5.1% |
| Gemma 3n E4B | 8.5% | 6.6% | 6.5% | 9.8% | 4.1% |
| Gemma 4 E2B | 9.0% | 8.0% | 7.6% | 10.1% | 4.2% |
| Gemma 4 E4B | 7.5% | 6.5% | 6.1% | 8.0% | 3.5% |
Two caveats travel with this table and should not be dropped. First, the 12-language average mixes scoring conventions, because Google reports character error rate rather than word error rate for some languages in the set. Second, Google’s model card separately lists the 12B at 0.069 on FLEURS but flags it as “Excluding Chinese language” — a different language set, so it does not sit on the same row as the others.
Now the interesting part. Gemma 4 E2B improves the 12-language average over Gemma 3n E2B, from 10.8% to 9.0% — but its English WER goes the other way, from 7.6% to 8.0%. A model can get better on average and worse on the language you actually dictate in. If your workload is English dictation, the average was never the number you needed.
That is the argument for benchmarking on your own audio, in your own language, rather than picking a model from a leaderboard row.
Which model should you pick for on-device dictation?
Pick by the output you need, not by the headline that impressed you.
Choose a dedicated ASR model such as Whisper when:
- The deliverable is a transcript that lands in a text field, an editor or a subtitle file
- You need broad language coverage — 99 documented languages is a wide net
- You want a mature on-device runtime; whisper.cpp has years of platform-specific optimisation behind it, and our whisper.cpp setup guide walks through running it yourself
- Latency per utterance matters more than versatility, because dictation is a loop you run hundreds of times a day
Choose a multimodal model such as Gemma 4 when:
- You want the recording understood, not just written down — summarised, queried, classified
- You are already running a language model on the device and would rather not ship a second one
- Speech translation is part of the product, which Google measures separately on CoVoST
- The extra memory footprint is acceptable; Google positions the 12B as running locally “with just 16GB of VRAM”
There is a third answer that is often right: both, at different points. Transcribe with the dedicated model, then hand the text to a language model if it needs work. That is a plainer pipeline than asking one model to excel at two jobs, and each stage stays independently testable.
Where Weesper Neon Flow sits
Weesper Neon Flow runs Whisper locally through whisper.cpp on macOS and Windows, with 50+ languages, no network calls and a 15-day free trial. That choice is not a claim that Whisper is the best speech model in existence — it is a claim about fit.
Dictation is a latency-sensitive loop that happens inside whatever application you are already in: an email, a code editor, a clinical note. What it needs is a transcript, quickly, over and over, with nothing leaving the machine. A dedicated ASR model produces exactly that output, so the engineering budget goes into the dictation experience — hotkeys, text insertion, custom vocabulary. The help documentation covers models, languages and permissions.
We track the alternative approach closely. Our review of Google’s Eloquent dictation app looks at Gemma-based on-device dictation in a shipping consumer product, and our comparison of Voxtral and Whisper covers the dedicated-ASR side of the same market. For where inference should happen at all, see our on-device versus cloud transcription comparison.
Frequently asked questions
Is Gemma 4 more accurate than Whisper for dictation?
There is no published head-to-head answer. Google’s Gemma 4 Technical Report evaluates Gemma 4’s speech recognition on FLEURS against its own predecessor, Gemma 3n, and does not include Whisper as a baseline. OpenAI’s Whisper evaluations use different test sets and a different language list. Any single number claiming one beats the other by a given margin is stitching together two measurements that were never run under the same conditions.
Does Gemma 4 have an audio encoder?
It depends on the size. The Technical Report describes improved audio encoders for the model sizes generally, and a separate unified, encoder-free architecture for the 12B, which ingests raw audio and image patches directly. The Hugging Face card for gemma-4-E4B-it lists an audio encoder of roughly 300M parameters. So E2B and E4B use a dedicated audio encoder; the 12B projects the raw signal into the same space as text tokens.
What is Word Error Rate, and why do published WER figures disagree?
Word Error Rate is the share of words a system gets wrong, counting substitutions, deletions and insertions against a reference transcript. It is a ratio, not a property of a model. Change the dataset, the language, the recording conditions, the normalisation rules or the reference transcript, and the same weights produce a different WER. A figure is only meaningful with its scope attached.
Can Gemma 4 transcribe audio longer than 30 seconds?
Google’s audio documentation states that audio supports a maximum length of 30 seconds. Whisper has the same shape of constraint from a different direction: OpenAI’s documentation describes a 30-second receptive field, and its transcribe method handles long files with a sliding 30-second window. In both cases, longer recordings need chunking logic around the model rather than a single pass through it.
Which model does Weesper Neon Flow use, and why?
Weesper Neon Flow runs Whisper locally through whisper.cpp on macOS and Windows. The reason is scope: dictation needs one thing done well and repeatedly — turning speech into text with low latency, inside whatever application you are in. A dedicated speech recognition model has exactly that output and a mature on-device runtime, so the engineering effort goes into the dictation experience rather than into constraining a general model to a single task.
Should developers building a dictation feature pick an ASR model or a multimodal LLM?
Pick by output, not by headline. If you need a transcript that lands in a text field, a dedicated ASR model is the shorter path. If you need the audio understood rather than written down — summarised, queried, classified — a multimodal model does in one step what would otherwise be transcription followed by a second model. Plenty of products want both, at different points in the workflow.
The practical takeaway
Gemma 4 is a significant piece of work: an open-weights family where three of five sizes take audio natively, and where the 12B drops the audio encoder entirely. It is not, on the published record, a measured replacement for a dedicated ASR model in a dictation product — because no one has published that measurement.
Until someone runs both on the same test set with the same normalisation, the honest comparison is architectural rather than numerical. A dictation app needs a transcript, fast, in context, with nothing leaving the device. A multimodal model needs to understand the audio. Different jobs — and the second does not automatically subsume the first.
Want to test the dedicated-ASR route on your own voice? Try Weesper Neon Flow free for 15 days on macOS or Windows — Whisper running locally, no account, no upload, no per-minute meter.