8 kHz vs 16 kHz for voice agents: what the WER data says
On our narrowband test an 8 kHz leg costs a recogniser 5.79% WER on clean speech against 4.74% at 16 kHz, and the gap widens as noise rises. No enhancement path we measured, native 8 kHz or upsampled, beat the untouched 8 kHz audio.
8 kHz costs a recogniser 5.79% WER on clean speech against 4.74% at 16 kHz in our test, and the gap grows as noise rises: about a point on clean audio, several points at 0 dB SNR. None of the enhancement paths we measured on the 8 kHz leg recovered it, so the practical answer is to keep the rate the carrier gives you and not to upsample for the sake of a model.
All numbers below come from the Null Test artefacts, benchmark.json and the separate narrowband run (both stamped 2026-08-14), scored with faster-whisper base.en. We covered the carrier side of this in 8 kHz is where voice AI breaks; this post asks only what the WER says.
Same noise level, two sample rates
| Condition (raw audio, no enhancement) | 16 kHz WER | 8 kHz WER | Delta (pp) |
|---|---|---|---|
| clean | 4.74% | 5.79% | +1.05 |
| SNR 10 dB | 6.32% | 10.00% | +3.68 |
| SNR 0 dB | 11.05% | 16.32% | +5.26 |
Measured 2026-08-14. The 16 kHz column is the 19-condition matrix; the 8 kHz column is the narrowband run (60 clips, 190 reference words per condition). One reference word is 0.53 pp in a single condition, so the clean-speech gap of 1.05 pp is two words. We read the SNR 0 dB gap as real and the clean gap as small.
What happens when you add a model to the 8 kHz leg
| 8 kHz path | WER | vs raw8k (pp) |
|---|---|---|
| raw8k (no processing) | 11.14% | 0.00 |
| soxr_vhq resample only | 10.96% | -0.18 |
| aic-quail-l-8khz (native 8 kHz) | 11.05% | -0.09 |
| aic-quail, upsampled (soxr_vhq) | 11.75% | +0.61 |
| gtcrn, upsampled (soxr_vhq) | 16.58% | +5.44 |
| fastenhancer-b, upsampled (soxr_vhq) | 17.63% | +6.49 |
Measured 2026-08-14, 1,140 reference words per row, so one word is 0.09 pp. Native 8 kHz weights from ai-coustics (proprietary baseline, benchmark-only) tie the untouched audio: 11.05% against 11.14%. Upsampling to a 16 kHz model costs more: 11.75% for the same vendor's 16 kHz model, 16.58% for GTCRN. Sixteen kilohertz models fed a narrowband signal are being asked to work on bandwidth that is not there.
What we take from it
First, the sample rate is a smaller lever than the noise on the line: at 10 dB SNR the 8 kHz penalty is a few points, while the competing-voice conditions in the 16 kHz matrix move WER by tens of points. Second, a resampler is not the villain: the round-trip control showed no per-resample loss, which is why we retracted that claim. Third, if you add enhancement on a telephony leg, measure it against the raw 8 kHz audio on your own calls, because on ours nothing beat it.
The recogniser matters here: a larger model will have smaller absolute numbers, and the harness can score other recognisers so that the ordering can be checked.
FAQ
Does 16 kHz always beat 8 kHz for speech recognition? In our like-for-like rows, yes, by 1.05 pp on clean speech and more in noise. We did not test a recogniser trained only on narrowband data.
Should I upsample 8 kHz audio before the STT? Our upsampled paths with a model in front were worse than raw 8 kHz. We did not measure upsampling without a model beyond the resample-only control, which tied the raw audio.
Is there an 8 kHz speaker-isolation model? In our run, ai-coustics was the only vendor with narrowband enhancement weights; the others ship no 8 kHz checkpoint. That is a statement about our test set, as of 2026-08-14.