8kHz Phone Call ASR: Latency and Accuracy Budget

Connor Blier
Founding GTM

A single telephone handset drawn as a stylised head in profile, the earpiece shaped like an ear canal, with short horizontal tick marks beside it suggesting a choppy, bandwidth-limited audio signal.

8kHz Phone Call ASR: Latency and Accuracy Budget

On 8kHz phone audio, latency and accuracy are coupled constraints, not independent dials. Narrowband caps frequencies at 4kHz and strips roughly half the acoustic information, pushing real-world WER from 7.7% to 28.6%. Budget end-to-end latency at 500-800ms and measure both on your own calls.

Phone-call ASR forces a decision most benchmark pages skip: you cannot independently maximize latency and accuracy on 8kHz narrowband audio. The sampling rate is fixed physics, the error profile is predictable, and every millisecond you spend chasing accuracy is a millisecond subtracted from your turn budget. This guide treats 8kHz as a budget you engineer around, and pins both axes to numbers you can measure.

Why 8kHz is a fixed constraint, not a tuning knob

Telephony is sampled at 8,000Hz. By the Nyquist theorem that caps representable frequency at 4kHz: "If you sample at 8,000 hertz, the highest sound you can represent is 4,000 hertz. Everything above that is gone, not merely degraded but absent from the recording." This is not noise you can denoise away. The high band is "discard[ed] before the recognizer ever sees it," setting a permanent ceiling.

Concretely, 8kHz sampling removes about 50% of acoustic information versus wideband, and what it removes is exactly the high-frequency energy "that distinguishes similar consonants." So do not upsample to 16kHz and expect gains. Google's own guidance is explicit: capture at 16kHz or higher where you can, but "avoid re-sampling" - in telephony "the native rate is commonly 8000 Hz, which is the rate that should be sent to the service." Send native 8000Hz; resampling invents data the recognizer treats as real.

What narrowband costs in accuracy (WER)

Legacy telephony stacks were brutal: "real-world telephony WER often runs 40-50%" once you add noise and packet loss. Modern models close much of that gap, but not uniformly. A benchmark on 16,311 streaming telephony recordings at 8kHz - "with upsampling applied only when required by a provider's model" - found overall WER from 7.7% to 28.6% depending on provider. That is a nearly 4x spread on identical narrowband audio.

Errors concentrate where narrowband hurts most. The clipped high band throws away "the high-frequency energy that distinguishes consonants like s, f, and th - exactly the sounds ASR confuses most." Digits and alphanumerics (account numbers, confirmation codes) inherit this, because they lean on fricatives and short tokens with little context to rescue them. A single aggregate WER hides this: your overall number can look fine while the digit subset that actually gates your call flow is failing. Measure a digit subset separately.

The latency budget, component by component

Real-time conversational AI should target 500-800ms end-to-end for interaction to feel natural. Spend it deliberately:

  • Chunking: streaming splits audio into frames "commonly 20 to 100 milliseconds each," a latency-versus-overhead trade-off - "Smaller frames mean lower latency and more messages."

  • Network: cloud transmission "typically starting around 50 ms depending on server distance" and ranging to ~300ms.

  • Buffering: ~250ms of audio buffering.

  • Model processing: 100-300ms.

  • Endpoint detection: 200-500ms - often the largest single line item.

Those add up fast, which is why median latency flatters you and p99 tells the truth. Report both. For the endpointing line specifically, see our breakdown of end-of-turn detection model latency, and for the transport layer our guide to streaming STT latency over WebSocket.

The core trade-off: you cannot max both

Everything that buys accuracy costs latency. Longer context windows and rescoring improve WER on ambiguous fricatives but delay commitment. Smaller chunks and aggressive endpointing cut latency but hand the model less acoustic context to disambiguate the consonants narrowband already blurred. On 8kHz this is sharper than on wideband because the acoustic evidence is thinner to begin with. Pick a target turn time, then spend the accuracy budget that fits - do not tune one axis blind to the other. The same latency-vs-intelligence tension governs the whole pipeline, as we discuss in speech-to-speech vs cascaded voice agent latency.

Deployment topology: on-device vs cloud

Where you run the model moves the whole budget. On-device "eliminates network delays entirely, allowing lightweight engines to achieve sub-500 ms total latency, while cloud-based systems typically experience 500-1200 ms in real-world deployments despite vendor claims of sub-300 ms." The lever most teams miss is co-location: a hosted STT API adds a round trip you can delete by running the model next to your pipeline.

We measured this directly. Time-to-first-byte "from the Deepgram API is ~250ms whereas the TTFB hosting it locally on Cerebrium is ~110ms which is a 140ms saving" - detailed in our 500ms global voice agent build. On a full pipeline we hit 600ms end-to-end first-time-to-audio with Ultravox on Cerebrium. Cold starts can erase all of it, so size that too - see serverless GPU cold starts for voice AI.

Streaming transport and capture

Keep audio and results on one persistent bidirectional connection. Streaming's "main benefit is low incremental latency. Audio and results share one open connection, avoiding a new request handshake for every utterance." Capture at native 8000Hz, stream over WebSocket, and treat chunk size as a tunable dial rather than a default. Network placement compounds here; our notes on network latency in the inference pipeline cover the transport cost in detail. If you are self-hosting the recognizer, our Faster-Whisper real-time tuning guide is the practical starting point.

A measurement plan: pin numbers to your own calls

Benchmark WER lies about your traffic because it was computed on someone else's audio. Build a small plan instead:

  1. Accuracy: compute WER on a held-out set of your real 8kHz calls, overall and on a digit/alphanumeric subset. The gap between the two is your actual risk.

  2. Latency: break the budget into the five components above and log each, reporting median and p99.

  3. Topology: A/B hosted API vs co-located model; we measured a 140ms TTFB saving from co-location, and self-hosting the LLM has run "50% faster and still 3x cheaper" in our work.

  4. Cost: tie it back to voice AI agent cost per minute so the accuracy you buy is priced.

For multilingual or accented traffic the error floor shifts again; see transcription challenges for multilingual voice agents. The discipline is the same across all of it: 8kHz is fixed, so budget latency and accuracy together and measure both on your own calls.

Frequently asked questions

Should I upsample 8kHz phone audio to 16kHz before transcription?
No. Upsampling cannot recover frequencies above 4kHz that 8kHz sampling never captured - everything above 4kHz is absent, not degraded. Google's guidance is to avoid resampling and send telephony audio at its native 8000Hz, applying upsampling only if a specific provider's model requires it.
What WER should I expect on 8kHz call audio?
Legacy telephony stacks often ran 40-50% WER. Modern ASR on real 8kHz streaming telephony benchmarked from 7.7% to 28.6% overall depending on provider. Expect worse on digit and alphanumeric segments, where fricative loss concentrates errors, so measure that subset separately.
What end-to-end latency target is realistic for phone-call voice agents?
Aim for 500-800ms end-to-end for natural interaction. Budget it across chunking (20-100ms), network (50-300ms), buffering (~250ms), model (100-300ms), and endpointing (200-500ms). On-device can reach sub-500ms; cloud deployments commonly land at 500-1200ms in the real world.
Why can't I just maximize both latency and accuracy?
They trade off. Longer context and rescoring raise accuracy but delay commitment; smaller chunks and aggressive endpointing cut latency but starve the model of context. On 8kHz the acoustic evidence is already halved, so the trade-off is sharper than on wideband audio.
Does hosting the model myself actually reduce latency?
It can. We measured Deepgram TTFB at ~250ms via the hosted API versus ~110ms co-located on Cerebrium, a 140ms saving, and reached 600ms end-to-end first-time-to-audio on a full Ultravox pipeline. Co-location removes a network round trip you otherwise pay on every utterance.

Get started with Cerebrium

Deploy AI models on serverless GPUs in minutes, with no infrastructure to manage. Start for free and pay only for the compute you use.

Sign up free

Sources

  1. soniox.com
    “If you sample at 8,000 hertz, the highest sound you can represent is 4,000 hertz. Everything above that is gone, not merely degraded but absent from the recording.”

    Nyquist limit on 8kHz telephony audio.

  2. soniox.com
    “The same voice, two ceilings. 8 kHz telephony discards the high band before the recognizer ever sees it.”

    Permanent ceiling 8kHz sets on ASR.

  3. assemblyai.com
    “8kHz sampling rates remove 50% of acoustic information”

    Half the acoustic information lost on narrowband.

  4. vobiz.ai
    “Legacy real-world telephony WER often runs 40–50%.”

    Legacy telephony WER baseline.

  5. vobiz.ai
    “That throws away the high-frequency energy that distinguishes consonants like s, f, and th - exactly the sounds ASR confuses most.”

    Where narrowband errors concentrate.

  6. connex.ai
    “Processing modes evaluated: Streaming telephony (8 kHz), with upsampling applied only when required by a provider's model.”

    Benchmark on 8kHz streaming telephony; WER 7.7% to 28.6%.

  7. docs.cloud.google.com
    “However, avoid re-sampling. For example, in telephony the native rate is commonly 8000 Hz, which is the rate that should be sent to the service.”

    Send native 8000Hz, do not resample.

  8. soniox.com
    “commonly 20 to 100 milliseconds each (the exact size is a latency-versus-overhead trade-off). Smaller frames mean lower latency and more messages.”

    Chunk size latency trade-off.

  9. picovoice.ai
    “real-time conversational AI systems targeting 500–800 ms end-to-end latency for natural interaction”

    End-to-end latency target.

  10. picovoice.ai
    “audio buffering (~250 ms), model processing (100–300 ms), and endpoint detection (200–500 ms).”

    Latency budget components.

  11. picovoice.ai
    “allowing lightweight engines to achieve sub-500 ms total latency, while cloud-based systems typically experience 500–1200 ms in real-world deployments despite vendor claims of sub-300 ms.”

    On-device vs cloud topology latency.

  12. soniox.com
    “Audio and results share one open connection, avoiding a new request handshake for every utterance.”

    WebSocket persistent connection benefit.

  13. cerebrium.ai
    “the TTFB (time-to-first-byte) from the Deepgram API is ~250ms whereas the TTFB hosting it locally on Cerebrium is ~110ms which is a 140ms saving.”

    First-hand: co-location TTFB saving.

  14. cerebrium.ai
    “we are able to achieve an end-to-end latency (First time to audio, in just 600 ms).”

    First-hand: 600ms end-to-end on Cerebrium.

  15. cerebrium.ai
    “latencies are 50% faster and still 3x cheaper.”

    First-hand: self-hosting LLM on Cerebrium.


Related resources

See all
A stopwatch-like clock face with a single sweeping hand pointing toward the upper right, its hour marks reduced to four short ticks at the top, bottom, left and right, symbolizing the ticking per-frame delay of real-time video generation.
Real-Time Video Generation Latency on Serverless GPU
A round clock face with its minute hand frozen partway, and a small magnifying-glass style circle highlighting a point just past the center where the hands meet, suggesting a measured delay.
End-of-Turn Detection Latency in Voice Agent Pipelines
A single bold lightning bolt, centred and filling most of the frame, symbolising fast low-latency inference speed.
Groq Alternatives for Low-Latency LLM Inference