Skip to main content
Use one dataset with human ground truth, and the same normalization before comparing providers. Otherwise scores are not comparable.

Methodology

Collect representative data

Use production audio that matches your traffic: noise, overlap, accents, and domains. Keep it under a DPA for the eval window, then flush it.

Human annotation

Create independent ground truth. Do not score providers against each other’s transcripts.

Run all STT providers

Transcribe the same audio with every provider so the comparison is fair.

Normalize

Normalize reference and predictions with the same pipeline before WER, so Mr. / Mister and $50 / fifty dollars mismatches does not count as errors.

gladia-normalization

Open-source text normalization for fair WER scoring

Generate metrics and analyze

Compute WER (and NER where it matters), then inspect where critical details fail: names, numbers, acronyms, noisy slices.
Lower is better. Do not stop at one average score.

Before you start

Decide what “good” means for your product (noise, diarization, entities, domain vocab, timestamps). If the dataset does not look like your traffic, the score will not predict production quality.

Common pitfalls

  • Different datasets per provider
  • Weak ground truth
  • Counting formatting as recognition errors
  • Too few samples, or a wrong distribution of your real audio traffic diversity
  • Reference text that is not in the audio