A generated hero card comparing Granite Speech 5.0 2B, shown with Apache 2.0, six transcription languages, 5.06% English WER and keyword biasing, against Whisper large-v3-turbo, shown with an MIT licence, 99 languages, 7.83% English WER and two years of tooling, under the line 'one wins the benchmark, one wins the language list'.
Guides & Insights

Granite Speech 5.0 2B vs Whisper large-v3-turbo: IBM Wins the Benchmarks, Whisper Wins 99 Languages

Author

Alistair Wren

Date Published

Latest models · 20View all models →
Benchmarks: Artificial Analysis · updated daily
Back to all posts

On the two numbers most people check first, Granite Speech 5.0 2B beats Whisper large-v3-turbo and it is not close. IBM's model averages 5.06% word error rate across the nine English short-form test sets of the Open ASR Leaderboard at 570 RTFx; O​penAI's turbo checkpoint averages 7.83% at 200 RTFx on the same board. Faster and more accurate, on the same benchmark, roughly two years apart in release date. If your audio is English and your audio is clean, that is the whole comparison and you can stop reading. The documented AI failures and agent incidents behind releases like this one are collected in the OrcaRouter AI Incident Archive where each entry carries its own sources, severity, confidence grade and disputed flag.

The reason this page still needs to exist is the third number: 99. Whisper large-v3-turbo covers ninety-nine languages; Granite Speech 5.0 2B covers six for transcription and translates into two more. A 2.8-point WER advantage on English is worth nothing if the audio is Vietnamese. So the real question is not which model is better — it is whether your language mix fits in a six-language box, and what the migration costs if it does.

What Whisper large-v3-turbo actually is

It is worth being precise here because the name gets attached to things that are not it. Whisper large-v3-turbo is O​penAI's pruned version of large-v3: the encoder is unchanged, but the decoder has 4 layers instead of 32. That single change takes the model from 1,550M parameters to 809M and roughly triples throughput, while giving up comparatively little accuracy — which is why it became the default fast-ASR checkpoint across the ecosystem within months of its October 2024 release.

A screenshot of the openai/whisper-large-v3-turbo model card on Hugging Face, showing the Whisper summary, the 99-language tag, and the explanation that turbo reduces the decoder from 32 layers to 4 for speed at a minor quality cost.

Three properties follow from that design and they all matter for this comparison:

• It is a translation model that happened to be pruned, so it inherits 99 languages of transcription and language identification — but the turbo variant is not trained for translation. Unlike large-v3, it transcribes and identifies language; it does not render speech in one language as text in another. Teams regularly discover this after building on it.

• The decoder is autoregressive. It writes tokens, 4 layers at a time, which is why its throughput sits at 200 RTFx rather than in the thousands. Whisper's speed came from removing layers, not from changing the decoding paradigm.

• It is MIT licensed, which is more permissive in practice than Apache 2.0 in exactly one respect that matters to some legal teams: no patent grant clause to analyse, and no attribution file to ship.

Whisper's real advantage was never the benchmark. It is two years of tooling — faster-whisper, whisper.cpp, every cloud's managed endpoint, quantization recipes, word-level timestamp libraries, diarization stacks built on top of it. That ecosystem is a genuine switching cost and this comparison has to account for it honestly.

Where the gap is real, and where it is a harness artefact

The 5.06% against 7.83% comparison is on the same leaderboard, which makes it more legitimate than most cross-vendor numbers — but it is not a like-for-like run, and the details cut both ways.

• The Granite figure comes from IBM's own evaluation run submitted to the leaderboard, described in the announcement blog as "unofficial, as of 15 October 2026." The model card calls the same results "official" as of 20 October. Pick whichever adjective you like; nobody outside IBM has reproduced it.

• The Whisper figure is the leaderboard's published result for the checkpoint, run by the leaderboard's own harness, which is a different pipeline from IBM's.

• Both numbers are averages over nine public test sets, most of them English read speech from LibriSpeech, Gigaspeech, SPGISpeech, Earnings-22, AMI and VoxPopuli. Whisper's weakness on this board is well documented and structural: it was trained on 680,000 hours of weakly supervised web audio, which buys breadth at the cost of precise formatting.

IBM's leaderboard chart titled 'English short-form WER: granite-speech-5.0-2b vs. top open-weights models', ranking ten open-weight models by average WER with Qwen3-ASR-1.7B-hf first at 4.94 and granite-speech-5.0-2b second at 5.06, broken down across nine English test sets.

• On far-field and noisy audio the ordering holds. The FFASR board — near-field, high SNR, mid SNR and low SNR averaged — puts whisper-large-v3 at 18.02%, with Granite Speech 5.0 2B at 14.80%. Note that is large-v3, not turbo; turbo is generally a little worse than its parent on hard audio because it has fewer decoder layers to recover from a bad acoustic guess.

So the accuracy gap is probably real in direction and probably smaller than 2.8 points in a fair fight. What is not in doubt is where it comes from: Whisper's decoder is being asked to do language identification, transcription, punctuation, casing and timestamp alignment at once with four layers, while Granite's architecture separates the acoustic work (a CTC encoder with character and BPE heads) from the text generation (a 1B language model).

The language box, quantified

This is where the decision gets made, so it deserves more than a number in a bullet.

• Granite Speech 5.0 2B transcribes English, French, German, Spanish, Portuguese and Japanese, and translates between those six and English, plus English into Italian and English into Mandarin.

• Whisper large-v3-turbo transcribes ninety-nine languages and identifies which one it is hearing. It does not translate.

• Granite's seven-language sibling, Granite Speech 5.0 470M TurboCTC, adds Italian to the transcription set — so the family covers seven European and Japanese languages, not six.

Ninety-nine against seven is the entire argument for Whisper, and it is a strong one. But the practical distribution matters more than the count. If your audio is English, French, German, Spanish, Portuguese, Japanese and Italian, Granite covers it. If you need Hindi, Arabic, Korean, Turkish, Polish, Vietnamese, Indonesian, Dutch, Swedish or any of the other ninety-odd, Whisper is the only one of these two that works — and no amount of WER advantage on English changes that.

The middle case is the one most teams are actually in: a mostly-English product with a long tail of languages that arrives a few percent of the time. Two models, one per tier, is a normal and correct answer — and it is cheaper than it sounds, because the tail is where volume is low.

Long audio, timestamps and the things that break at scale

Whisper's deployment story is mature in ways that are not on any benchmark. Word-level timestamps, voice activity detection, speaker diarization, streaming with chunked decoding — all of it exists, all of it is battle-tested, and much of it assumes Whisper's 30-second window and its timestamp tokens.

Granite Speech 5.0 2B takes a different shape. IBM recommends segments of up to about two minutes, split with VAD for longer recordings, and the language model sees 10 Hz embeddings inside a 16k YaRN-extended context. There is no word-level timestamp head on the base 2B checkpoint — the 4.1 generation shipped a separate "-plus" variant for speaker-attributed ASR and word-level timestamps, and no equivalent 5.0 variant exists yet.

That is a real gap if you are building subtitles, meeting transcripts with speaker labels, or anything that needs to seek to a phrase. The 5.0 blog does describe timestamp improvements, but they belong to the refreshed granite-speech-4.1-2b-plus, not to the 5.0 2B.

• Need word-level timestamps — Whisper large-v3-turbo today; Granite 4.1-2b-plus if you want the Granite family and can accept the older acoustic model.

• Need speaker attribution — same answer; the 5.0 2B does not do it.

• Need long-form accuracy past a few minutes — Granite's two-minute segment guidance is a practical limit, and Whisper's 30-second chunking with condition-on-previous-text has its own well-known failure mode (repetition loops on silence). Neither is obviously better; both need VAD in front of them.

Two features Granite has that Whisper turbo does not

Keyword biasing. Granite Speech 5.0 2B accepts a keyword list of up to 2,000 terms per prompt and was trained on 23,600 hours of keyword-biased audio across the European and Japanese language groups. Whisper has no equivalent interface — the closest you get is a prompt string that nudges style and vocabulary, with no training behind it. For a deployment transcribing product names, drug names, ticket IDs or a customer's own glossary, this is the single most useful difference between the two models and it does not show up in any WER average.

Language-ID prompting. You can tell Granite what language the audio is in and instruct it to transcribe rather than translate. Whisper detects language automatically and, in the turbo variant, only transcribes. For a mixed-language corpus where you already know the language from metadata, forcing it removes a whole class of error — Whisper occasionally mis-identifies a short clip and then transcribes confidently in the wrong language.

The migration, in steps that actually work

If the language question clears, the switch is less painful than the ecosystem gap suggests, because most Whisper-based pipelines already have the seam you need.

1. Keep your VAD. Both models want segments, not files. Whatever you use to chunk audio for Whisper will work for Granite at up to two minutes per segment instead of thirty seconds.

2. Replace the decode call, not the plumbing. Granite loads through AutoModelForSpeechSeq2Seq and AutoProcessor in transformers>=4.52.1, or through vLLM, llama.cpp at Q8_0, or mlx-audio on Apple Silicon. If your service shells out to faster-whisper, you are swapping one local model call for another.

3. Rewrite the prompt. Granite is instruction-driven, and the prompt selects the mode: raw transcript, punctuated transcript, keyword-biased, language-ID-pinned. This is the step teams skip, and then they conclude the model is worse because they fed it Whisper's default behaviour.

4. Re-baseline your WER on your own audio, not on LibriSpeech. This is not a formality. Whisper's weakness on the leaderboard is formatting and long-form drift; if your audio is 30-second clean English clips and your downstream step is a language model that fixes formatting, your measured gap may be near zero — or, if your audio is accented and far-field, larger than 2.8 points.

5. Keep a fallback path. Granite Speech 5.0 2B's non-English coverage is a hard boundary, and a language detector in front of the model is not optional in a multilingual product. Anything that falls outside the seven languages routes to Whisper.

Where the routing layer earns its place

Step five is the part of this migration that turns into architecture. A language-and-quality dispatch in front of two speech models, plus whatever language model cleans up the transcript afterwards, is three model calls per file, and three separate vendor integrations is how a simple pipeline becomes a maintenance problem.

OrcaRouter is one O​penAI-compatible endpoint over 200+ models at provider list price with no markup added, so the post-processing stage — the cleanup, the summarisation, the field extraction — can be swapped or A/B tested without touching the speech code, and a provider outage fails over instead of failing the job. The routing DSL can hold the dispatch rule itself: detect the language, send the seven supported ones to the self-hosted Granite checkpoint, send everything else to Whisper, and hand the transcript to whichever cleanup model the task calls for. That last hop is the one we can actually serve today; neither Granite Speech 5.0 2B nor Whisper large-v3-turbo is in our catalogue, so the speech models stay on your own hardware and the routing starts one step downstream, where it still removes most of the integration work.

Who should switch, and who should not

Switch if your audio is English plus the six Granite languages, your accuracy matters more than your ecosystem familiarity, you need keyword biasing or forced language, and you can live without word-level timestamps for now. The 5.06% against 7.83% is a real gap in a direction that matters, and 570 RTFx against 200 RTFx means the switch likely reduces your GPU bill at the same time.

Do not switch if you need any of the other ninety-two languages, word-level timestamps, speaker attribution, or a managed endpoint — Granite Speech 5.0 2B is not deployed by any inference provider as of writing, and self-hosting is the only path to it today. Whisper large-v3-turbo is available everywhere, including places that will not let you run your own GPUs.

Run both if you have a long language tail. The dispatch is cheap, the tail is low-volume by definition, and it removes the only argument Whisper has left.

A generated two-column scoreboard comparing Granite Speech 5.0 2B and Whisper large-v3-turbo on licence, parameters, languages, English WER, noisy WER and timestamp support, footnoting that the Whisper noisy figure is for the parent large-v3.