← AI Engineering
Deep Learning · Audio · Speech Recognition

Speech-to-Text with Whisper: Accuracy vs. Cost

Not "does Whisper work" — it does, out of the box — but which size is actually worth using, and under what conditions? Three model sizes compared on clean and challenging audio, weighing accuracy against inference time.

Python Whisper Speech Recognition Cost/Accuracy Trade-off

The problem

Whisper transcribes speech impressively well right out of the box — no training required. The more useful question for production is which size to actually deploy, and whether a bigger model is worth its cost. Three Whisper sizes were evaluated on 100 LibriSpeech clips split across an easy and a hard audio condition.

Key results

3.00%
Best WER (small, clean audio)
3-4x
WER increase on harder audio
8x
Inference time, tiny→small
2.3x
Accuracy gain for that 8x cost

Three models, two conditions

Whisper tiny (37.2M parameters), base (71.8M), and small (240.6M) were each run on 50 clips from LibriSpeech's test-clean (easier audio) and test-other (harder audio) splits, measuring both Word Error Rate and total inference time.

ModelWER (clean)WER (other)Time (clean)Time (other)
tiny6.88%23.20%127.7s139.8s
base5.33%19.87%303.0s285.5s
small3.00%14.13%986.2s1038.3s

Audio condition matters more than model size

The clearest pattern in the results: every model's error rate was 3-4x higher on test-other than on test-clean — a far larger gap than the difference between any two model sizes on the same condition. Even Whisper small's error rate on hard audio (14.13%) was still worse than tiny's error rate on clean audio (6.88%). No amount of model upgrading closed that gap.

Two charts: a grouped bar chart of Word Error Rate by model size and audio condition, and a scatter plot showing the accuracy vs inference time trade-off across model sizes
Left: WER by model and condition. Right: the accuracy/cost trade-off — note the flattening curve as model size increases.

Diminishing returns on model size

Moving from tiny to small roughly halved the error rate, but inference time grew by nearly 8x over the same range — a return that shrinks sharply as model size increases. The tiny→base step bought a meaningful accuracy gain for a proportionally smaller time cost; the base→small step cost far more time for a comparatively similar-sized accuracy gain.

There's no single "best" Whisper size. A latency-sensitive use case (live captioning) favors tiny or base; an offline, accuracy-critical use case (legal transcription) can justify small's steep computational cost. The right question isn't "which model scores best" — it's "what's this accuracy worth, given what it costs to get there."

Tools used

Python openai-whisper Hugging Face datasets jiwer Pandas