What Word Error Rate Measures, and Why Speech-to-Text WERs Disagree
Word error rate counts the words a speech-to-text system gets wrong. The same model can score about 1% on read audiobooks and 12% on conversations, so leaderboards that pick different test sets, text normalizers and averages publish different WERs.
Checked against the Hugging Face Open ASR Leaderboard version of Oct 9, 2026 (results file at dataset revision d3c0e9a) and Artificial Analysis AA-WER v2
One model, eleven test sets: Zoom Scribe v2 Pro WER %
Measured by the Hugging Face Open ASR Leaderboard, version of Oct 9, 2026. Lower is better.
As of All figures measuredLeaderboard version 09-10-2026, retrieved Oct 13, 2026; lowest average first
| Model | Weights | Params (B) | LibriSpeech clean (WER %) | AMI meetings (WER %) | Earnings22 (WER %) | URGENT24 noisy (WER %) | Private conv. (WER %) | Average (WER %, 11 sets) | Figure |
|---|---|---|---|---|---|---|---|---|---|
| Scribe v2 Pro1Zoom · zoom/scribe_v2_pro | Proprietary | — | 1.11 | 6.08 | 4.12 | 7.99 | 12.10 | 4.70 | Measured |
| Azure Speech (07-2026)1Microsoft · microsoft/azure-speech-07-2026 | Proprietary | — | 1.23 | 7.05 | 5.20 | 9.90 | 12.71 | 5.02 | Measured |
| Multilingual1Modulate · modulate/multilingual | Proprietary | — | 0.87 | 6.31 | 6.00 | 10.04 | 12.30 | 5.06 | Measured |
| Resonant-11Reson8 · reson8/resonant-1 | Proprietary | — | 0.92 | 8.22 | 5.48 | 9.64 | 12.61 | 5.21 | Measured |
| Scribe v21ElevenLabs · elevenlabs/scribe_v2 | Proprietary | — | 1.06 | 8.19 | 4.80 | 9.20 | 13.66 | 5.24 | Measured |
| ASR-K1 (preview)1Sophea · sophea/asr-k1 | Proprietary | — | 1.18 | 6.28 | 5.56 | 10.07 | 12.78 | 5.30 | Measured |
| Universal-3.5 Pro1AssemblyAI · assemblyai/universal-3-5-pro | Proprietary | — | 1.10 | 10.63 | 6.05 | 9.08 | 12.80 | 5.39 | Measured |
| Qwen3-ASR-1.7B1Qwen · Qwen/Qwen3-ASR-1.7B-hf | Open weights (apache-2.0) | 2.04 | 1.26 | 8.31 | 5.84 | 9.93 | 12.14 | 5.40 | Measured |
| Pulse1Smallest AI · smallestai/pulse | Proprietary | — | 1.30 | 9.11 | 4.74 | 10.44 | 13.50 | 5.71 | Measured |
| Cohere Transcribe (03-2026)1Cohere Labs · CohereLabs/cohere-transcribe-03-2026 | Open weights (apache-2.0) | 2 | 0.97 | 7.02 | 7.88 | 9.50 | 13.46 | 5.77 | Measured |
| Symphony1Sprag · sprag/symphony | Proprietary | — | 1.00 | 9.02 | 6.01 | 12.64 | 12.78 | 5.84 | Measured |
| Hojo-ASR-V11HojoAI · HojoAI/Hojo-ASR-V1 | Open weights (apache-2.0) | 5.18 | 1.30 | 7.54 | 6.97 | 12.33 | 13.40 | 5.85 | Measured |
| TheWhisper large-v3-turbo1TheStage AI · TheStageAI/thewhisper-large-v3-turbo | Open weights (cc-by-4.0) | 0.8 | 1.41 | 7.32 | 7.18 | 10.82 | 13.98 | 5.91 | Measured |
| Higgs Audio v3 STT1Boson AI · bosonai/higgs-audio-v3-stt | Open weights (apache-2.0) | 2.68 | 1.08 | 7.19 | 7.04 | 11.88 | 14.34 | 5.92 | Measured |
| ARK-ASR-3B1Edge0 · Edge0/ARK-ASR-3B | Open weights (apache-2.0) | 3.75 | 1.04 | 7.89 | 8.07 | 13.29 | 12.90 | 5.92 | Measured |
| ARK-ASR-0.6B1Edge0 · Edge0/ARK-ASR-0.6B | Open weights (apache-2.0) | 1.15 | 1.48 | 8.61 | 6.75 | 12.49 | 12.57 | 5.93 | Measured |
| Canary-Qwen-2.5B1NVIDIA · nvidia/canary-qwen-2.5b | Open weights (cc-by-4.0) | 2.5 | 1.23 | 7.91 | 6.41 | 13.02 | 13.41 | 5.94 | Measured |
| Granite Speech 4.1 2B1IBM · ibm-granite/granite-speech-4.1-2b | Open weights (apache-2.0) | 2 | 1.03 | 7.06 | 6.69 | 11.25 | 14.19 | 5.96 | Measured |
| GPT Transcribe1OpenAI · openai/gpt-transcribe | Proprietary | — | 1.31 | 8.95 | 6.61 | 12.86 | 12.90 | 5.96 | Measured |
| Parakeet TDT 0.6B v21NVIDIA, fast-gpu-asr decoding · nvidia/parakeet-tdt-0.6b-v2 | Open weights (cc-by-4.0) | 0.6 | 1.27 | 9.02 | 6.83 | 11.58 | 13.33 | 5.98 | Measured |
One benchmark only: the Hugging Face Open ASR Leaderboard's short-form English track, as displayed in its leaderboard tab (version 09-10-2026), which ranks 54 models.1 Rows are its 20 lowest averages; ties share their position in the leaderboard's own order. "Average" is the leaderboard's own macro-average over 11 test sets (9 public sets plus 2 private aggregates), not a figure we computed; five of the 11 are shown.3 Earnings22 is the "Earnings22-Cleaned-AA-chunked" set; "Private conv." aggregates private conversational sets from Appen, DataoceanAI and Voice Arena.1 Parameter counts and licenses are as listed in the leaderboard's results file; "—" means not disclosed.2 All text is normalized before scoring (below). Nine models in the results file have no average because they lack at least one of the 11 sets, and are left out.4 WER figures from other leaderboards or from vendors are not mixed in. Figure labels: how they work; benchmark rules: how we report benchmarks.
How it works
The formula: substitutions, deletions and insertions
Word error rate (WER) lines up a system's transcript with a human reference transcript, word by word, and counts three kinds of mistake: substitutions (S, a wrong word), deletions (D, a missing word) and insertions (I, an extra word). The total is divided by the number of words in the reference, N: WER = (S + D + I) / N.1 In the leaderboard's own example, the reference "the cat sat on the mat" transcribed as "the cat sit on the" has one substitution and one deletion, so WER = 2 / 6, or 33%.1 The result reads as the average number of errors per reference word, and lower is better.8
Two consequences follow from the definition. Insertions count in the numerator but not in N, so a system that adds many words that were never spoken can score above 100%. The jiwer library's documentation gives the extreme case: two words transcribed over silence (an empty reference) score a WER of 2, or 200%, which it uses to test whether models hallucinate on silent audio.9 And every word counts the same: "sit" for "sat" is one wrong character but a whole wrong word.7 For languages written without spaces between words, such as Mandarin and Japanese, evaluators use the character error rate (CER) instead.7
Text normalization decides what counts as an error
Models differ in whether they output punctuation, capital letters, numerals or filler words such as "um", and reference transcripts differ too. Scored raw, "Twenty dollars." against "twenty dollars" would be counted as a mistake. So the Open ASR Leaderboard normalizes both texts before computing WER: it removes punctuation and casing, converts number words to digits ("zero" to "0"), standardizes spelling, drops filler words and treats compounds such as "white paper" and "whitepaper" as equal, in a pipeline that closely follows OpenAI's Whisper normalizer.15 Hugging Face's audio course notes that normalizing makes WERs "naturally lower", though the model "isn't necessarily better for production".7
That makes the normalizer part of the benchmark. The leaderboard switched to an updated English normalizer on June 24, 2026, so WERs from before and after that date aren't strictly comparable.1 A WER quoted without its normalizer is missing half its definition.
The test set sets the difficulty
WER depends heavily on the audio. The chart above shows one model, Zoom's Scribe v2 Pro, at 1.11% on LibriSpeech clean (5.4 hours of read audiobooks) and 6.08% on AMI (9 hours of spontaneous meeting speech), 7.99% on URGENT24 (speech overlaid with noise and room reverberation) and 12.10% on the private conversational sets.1 Hugging Face's WER metric card makes the same point across datasets: LibriSpeech results are typically reported in the 1.8 to 3.3 range, TIMIT results in the 8.3 to 20.4 range.8
The order of models changes by test set as well. In the table, Modulate's Multilingual has the lowest LibriSpeech clean WER on the whole leaderboard (0.87%) but ranks third on average, while Zoom's Scribe v2 Pro is lowest on Earnings22, AMI, URGENT24 and the private conversational sets.1 The reference transcripts matter too. On the original Earnings22 set, ElevenLabs' Scribe v2 scores 8.90% and Reson8's Resonant-1 8.79%; on the cleaned 1.9-hour version prepared by Artificial Analysis, which the leaderboard switched to on Aug 21, 2026, the same models score 4.80% and 5.48%.12 These are different versions of the test set, so the two numbers never belong in the same column.
Averages: which sets, and how they're weighted
A single "average WER" hides two choices: which test sets go in, and how much each one counts. The Open ASR Leaderboard takes a macro-average, so each of its 11 sets counts equally, whether it holds 1.92 hours of audio (URGENT24) or 100 hours (SPGISpeech).1 A model gets an average only if it has a score on every set; otherwise its average is shown as "NA".4 The set list also changes: private data joined the default average on July 24, 2026, and URGENT24 on Oct 9, 2026.13
The raw results file shows why that rule matters. It still carries an "avg" field, which the leaderboard's code ignores; for Reson8's Resonant-1 Flash it reads 4.02, the lowest in the file, but the model has no URGENT24 score, so the leaderboard gives it no average and no rank.24 Artificial Analysis averages differently: its AA-WER v2 is weighted by audio duration across about 8 hours from three datasets, with its own AA-AgentTalk set at 50% and cleaned VoxPopuli and Earnings22 sets at 25% each.10
Harness and decoding settings
The code around a model changes its score. The leaderboard cuts short-form audio into chunks of at most 30 seconds, with a few exceptions, and for its Earnings22 set it transcribes each chunk and joins them before scoring against the full transcript.51 It runs English evaluations as Docker images on the same hardware through Hugging Face Jobs, to keep the environment fixed.6 Decoding matters even for one set of weights: the same SoundsgoodAI Zipformer model averages 6.82% with transducer beam search and 8.38% with greedy CTC decoding.1
Hosting matters as well. On Artificial Analysis, OpenAI's Whisper Large v3 measures 4.1% through fal.ai, 4.5% through Together AI and 10.1% through Replicate.10 A WER describes a model run in a particular way, not the weights alone.
Who ran the test: vendor-run and independent numbers
To add a model to the Open ASR Leaderboard, a contributor opens a pull request with evaluation scripts and self-reported metrics; the maintainers re-run the scripts in their own environment before the leaderboard is updated, and evaluate the model on the private sets themselves.56 The private sets exist to "address risks of overfitting to public datasets": the leaderboard's paper notes it can't fully rule out that a model was trained on a public test set.15 A vendor's own WER, measured on its own audio with its own normalizer and average, is a vendor-stated figure; MetaPrompt never ranks it against independent results.
Even two independent leaderboards disagree. Artificial Analysis measures ElevenLabs' Scribe v2 at 2.2% AA-WER and Zoom Scribe V2 Pro at 2.8%; the Open ASR Leaderboard averages them at 5.24% and 4.70%, so the order flips.101 Mistral's Voxtral Small is the open-weights model with the lowest AA-WER (2.8%) on Artificial Analysis and its 24B-2507 version ranks 30th on the Open ASR Leaderboard at 6.38%.101 Neither is wrong: they measure different audio with different averages, which is why this page shows one benchmark per table.
What WER doesn't capture
Because punctuation and casing are stripped before scoring, a leaderboard WER says nothing about how readable the formatted transcript is.17 It compares word strings only, so it doesn't score who said each word (speaker labels) or when. It treats a harmless slip and a meaning-changing error the same, and, as Hugging Face's metric card puts it, "provides no details on the nature of translation errors".8 Speed is a separate measurement: the Open ASR Leaderboard reports the inverse real-time factor (RTFx, seconds of audio transcribed per second of compute) from the same run, and Artificial Analysis reports a speed factor and a price per 1,000 minutes alongside AA-WER.110
Sources
- Hugging Face, Open ASR Leaderboard (Leaderboard, Private data, About and changelog tabs; version "Latest results" = 09-10-2026, Space commit 840ca16), retrieved 2026-10-13.
- Hugging Face, open-asr-leaderboard-results: english_short_latest.csv, revision d3c0e9a (the revision the leaderboard pins; identical to the dataset head c7826fc, last updated 2026-10-09), retrieved 2026-10-13.
- Hugging Face, Open ASR Leaderboard source: init.py (version registry and default datasets), commit 840ca16, retrieved 2026-10-13.
- Hugging Face, Open ASR Leaderboard source: app.py (average WER computation), commit 840ca16, retrieved 2026-10-13.
- Srivastav et al., Open ASR Leaderboard: Towards Reproducible and Transparent Multilingual and Long-Form Speech Recognition Evaluation, arXiv 2510.06961 v4 (March 30, 2026), retrieved 2026-10-13.
- Hugging Face, open_asr_leaderboard repository README, retrieved 2026-10-13.
- Hugging Face, Audio Course, Unit 5: Evaluation metrics for ASR, retrieved 2026-10-13.
- Hugging Face Evaluate, Metric card: WER, retrieved 2026-10-13.
- jiwer, jiwer documentation, retrieved 2026-10-13.
- Artificial Analysis, Speech to Text: AA-WER v2 leaderboard, retrieved 2026-10-13.