Open navigation

Whitepaper / Oct 2026

MISTT Bench: Speech-to-text for voice agents under channel impairments

How we benchmarked 81 speech-to-text models on voice-agent, clinical and multilingual audio, timed streaming the way an agent waits, and paired every degraded clip with its clean original.

Yash Savalia

Founding MTS, Bluejay

Published

October 21, 2026

One caller turn shown as five waveforms (clean, light, moderate, severe, crosstalk) beside the median increase in word error rate for each mix across 81 models

Abstract

We introduce MISTT Bench, the Multi-condition Impairment Speech-to-Text Bench: a benchmark of speech-to-text models for voice agents. Version 0 ranks 81 batch and streaming models from 25 vendors on 2,999 frozen clips (7.06 hours) of voice-agent caller turns, doctor–patient consultations and five-language parliamentary speech, plus 400 degraded copies of 100 of them: phone lines, low-bitrate codecs, bursty packet loss, real noise and an intelligible background talker. That is 275,319 scored transcriptions. MISTT makes three choices that existing STT leaderboards don't make together. It runs once per model version, as Artificial Analysis does, rather than on a cron. It times streaming models from a forced end of speech, the moment a voice agent starts waiting. And it pairs every degraded clip with its clean original, so robustness is measured on the same words rather than on harder sentences. Every accuracy number carries a clustered bootstrap interval, and we only claim an order where intervals separate.

The headline results: the top of the board is a statistical tie (11 batch models inside the leader's interval, 15 streaming); doctor–patient audio is about 2.8× harder than voice-agent turns for every model; streaming costs accuracy in 14 of 14 same-vendor pairs; and phone-style damage reshuffles the ranking, with Kendall τ against the clean order falling to 0.588 on Severe and 0.374 with a background talker. This paper records every decision we made building and running v0, and what the results do and do not support.

01 / Overview

Why a speech-to-text benchmark for voice agents

A voice agent is only as good as the words its speech-to-text model hands it. A wrong medication name, a dropped "not", or a background voice transcribed as the caller's request becomes a wrong action a moment later. Choosing an STT model is also a three-way trade between accuracy, latency and price, made harder by billing rules and by audio that is rarely clean: callers are on phone lines, on mobile codecs, in kitchens and cars, with other people talking nearby.

MISTT, the sibling of MIVAS, measures exactly that. The name stands for Multi-condition Impairment Speech-to-Text. We always say channel impairments, never "impaired speech", which in speech research means speech disorders.

Models ranked

81

Clips per model

3,399

Reference words

65,106

Transcriptions

275,319

On the audio a voice agent actually receives, which speech-to-text models are accurate, fast and affordable, and how much of that survives a bad line?

02 / Landscape

What the public STT benchmarks measure

Four public benchmarks shaped the design. Each gets something right, and each leaves a gap that MISTT is built to fill.

Artificial AnalysisHF Open ASRSpeech Robust BenchMISTT v0
Modelscommercial APIs, batch and streamingmostly open models, some APIsopen checkpoints81 commercial APIs and hosted models
DataAgentTalk (voice-agent speech), VoxPopuli, Earnings22ESB: audiobooks, TED, meetings, earnings calls and moreLibriSpeech, TED-LIUM, MLS, CHiME-6, AMIpipecat + primock57 + VoxPopuli (5 languages)
Degradationsnone controlledURGENT24: noise and reverberation, paired with clean copies114 scenarios, mostly simulated, paired; includes a competing talkerown paired pipeline: telephony codecs, packet loss, noise, competing talker
Streaming latencytime to final from end of speechnone (RTFx, batch throughput)noneforced endpoint at shared VAD: TTFS, TTFT, WER@500
Intervalsnonenonenonebootstrap, clustered by consultation

Table 1 The benchmarks we studied, from their own methodology pages, papers and repos (checked October 2026).

  • Artificial Analysis has the right protocol: one full pass per model version, matched by API id, with streaming timed from the end of speech. Its audio includes voice-agent speech, but it doesn't vary the channel, so it can't say what a phone line or a noisy room does to a model.
  • The Hugging Face Open ASR Leaderboard covers the widest range of English datasets and several languages, scored with WER and batch throughput on fixed hardware, mostly for open models. It now includes URGENT24, which scores noisy and clean copies of the same speech; it has no streaming track.
  • Speech Robust Bench is the closest in spirit: clean audio paired with distorted copies, including a controlled competing talker, scored as the change in WER. It tests open checkpoints rather than deployed APIs, and its distortions approximate a phone band by resampling but include no codecs or packet loss.
  • CHiME supplies real far-field, multi-speaker audio, but as a research challenge for submitted systems, not a ranking of products.

Our lane is Artificial Analysis's protocol, plus conversational and medical audio, plus paired degradations that include an intelligible background talker, run against the commercial APIs voice agents actually call, with an interval on every number.

03 / Design

The design in one page

  1. 01Frozen manifest. Every clip pinned by source revision and SHA-256, speech start and end precomputed once with Silero VAD. Every model hears identical bytes.
  2. 02Run once per version. Rerun only on a new model release or a dataset or normalizer bump.
  3. 03Frozen weights. English index = 50% pipecat + 50% primock57; overall = 40/40/20 with VoxPopuli. Fixed in the spec before the first run.
  4. 04Intervals, not podiums. 95% intervals (the conventional level, not tuned) from a 1,000-sample bootstrap on every WER, primock57 resampled by consultation. No order is claimed inside overlapping intervals; overlap is cautious, so a shaded model may still be behind the leader.
  5. 05Agent-shaped latency. Real-time streaming, a forced endpoint at the shared VAD speech end, and a clock that starts only when the last frame has actually been sent.
  6. 06No composite score. Composites hide trade-offs and make #1 depend on weights. We show Pareto frontiers instead: accuracy against latency, and against price.
  7. 07Paired robustness. 100 clips × 4 mixes, each compared with itself clean. Reported as a separate probe, never folded into the main rank.
  8. 08Replayable scoring. Every raw provider message is logged with a core time stamp; metrics are computed offline from the logs, so fixes never need new provider calls.

04 / Datasets

Three public datasets, and the ones we rejected

DatasetRoleClipsHoursWordsIndependent unitsLicense
pipecat-ai/stt-benchmark-data @ea9d721evoice-agent caller turns1,0002.6623,2031,000 turnsCC BY 4.0
babylonhealth/primock57 @cd2ac707doctor–patient turns1,0001.4715,37657 consultationsCC BY 4.0
facebook/voxpopuli @42f01879parliament, 5 languages9992.9226,527200 per languageCC0

Table 2 Clean set v0. Details and licences on the datasets page.

pipecat is the closest public match to voice-agent traffic. Its references are Gemini-generated and human-reviewed according to the source, so we treat agreement against the reference as a warning sign (section 10). primock57 has human transcripts of mock GP consultations: conversational, dense with medications, doses and dates, and recorded over telemedicine software with patients on mobile phones, so the audio is already Opus-compressed. We took 1,000 single-speaker turns across all 57 consultations, dropped any utterance with a self-closing tag such as <INAUDIBLE_SPEECH/> (it appears 814 times) and stripped <UNSURE> tags. VoxPopuli adds German, French, Spanish and Italian (200 clips each, plus 200 English) read by HTTP range requests from a pinned revision.

Selection rules for every clip: 2–15 s, one speaker, at least three words, deduplicated, 16 kHz mono PCM16, loudness-normalized to −20 dBFS RMS, seeded and deterministic. Silero VAD (pinned ONNX, 0.5 on / 0.35 off, runs under 250 ms dropped, +100 ms end pad) gives speech start and end. One VoxPopuli clip was excluded because VAD found no speech (its source text was misaligned).

Rejected: real telephony recordings (we chose to simulate impairments so the channel can be separated from the speaker), SLURP audio and Speech-MASSIVE (non-commercial), Switchboard and Fisher (LDC licence), and synthetic TTS speech, which inflates scores. Scale: the spec started at about 2,900 clips; a 300-clip set was rejected because its ±0.7-point interval can't separate the top models. The median English interval in v0 is ±0.37 points.

05 / Protocol

Scoring accuracy and timing latency

WER is (S + D + I) ÷ reference words after normalization, pooled within each dataset. Both sides go through Whisper's EnglishTextNormalizer (English) or BasicTextNormalizer (other languages). After the first full scoring we found that primock57's transcripts write "OK" and "alright" where models write "Okay" and "All right". That cost every model about 2.5 points on primock57 and inflated Amazon's lead, so we added two English equivalences (ok → okay, alright → all right) for every model. We also record substitution, deletion and insertion rates, CER on VoxPopuli, raw un-normalized WER, a hallucination rate (three or more consecutive inserted words) and an empty-transcript rate.

Streaming protocol · one clip, real time (schematic, not to scale)
speech, sent as 20 ms frames in real time1 s silenceaudio startfirst frame sentspeech onsetSilero VADspeech endVAD + 100 ms padt0 = last speech frame + finalize actually sentfinal transcriptTTFBTTFTTTFSWER@500 ms = text held at t0 + 500 ms

Frames are paced on absolute deadlines. A stream counts only if no gap between frames exceeds 40 ms and total drift stays under 2%; anything else is a harness fault and is resent.

Streaming. Audio goes out in real time as 20 ms frames on an absolute-deadline pacer (50 ms for AssemblyAI, which rejects smaller chunks; 80 ms for Deepgram Flux). At the VAD speech end the harness sends the vendor's finalize message, then one second of silence. t0 is the moment the last speech frame and the finalize have actually been sent, so harness slip never counts against a model. TTFS (t0 → final) is the headline; TTFT is speech onset → first non-empty partial; TTFB is audio start → first server message; WER@300/500 ms is the WER of whatever text exists that long after t0. Models with no flush message (Amazon Transcribe Streaming, Gladia Solaria-1 Live) use AA's fallback, the first natural final within 2 s, and are flagged. When a provider's own endpointing finalizes before t0, TTFS is scored as 0 and flagged rather than dropped (Deepgram Flux English does this on 9% of clips).

Pacing gate. A stream counts only if no inter-frame gap exceeds 40 ms and drift stays under 2%. Failures are harness faults, resent, never charged to the model. Batch models are timed end to end (request sent → response received) and by speed factor (RTFx).

06 / Harness

Thin adapters, a fat core, and what broke

Harness architecture · thin adapters, fat shared core

01 / Data (frozen once)

  • pinned source revisions
  • decode → 16 kHz mono PCM16 → −20 dBFS
  • SHA-256 per clip
  • Silero VAD speech start / end
  • manifest clips-v0 + robust-v0

02 / Execution (per model)

  • one OS process per model
  • audio rendered to the model's format
  • absolute-deadline pacer, forced endpoint
  • thin vendor adapter → normalized events
  • every raw message logged with a core timestamp

03 / Scoring (offline, replayable)

  • reduce log → final text + timeline
  • gates: integrity, pacing, language, errors
  • WER / latency / cost metrics
  • pooled ratios, percentiles, bootstrap CIs
  • results.csv + summary.json per model

Each vendor adapter only translates its wire protocol into normalized events; a model is a YAML file (vendor, parameters, input format, languages, concurrency cap, pricing). The shared core renders audio, paces, finalizes, time-stamps, retries, logs and scores. A final commits a segment and a partial is the current segment; adapters for providers that resend cumulative text diff it themselves. Concurrency adapts per model (start at 2, double on clean streaks, halve with a 30 s cooldown on rate limits, stop on auth or quota errors). Every model writes identical results.csv columns and a summary.json with every metric present, null-shaped where it doesn't apply.

SymptomCauseFix
Batch SLOW_UPLOAD errors, 22 s E2EHTTP/2 multiplexed 50 uploads through one 64 KB windowHTTP/1.1 for batch uploads
~40% of streams pacing-invalida new TLS context per websocket reloaded CA certs on the event loopone shared SSL context
14% still pacing-invalida busy laptop: 50–350 ms OS stallsdedicated Linux host, 60 s pacing probe first
Batch bursts starving streamsupload bursts on the same hostnever run batch and streaming on one host at once
Error after a clean closeElevenLabs sometimes skips the close handshakeerrors after our close are ignored

Table 3 Harness lessons that cost real time, all from the first Deepgram runs.

Per-vendor decisions are recorded in each YAML. The ones that touch results: Cartesia's final chunks are joined as one running segment; Inworld's socket is closed after the forced-endpoint acknowledgement (its documented shutdown transcribed the silence tail as "Oh."); Together's Nemotron stream gets 320 ms of silence after t0 to flush its lookahead, which does not flatter TTFS; NVIDIA Riva and Google Chirp finalize by half-closing the gRPC stream; Speechmatics Melia-1 requires language: multi; Voxtral Small only works through chat completions with the shared transcription prompt; Alibaba's fun-asr alias is English only because it translated German; AssemblyAI Universal Streaming English uses format_turns for punctuated output; Sarvam is sent as en-IN.

07 / Roster

101 configs, 81 ranked

The target was Artificial Analysis's STT roster: 106 host-model entries (61 batch, 45 streaming), matched by exact API id. We built 101 configs across 33 vendors, including three that aren't on AA's list: Deepgram Flux Multilingual, AssemblyAI U3.6 Pro streaming in its default balanced mode, and Alibaba's international fun-asr-realtime alias. A model is ranked only if every clip of both sets finished (scored, refused by the provider, or outside its languages): 81 did.

ConfigClean doneReason
alebex-stt-realtime-stream2,993last 7 of 2,999 clips blocked by account limits
cohere-cohere-transcribe-03-2026-batch1,009trial-tier monthly cap
elevenlabs-scribe-v2-realtime-stream1,105account ran out of credit mid-run
gradium-default-batch610account ran out of credit mid-run
gradium-default-stream605account ran out of credit mid-run
inworld-stt-1-batch2,537account ran out of credit mid-run
inworld-stt-1-stream82account ran out of credit mid-run
mistral-voxtral-small-2507-batch2,992last 7 of 2,999 clips blocked by account limits
replicate-canary-qwen-2-5b-batch2,282vendor rate limits
replicate-incredibly-fast-whisper-batch1,186vendor rate limits
replicate-parakeet-rnnt-1-1b-batch2,350vendor rate limits
replicate-whisper-batch850vendor rate limits
reson8-resonant-1-batch1,657vendor rate limits
reson8-resonant-1-realtime-stream1,213vendor rate limits
revai-machine-batch844account ran out of credit mid-run
revai-machine-stream22account ran out of credit mid-run
speechmatics-linden-1-stream2,9982,998 of 2,999 clean clips; not run on the degraded set
telnyx-deepgram-nova-2-batch2,813vendor rate limits
telnyx-deepgram-nova-3-batch2,819vendor rate limits
telnyx-openai-whisper-large-v3-turbo-batch2,932vendor rate limits

Table 4 Built but not ranked in v0. Clean-set progress is out of 2,999 clips.

AA entries we could not run at all: Amazon Nova 2 Pro (gated preview), the Fun-ASR 2026-02-28 snapshot (its China region needs real-name verification), NVIDIA Nemotron 80/560/1120 ms (only the 160 ms build is hosted) and Microsoft MAI-Transcribe (not offered in our Azure region).

08 / The run

One host, one region, every model at once

The clean run r-20261020-221120 ran on one EC2 c7i.8xlarge (32 vCPU) in AWS us-west-2, one OS process per model, all models at once, reachable only through AWS Session Manager. We first verified that 43 concurrent streaming processes × 12 streams held a worst frame gap of 30 ms, under the 40 ms gate. 68 models finished in about an hour, 82 within about 2.5 hours, and the rest were limited by vendors. The robustness run r-20261022-025101 used the same host for the 80 complete models. NVIDIA Nemotron 3.5 Transcribe was added afterwards from a laptop against NVIDIA's single-H100 endpoint; it is batch-only, so host placement does not affect its scores.

Region caveat. Vendors hosted in or near us-west-2 get a network advantage. AssemblyAI Universal Streaming English's 5 ms TTFS is real but co-located. AA's numbers have the same effect; we state it rather than correct for it.

09 / Failure attribution

Every failure has an owner before scoring

A failed clip is either the harness's fault (resent until it succeeds) or the model's (kept and counted). Together AI's "no available server" responses (1,984 clips) and Zoom and StepFun 5xx errors were transient and resent. Real failures stayed in: Qwen Omni's content filter refused 6 clips each for Flash and Plus, Gemini 3.1 Pro at high thinking stalled on 26, and Rev AI rejected some clips as too short. Unsupported languages are not failures; those clips are out of that model's scope.

Two scoring bugs were fixed before publishing: the log reader split lines on a Unicode line separator (U+2028) inside Gemini output, so it now splits on newline only; and a half-written last line from a live attempt is skipped. Some outputs looked like bugs and turned out to be real model behaviour, kept as scored: GPT-4o Transcribe writes some accented English as foreign-sounding words and dates as digits; Voxtral Small answers some English clips in Portuguese; Gemini 2.5 Flash-Lite loops and emits subtitle time stamps on VoxPopuli (its German WER is 375%).

10 / Clean results

Accuracy, latency and price on clean audio

Bluejay MISTT Bench: English WER · top 25 of 81

batchstreaming95% CI · lower is better
bluejay-labs
0%1%2%3%4%5%Pulse Pro · 3.38% (95% CI 3.10% to 3.66%)Pulse Pro3.38%Amazon Transcribe · 3.43% (95% CI 3.12% to 3.72%)Amazon Transcribe3.43%Nemotron 3.5 Transcribe 30B-A4B · 3.54% (95% CI 3.23% to 3.86%)Nemotron 3.5 Transcribe 30B-A4B3.54%Scribe v2 · 3.60% (95% CI 3.26% to 3.97%)Scribe v23.60%Zoom Scribe EN Pro · 3.63% (95% CI 3.33% to 3.97%)Zoom Scribe EN Pro3.63%Solaria-3 · 3.73% (95% CI 3.44% to 4.09%)Solaria-33.73%Universal-3.5 Pro · 3.78% (95% CI 3.48% to 4.10%)Universal-3.5 Pro3.78%Gemini 3.1 Pro (high) · 3.79% (95% CI 3.47% to 4.13%)Gemini 3.1 Pro (high)3.79%Gemini 3.1 Pro (low) · 3.81% (95% CI 3.45% to 4.18%)Gemini 3.1 Pro (low)3.81%Amazon Transcribe Streaming · 3.81% (95% CI 3.46% to 4.13%)Amazon Transcribe Streaming3.81%Step-Audio 3 ASR Max · 3.81% (95% CI 3.48% to 4.16%)Step-Audio 3 ASR Max3.81%Gemini 3.1 Flash-Lite (minimal) · 3.89% (95% CI 3.52% to 4.28%)Gemini 3.1 Flash-Lite (minimal)3.89%U3.5 Pro Streaming (max accuracy) · 3.93% (95% CI 3.60% to 4.30%)U3.5 Pro Streaming (max accuracy)3.93%Saaras v4 · 3.94% (95% CI 3.63% to 4.24%)Saaras v43.94%Qwen3 ASR Flash · 3.98% (95% CI 3.66% to 4.32%)Qwen3 ASR Flash3.98%Ink-2 · 4.02% (95% CI 3.69% to 4.37%)Ink-24.02%Ink Preview · 4.03% (95% CI 3.70% to 4.39%)Ink Preview4.03%Gemini 3.5 Transcribe · 4.03% (95% CI 3.66% to 4.39%)Gemini 3.5 Transcribe4.03%Universal-3 Pro · 4.04% (95% CI 3.73% to 4.35%)Universal-3 Pro4.04%Qwen3 ASR Flash Realtime · 4.05% (95% CI 3.76% to 4.36%)Qwen3 ASR Flash Realtime4.05%Gemini 3.5 Transcribe Live · 4.08% (95% CI 3.73% to 4.41%)Gemini 3.5 Transcribe Live4.08%Ink-2 (semantic endpoint) · 4.08% (95% CI 3.71% to 4.41%)Ink-2 (semantic endpoint)4.08%Pulse · 4.08% (95% CI 3.77% to 4.43%)Pulse4.08%Ink Preview (semantic endpoint) · 4.09% (95% CI 3.74% to 4.43%)Ink Preview (semantic endpoint)4.09%U3.6 Pro Streaming (max accuracy) · 4.10% (95% CI 3.75% to 4.47%)U3.6 Pro Streaming (max accuracy)4.10%
MISTT BenchmarkUpdated October 27th 2026

Figure 1 Shaded rows overlap the interval of the lowest point estimate (Pulse Pro, 3.38%). Median across all 81 models: 4.77%.

Accuracy is a tie at the top. Pulse Pro has the lowest batch English WER (3.38%) and Amazon Transcribe Streaming the lowest streaming (3.81%), but 11 batch and 15 streaming models sit inside those leaders' intervals. Inside the band, the choice should be made on latency, price, languages and robustness. At the other end, GPT-4o Transcribe, Universal Streaming English, Solaria-1 Live have the highest English WER; for GPT-4o Transcribe (14.35%) the behaviour in section 9 explains most of it.

Doctor–patient audio is harder for everyone. Median WER is 2.40% on pipecat and 6.91% on primock57; every model is worse on primock57, by at least 2.3 points. The leaders differ: Gemini 3.5 Transcribe, Gemini 3.1 Flash-Lite (minimal), Gemini 3.5 Transcribe Live lead pipecat, while Amazon Transcribe, Pulse Pro, Gemini 3.1 Pro (high) lead primock57. A benchmark built only on assistant-style turns would pick different winners from one built on clinical conversation, which is why the English index weighs them equally.

Batch versus streaming, same vendor

batchstreamingEnglish WER
0.0%2.0%4.0%6.0%8.0%10.0%StepFun: Step-Audio 2.5 ASR · batch 4.8% → streaming 4.8%StepFun: Step-Audio 2.5 ASR+0.0%Google: Gemini 3.5 Transcribe · batch 4.0% → streaming 4.1%Google: Gemini 3.5 Transcribe+0.0%Speechmatics: Speechmatics Enhanced · batch 4.5% → streaming 4.6%Speechmatics: Speechmatics Enhanced+0.1%Alibaba: Qwen3 ASR Flash · batch 4.0% → streaming 4.0%Alibaba: Qwen3 ASR Flash+0.1%AssemblyAI: Universal-3.5 Pro · batch 3.8% → streaming 3.9%AssemblyAI: Universal-3.5 Pro+0.2%Google Cloud: Chirp 3 · batch 4.8% → streaming 5.1%Google Cloud: Chirp 3+0.3%Modulate: Velma-2 Batch English · batch 4.6% → streaming 5.0%Modulate: Velma-2 Batch English+0.3%Amazon: Amazon Transcribe · batch 3.4% → streaming 3.8%Amazon: Amazon Transcribe+0.4%Soniox: Soniox Async v5 · batch 4.9% → streaming 5.3%Soniox: Soniox Async v5+0.5%xAI: Grok Voice Transcribe 2.0 · batch 4.3% → streaming 4.8%xAI: Grok Voice Transcribe 2.0+0.5%Deepgram: Nova-3 · batch 4.7% → streaming 5.4%Deepgram: Nova-3+0.8%Gladia: Solaria-1 · batch 6.5% → streaming 8.0%Gladia: Solaria-1+1.5%Mistral: Voxtral Mini Transcribe 2602 · batch 6.0% → streaming 7.6%Mistral: Voxtral Mini Transcribe 2602+1.5%Smallest.ai: Pulse · batch 4.1% → streaming 6.1%Smallest.ai: Pulse+2.0%

Figure 2 14 vendors serve one model family in both modes. Streaming is worse in 14; the intervals separate for Gladia, Mistral, Smallest.ai.

Streaming costs accuracy. Seeing the audio only up to the forced endpoint, with no right context, costs a median +0.36 points of English WER. For most vendors the gap is inside the noise; for 3 it is not.

Streaming: TTFS versus English WER

streamingp50 · log scale
3.0%4.0%5.0%6.0%7.0%8.0%9.0%5102050100200500Fun-ASR Realtime · TTFS p50 ms 334 · English WER 5.9%Qwen3 ASR Flash Realtime · TTFS p50 ms 362.7 · English WER 4.0%Amazon Transcribe Streaming · TTFS p50 ms 554.6 · English WER 3.8% · † fallback TTFSUniversal-3 RT Pro · TTFS p50 ms 230.8 · English WER 4.3%U3.5 Pro Streaming (max accuracy) · TTFS p50 ms 173.3 · English WER 3.9%U3.5 Pro Streaming (min latency) · TTFS p50 ms 168.3 · English WER 4.1%U3.6 Pro Streaming (max accuracy) · TTFS p50 ms 235.1 · English WER 4.1%U3.6 Pro Streaming (min latency) · TTFS p50 ms 230.6 · English WER 4.3%U3.6 Pro Streaming (balanced) · TTFS p50 ms 230.1 · English WER 4.3%Universal Streaming English · TTFS p50 ms 4.6 · English WER 8.7%Azure Speech Realtime · TTFS p50 ms 155.4 · English WER 5.2%Ink-2 · TTFS p50 ms 72.5 · English WER 4.0%Ink-2 (semantic endpoint) · TTFS p50 ms 71.3 · English WER 4.1%Ink Preview · TTFS p50 ms 72 · English WER 4.0%Ink Preview (semantic endpoint) · TTFS p50 ms 71.4 · English WER 4.1%Flux English · TTFS p50 ms 95.2 · English WER 6.6%Flux Multilingual · TTFS p50 ms 98.3 · English WER 7.3%Nova-3 Streaming · TTFS p50 ms 103 · English WER 5.4%Solaria-1 Live · TTFS p50 ms 554.4 · English WER 8.0% · † fallback TTFSChirp 3 Streaming · TTFS p50 ms 730.5 · English WER 5.1%Gemini 3.5 Transcribe Live · TTFS p50 ms 347.5 · English WER 4.1%Voxtral Mini Realtime 2602 · TTFS p50 ms 400.9 · English WER 7.6%Velma-2 Streaming English · TTFS p50 ms 287.4 · English WER 5.0%Nemotron 3 ASR Streaming 160 ms · TTFS p50 ms 184.8 · English WER 6.9%GPT Live Transcribe · TTFS p50 ms 608.5 · English WER 5.0%GPT Realtime Whisper · TTFS p50 ms 562.6 · English WER 5.8%Saaras v4 · TTFS p50 ms 344.3 · English WER 3.9%Pulse Streaming · TTFS p50 ms 167.5 · English WER 6.1%Soniox RT v4 · TTFS p50 ms 108 · English WER 5.3%Soniox RT v5 · TTFS p50 ms 109 · English WER 5.3%Speechmatics Enhanced RT · TTFS p50 ms 162.6 · English WER 4.6%Step-Audio 2.5 ASR Streaming · TTFS p50 ms 275.8 · English WER 4.8%Nemotron 3 ASR Streaming 80 ms (Together) · TTFS p50 ms 127.6 · English WER 6.7%Grok STT · TTFS p50 ms 146.4 · English WER 4.8%Grok Voice Transcribe 2.0 Streaming · TTFS p50 ms 145.7 · English WER 4.8%Zoom Scribe Live · TTFS p50 ms 235.8 · English WER 4.3%Universal Streaming EnglishInk-2 (semantic endpoint)Ink PreviewInk-2U3.5 Pro Streaming (max accuracy)Amazon Transcribe Streaming †TTFS P50 MS · LOG · ← BETTERENGLISH WER · ← BETTER

All models: cost versus English WER

streamingbatch$ / 1k audio min · log scale
2.5%5.0%7.5%10.0%12.5%15.0%$0.20$0.50$1.00$2.00$5.00$10.0$20.0Fun-ASR Realtime · $ per 1k min $6.33 · English WER 5.9%Qwen3.5 Omni Flash · $ per 1k min $1.77 · English WER 4.5% · † token estimateQwen3.5 Omni Plus · $ per 1k min $6.55 · English WER 4.6% · † token estimateQwen3 ASR Flash · $ per 1k min $2.25 · English WER 4.0%Qwen3 ASR Flash Realtime · $ per 1k min $6.33 · English WER 4.0%Amazon Transcribe · $ per 1k min $6.44 · English WER 3.4%Amazon Transcribe Streaming · $ per 1k min $11.7 · English WER 3.8%Universal-3 RT Pro · $ per 1k min $7.46 · English WER 4.3%Universal-2 · $ per 1k min $2.50 · English WER 5.6%Universal-3.5 Pro · $ per 1k min $3.50 · English WER 3.8%U3.5 Pro Streaming (max accuracy) · $ per 1k min $7.39 · English WER 3.9%U3.5 Pro Streaming (min latency) · $ per 1k min $7.39 · English WER 4.1%U3.6 Pro Streaming (max accuracy) · $ per 1k min $7.47 · English WER 4.1%U3.6 Pro Streaming (min latency) · $ per 1k min $7.47 · English WER 4.3%U3.6 Pro Streaming (balanced) · $ per 1k min $7.46 · English WER 4.3%Universal-3 Pro · $ per 1k min $3.50 · English WER 4.0%Universal Streaming English · $ per 1k min $2.41 · English WER 8.7%Azure Speech Realtime · $ per 1k min $19.6 · English WER 5.2%Ink-2 · $ per 1k min $7.14 · English WER 4.0%Ink-2 (semantic endpoint) · $ per 1k min $7.14 · English WER 4.1%Ink Preview · $ per 1k min $7.14 · English WER 4.0%Ink Preview (semantic endpoint) · $ per 1k min $7.14 · English WER 4.1%Flux English · $ per 1k min $7.63 · English WER 6.6%Flux Multilingual · $ per 1k min $9.15 · English WER 7.3%Nova-3 · $ per 1k min $4.62 · English WER 4.7%Nova-3 Streaming · $ per 1k min $5.63 · English WER 5.4%Voxtral Mini 3B (DeepInfra) · $ per 1k min $1.00 · English WER 6.3%Scribe v2 · $ per 1k min $3.67 · English WER 3.6%Whisper (fal) · $ per 1k min $5.52 · English WER 6.4%Wizper (fal) · $ per 1k min $2.05 · English WER 6.4%Solaria-1 · $ per 1k min $5.05 · English WER 6.5%Solaria-1 Live · $ per 1k min $14.0 · English WER 8.0%Solaria-3 · $ per 1k min $2.99 · English WER 3.7%Chirp 3 · $ per 1k min $17.2 · English WER 4.8%Chirp 3 Streaming · $ per 1k min $18.8 · English WER 5.1%Chirp · $ per 1k min $17.2 · English WER 6.4%Gemini 2.5 Flash · $ per 1k min $3.84 · English WER 5.7% · † token estimateGemini 2.5 Flash-Lite · $ per 1k min $0.66 · English WER 6.6% · † token estimateGemini 2.5 Pro · $ per 1k min $5.65 · English WER 4.5% · † token estimateGemini 3.1 Flash-Lite (minimal) · $ per 1k min $1.06 · English WER 3.9% · † token estimateGemini 3.1 Pro (high) · $ per 1k min $35.8 · English WER 3.8% · † token estimateGemini 3.1 Pro (low) · $ per 1k min $31.0 · English WER 3.8% · † token estimateGemini 3.5 Transcribe · $ per 1k min $5.22 · English WER 4.0% · † token estimateGemini 3.5 Transcribe Live · $ per 1k min $10.0 · English WER 4.1% · † token estimateGemini 3 Flash (high) · $ per 1k min $4.25 · English WER 5.2% · † token estimateWhisper Large v3 Turbo (Groq) · $ per 1k min $1.05 · English WER 6.9%Voxtral Mini Transcribe 2602 · $ per 1k min $3.00 · English WER 6.0%Voxtral Mini Realtime 2602 · $ per 1k min $6.59 · English WER 7.6%Velma-2 Batch English · $ per 1k min $0.42 · English WER 4.6%Velma-2 Streaming English · $ per 1k min $0.92 · English WER 5.0%Nemotron 3 ASR Streaming 160 ms · $ per 1k min $0 · English WER 6.9% · † free trialParakeet TDT 0.6B v2 · $ per 1k min $0 · English WER 5.2% · † free trialGPT-4o Mini Transcribe · $ per 1k min $3.00 · English WER 6.1% · † token estimateGPT-4o Transcribe · $ per 1k min $6.00 · English WER 14.4% · † token estimateGPT Live Transcribe · $ per 1k min $18.7 · English WER 5.0%GPT Realtime Whisper · $ per 1k min $18.7 · English WER 5.8%GPT Transcribe · $ per 1k min $4.50 · English WER 4.7%Whisper-1 · $ per 1k min $6.00 · English WER 6.6%Saaras v4 · $ per 1k min $6.66 · English WER 3.9%Pulse · $ per 1k min $3.00 · English WER 4.1%Pulse Pro · $ per 1k min $4.00 · English WER 3.4%Pulse Streaming · $ per 1k min $4.40 · English WER 6.1%Soniox Async v5 · $ per 1k min $1.67 · English WER 4.9%Soniox RT v4 · $ per 1k min $2.01 · English WER 5.3%Soniox RT v5 · $ per 1k min $2.01 · English WER 5.3%Speechmatics Enhanced · $ per 1k min $13.4 · English WER 4.5%Speechmatics Enhanced RT · $ per 1k min $15.6 · English WER 4.6%Melia-1 · $ per 1k min $4.29 · English WER 5.0%Speechmatics Standard · $ per 1k min $8.05 · English WER 5.6%Step-Audio 2.5 ASR · $ per 1k min $0.37 · English WER 4.8%Step-Audio 2.5 ASR Streaming · $ per 1k min $3.30 · English WER 4.8%Step-Audio 3 ASR Max · $ per 1k min $6.67 · English WER 3.8%Nemotron 3 ASR Streaming 80 ms (Together) · $ per 1k min $1.65 · English WER 6.7%Parakeet TDT 0.6B v3 (Together) · $ per 1k min $1.50 · English WER 4.7%Whisper Large v3 (Together) · $ per 1k min $1.50 · English WER 6.5%Grok STT · $ per 1k min $3.66 · English WER 4.8%Grok Voice Transcribe 2.0 · $ per 1k min $1.67 · English WER 4.3%Grok Voice Transcribe 2.0 Streaming · $ per 1k min $3.66 · English WER 4.8%Zoom Scribe EN Pro · $ per 1k min $3.33 · English WER 3.6%Zoom Scribe Live · $ per 1k min $3.66 · English WER 4.3%Nemotron 3.5 Transcribe 30B-A4B · $ per 1k min $0 · English WER 3.5% · † free trialNemotron 3.5 Transcribe 30B-A4B †Pulse Pro$ PER 1K MIN · LOG · ← BETTERENGLISH WER · ← BETTER

Figure 3 Pareto frontiers (dashed). Streaming frontier: Universal Streaming English (5 ms, 8.74%), Ink-2 (semantic endpoint) (71 ms, 4.08%), Ink Preview (72 ms, 4.03%), Ink-2 (73 ms, 4.02%), U3.5 Pro Streaming (max accuracy) (173 ms, 3.93%), Amazon Transcribe Streaming (555 ms, 3.81%). Cost frontier: Nemotron 3.5 Transcribe 30B-A4B ($0), Pulse Pro ($4.00).

Latency. Median streaming TTFS is 179 ms; the fastest are Universal Streaming English (5 ms), Ink-2 (semantic endpoint) (71 ms), Ink Preview (semantic endpoint) (71 ms), Ink Preview (72 ms), Ink-2 (73 ms). The slowest include Chirp 3 Streaming (731 ms), GPT Live Transcribe (609 ms), GPT Realtime Whisper (563 ms), Amazon Transcribe Streaming (555 ms), two of which use the fallback. WER@500 ms is close to final WER for most models, because their finals land well within half a second. The exception is Chirp 3 Streaming: 54.00% English WER at 500 ms against 5.10% final, because its final arrives at 731 ms and it produces no early partials (TTFT p50 5.47 s). An agent that acts at 500 ms would act on nothing. For batch, median end-to-end time is 1.16 s; the fastest are Whisper Large v3 Turbo (Groq) (194 ms), Parakeet TDT 0.6B v3 (Together) (202 ms), Pulse (219 ms), Parakeet TDT 0.6B v2 (235 ms).

Price and billing. Effective cost runs from $0 (NVIDIA's free trial endpoints) and Step-Audio 2.5 ASR at $0.37 and Velma-2 Batch English at $0.42 to Gemini 3.1 Pro (high) at $35.8, Gemini 3.1 Pro (low) at $31.0, Azure Speech Realtime at $19.1 per 1,000 audio minutes. Billing rules move the bill on short turns (median clip 7.29 s): per-second rounding adds a median 6% for batch models that use it, the one-second streaming tail about 8%, and Groq's 10-second minimum makes Whisper Large v3 Turbo 36% dearer than its list rate.

Multilingual. 70 models support at least one non-English language. Among those covering all five, the lowest pooled German/French/Spanish/Italian WER belongs to Qwen3.5 Omni Plus (10.12%), Amazon Transcribe (10.56%), Qwen3.5 Omni Flash (10.67%). Median WER by language: en 7.2%, de 11.5%, fr 11.6%, es 8.3%, it 19.5%. VoxPopuli references spell numbers out and the non-English normalizer doesn't convert digits, so models that format numbers are penalized there.

11 / Robustness

Paired degradations, and Gemini as the listener

The clean scores may flatter: all three datasets are public. The robustness probe uses new audio and pairs each degraded clip with its clean original, so a ΔWER is what the channel costs a model on the same words.

Degradation recipes · applied in this order

Clean

Caller turn→16 kHz mono→−20 dBFS

Light

Caller turn→300–3,400 Hz band-pass→8 kHz μ-law (G.711)→back to 16 kHz

Moderate

Caller turn→+ noise 15 dB SNR→Opus 8 kbps NB→2% bursty loss→renormalize

Severe

Caller turn→+ noise 10 dB SNR→phone line (G.711)→5% bursty loss→renormalize

Crosstalk

Caller turn→+ AMI talker 10 dB SIR→phone line (G.711)→talker runs 2 s past caller

Noise and the background talker are added at the microphone, before the codec, the way they reach a real handset. Loss uses 20 ms frames, a Gilbert–Elliott burst model (mean burst 3 frames) and repeat-last-frame concealment. The speech-end anchor always comes from the clean clip.

Base clips. The pool was every English pipecat and primock57 clip of 5–15 s (1,085). Difficulty is the median clean WER over the 80 complete models, which replaced the planned Whisper + Parakeet pre-scoring: 80 models are a steadier judge than two. We removed 156 reference-error suspects (at least 70% of models within one word of the most common hypothesis, and that hypothesis differing from the reference), kept the easy and hard terciles, and asked Gemini 3.1 Pro (temperature 0, JSON schema) about each of the 618 candidates: is the reference exact, is there one speaker, is every word intelligible, is there an entity. Hard clips mostly failed on wrong references. The final 100 are 25 per dataset × difficulty cell, entity clips drawn first (84 of 100 have one), at most three per primock57 consultation; 20 more passed clips became the calibration dev set.

Robustness subset · selection funnel
1,085

English pipecat + primock57 clips, 5–15 s

929

after removing reference-error suspects (models agree, reference differs)

618

easy + hard terciles (by median clean WER over 80 models)

462

Gemini 3.1 Pro: reference exact, one speaker, every word intelligible

100

drawn: 25 per dataset × difficulty cell, entity clips first

Removed along the way: 156 clips where at least 70% of models agreed with each other but not with the reference, 311 middle-tercile clips, and 156 clips Gemini rejected (mostly wrong references on hard clips). 84 of the final 100 contain an entity; a further 20 passed clips form the calibration dev set.

Mixes. Noise is MUSAN's free-sound background set (CC BY 4.0), after Gemini heard voices in 13 of the 34 files and we dropped them (21 remain), so speech only enters through Crosstalk. The talker is one AMI distant-microphone speaker, cut from single-speaker stretches using the manual word timings, running for the whole clip and 2 s past the caller. Noise and talker are added at the microphone, before the codec; loss is a Gilbert–Elliott burst model on 20 ms frames with repeat-last-frame concealment; output is renormalized to −20 dBFS; the speech-end anchor always comes from the clean clip.

Calibration. On the 20-clip dev set with four batch models, Severe at 10 dB SNR lifted strong models to about 3× their clean WER (the target); 5 dB gave 5–6× and stopped discriminating. Crosstalk WER is mostly talker words, so its SIR was tuned on the caller's substitutions and deletions instead: 10 dB was the closest to target that keeps the talker clearly audible (the spec's 5 dB was too loud to be fair).

Fairness. Gemini then listened to all 400 degraded clips. A clip is fair if at most one trivial filler word is masked, and for Crosstalk the caller must stay dominant. Round 1 flagged 47; after five rounds of swapping base clips (9), reseeding (35) and making six clips 3 dB milder, none were left. Gemini's "background speech" flag also fired on Light clips, so it is recorded but doesn't fail a clip.

pipecat · pipecat-007dd8f10265 · 12.8 s · CC-BY-4.0

Reference

“Can you please tell me what the actual capital of Australia is because I always assumed it was Sydney but my friend recently insisted that it was another city entirely so now”

Clean

Source audio, 16 kHz mono, −20 dBFS

  • U3.6 Pro Streaming (max accuracy)0.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely, so now
  • Scribe v20.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now
  • GPT-4o Transcribe3.1%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely, so now...
  • Nova-3 Streaming0.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now

Light

Phone line: 300–3,400 Hz band-pass, 8 kHz G.711 μ-law

  • U3.6 Pro Streaming (max accuracy)0.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now
  • Scribe v20.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now
  • GPT-4o Transcribe3.1%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely, so now...
  • Nova-3 Streaming0.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now

Moderate

An espresso machine grinding coffee beans, brewing, and making mechanical sounds. (MUSAN, CC BY 4.0) at 15 dB SNR

  • U3.6 Pro Streaming (max accuracy)0.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now
  • Scribe v20.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now
  • GPT-4o Transcribe62.5%Can you please tell me what the actual capital of Australia is?
  • Nova-3 Streaming3.1%Can you please tell me what the actual capital of our Australia is? Because I always assumed it was Sydney. But my friend recently insisted that it was another city entirely. So now

Severe

Traffic noise with cars driving by on a wet road. (MUSAN, CC BY 4.0) at 13 dB SNR

  • U3.6 Pro Streaming (max accuracy)0.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now
  • Scribe v20.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now
  • GPT-4o Transcribe62.5%Can you please tell me what the actual capital of Australia is?
  • Nova-3 Streaming9.4%Can you please tell me what the actual capital of Australia is? Because I also claimed it was Sydney, but my recently insisted that it was another city entirely. So now

Crosstalk

Background talker: AMI meeting TS3008b, speaker D (CC BY 4.0), 10 dB SIR, then the phone line

  • U3.6 Pro Streaming (max accuracy)0.0%Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now
  • Scribe v237.5%Allow the questioner Can you please tell me what the actual capital of Australia is? Because I always assumed it was Sydney, but my friend recently insisted that it was another city entirely. So now About willingness to spend money on remote control, about
  • GPT-4o Transcribe62.5%Can you please tell me what the actual capital of Australia is?
  • Nova-3 Streaming3.1%Can you please tell me what the actual capital of Australia is? Because I always assumed it was city. But my friend recently insisted that it was another city entirely. So now

Figure 4 One base clip in every condition, with four models' transcripts. Listen to all of them on the methodology.

Median ΔWER by mix

81 models · pts
0.05.010.015.00.5Lightτ 0.7034.9Moderateτ 0.6336.1Severeτ 0.58811.7Crosstalkτ 0.374

Rank on clean versus Crosstalk

same 100 clips · 81 models
CLEAN RANKCROSSTALK RANKQwen3.5 Omni Flash · #33 → #42Qwen3.5 Omni Plus · #17 → #12Qwen3 ASR Flash · #10 → #25Qwen3 ASR Flash Realtime · #38 → #23Amazon Transcribe · #6 → #32Amazon Transcribe Streaming · #11 → #10Universal-3 RT Pro · #21 → #1Universal-2 · #42 → #68Universal-3.5 Pro · #4 → #17U3.5 Pro Streaming (max accuracy) · #5 → #5U3.5 Pro Streaming (min latency) · #7 → #8U3.6 Pro Streaming (max accuracy) · #12 → #4U3.6 Pro Streaming (min latency) · #29 → #7U3.6 Pro Streaming (balanced) · #22 → #3Universal-3 Pro · #14 → #40Universal Streaming English · #76 → #65Azure Speech Realtime · #47 → #27Ink-2 · #25 → #19Ink-2 (semantic endpoint) · #26 → #21Ink Preview · #27 → #20Ink Preview (semantic endpoint) · #28 → #22Flux English · #63 → #67Flux Multilingual · #77 → #62Nova-3 · #52 → #78Nova-3 Streaming · #62 → #63Voxtral Mini 3B (DeepInfra) · #72 → #58Whisper (fal) · #68 → #49Wizper (fal) · #66 → #50Solaria-1 · #55 → #34Solaria-1 Live · #78 → #61Solaria-3 · #15 → #18Chirp 3 · #44 → #29Chirp 3 Streaming · #43 → #43Chirp · #75 → #73Gemini 2.5 Flash · #79 → #80Gemini 2.5 Flash-Lite · #48 → #74Gemini 2.5 Pro · #18 → #55Gemini 3.1 Pro (low) · #20 → #45Gemini 3.5 Transcribe · #13 → #16Gemini 3.5 Transcribe Live · #9 → #14Gemini 3 Flash (high) · #41 → #76Whisper Large v3 Turbo (Groq) · #73 → #59Voxtral Mini Realtime 2602 · #80 → #57Velma-2 Batch English · #54 → #46Velma-2 Streaming English · #58 → #38Nemotron 3 ASR Streaming 160 ms · #74 → #52Parakeet TDT 0.6B v2 · #59 → #66GPT-4o Transcribe · #81 → #75GPT Live Transcribe · #56 → #47GPT Realtime Whisper · #65 → #48GPT Transcribe · #37 → #13Whisper-1 · #70 → #39Saaras v4 · #30 → #11Pulse · #39 → #51Pulse Pro · #2 → #6Pulse Streaming · #69 → #41Soniox Async v5 · #49 → #77Soniox RT v4 · #50 → #53Soniox RT v5 · #51 → #54Speechmatics Enhanced RT · #24 → #35Melia-1 · #46 → #70Speechmatics Standard · #61 → #72Step-Audio 2.5 ASR · #34 → #64Step-Audio 2.5 ASR Streaming · #40 → #44Step-Audio 3 ASR Max · #23 → #33Nemotron 3 ASR Streaming 80 ms (Together) · #67 → #56Parakeet TDT 0.6B v3 (Together) · #36 → #71Grok STT · #53 → #30Grok Voice Transcribe 2.0 · #35 → #26Grok Voice Transcribe 2.0 Streaming · #45 → #31Zoom Scribe EN Pro · #3 → #9Zoom Scribe Live · #32 → #2Nemotron 3.5 Transcribe 30B-A4B · #16 → #37Fun-ASR Realtime · #57 → #15Fun-ASR Realtime #57#15 Fun-ASR RealtimeScribe v2 · #1 → #79Scribe v2 #1#79 Scribe v2Gemini 3.1 Flash-Lite (minimal) · #8 → #81Gemini 3.1 Flash-Lite (minimal) #8#81 Gemini 3.1 Flash-Lite (minimal)Gemini 3.1 Pro (high) · #19 → #60Gemini 3.1 Pro (high) #19#60 Gemini 3.1 Pro (high)Voxtral Mini Transcribe 2602 · #64 → #28Voxtral Mini Transcribe 2602 #64#28 Voxtral Mini Transcribe 2602GPT-4o Mini Transcribe · #60 → #24GPT-4o Mini Transcribe #60#24 GPT-4o Mini TranscribeSpeechmatics Enhanced · #31 → #69Speechmatics Enhanced #31#69 Speechmatics EnhancedWhisper Large v3 (Together) · #71 → #36Whisper Large v3 (Together) #71#36 Whisper Large v3 (Together)

Figure 5 Kendall τ between the clean and mix rankings: Light 0.703, Moderate 0.633, Severe 0.588, Crosstalk 0.374.

Results. Median paired ΔWER is +0.5 (Light), +4.9 (Moderate), +6.1 (Severe), +11.7 (Crosstalk) points. A clean phone line barely matters; codec damage, loss and noise cost about five to six points; a background talker costs about twelve. The rank order degrades in step: only 4 of the clean top 10 remain top 10 on Severe, and 4 on Crosstalk.

On Severe the smallest losses belong to Zoom Scribe EN Pro (+2.0), U3.6 Pro Streaming (min latency) (+2.6), U3.6 Pro Streaming (max accuracy) (+2.7), Qwen3.5 Omni Plus (+2.7), Universal-3 RT Pro (+2.7); AssemblyAI's U3.6 and RT Pro streaming models recur near the top of every mix. Velma-2 Batch English climbs from #54 clean to #20 on Severe. The biggest Severe fallers are Gemini 2.5 Flash-Lite (#48 → #81), Solaria-3 (#15 → #48), Gemini 3.5 Transcribe Live (#9 → #40), Step-Audio 2.5 ASR Streaming (#40 → #70).

Background speech is its own failure mode. Scribe v2 is #1 on the clean subset and #79 on Crosstalk: it transcribes 24% of the talker's words. Median bleed is 3.4% for batch and 3.2% for streaming. The lowest bleed belongs to GPT-4o Transcribe (0.25%), Zoom Scribe Live (0.42%), Universal-3 RT Pro (0.51%), but low bleed is not automatically good: GPT-4o Transcribe also drops caller words under noise. Batch models hear the talker's 2 s tail after the caller stops and streams end 1 s after speech end, so batch and streaming bleed are not strictly comparable. A model that writes down an audible voice is hearing correctly; it isn't separating speakers, which is what a voice agent needs.

Runaways. Gemini 2.5 Flash-Lite, Gemini 3.1 Flash-Lite (minimal) fall into repetition loops on a few degraded clips, pushing pooled WER past 100%. Their rows are flagged rather than charted.

Table 5 Caveats specific to the probe: Gemini selected the clips and is also ranked; reseeding until a clip passes leans slightly toward easier realizations; 100 clips give wider intervals than the main set; batch models hear the talker tail and streams don't.

12 / Limitations

What MISTT v0 does not show

  • All three base datasets are public and may be in training data; clean scores can flatter. The degraded copies are new audio and the more trustworthy signal.
  • pipecat references were generated by Gemini and human-reviewed. Suspect references were removed from the robustness subset, but the main set's references are uncorrected in v0; the planned disagreement-triggered review is still to do.
  • Entity accuracy was designed and the subset is entity-tagged, but the per-type scorer isn't built, so v0 reports no entity numbers.
  • primock57 is 57 consultations; its intervals are wide because they are clustered, which is correct.
  • Degradations are simulated, not carrier recordings. One talker at one level, and the talker is meeting speech.
  • The robustness subset is 100 clips. Gemini was used as the listener instead of human listening on every subset reference.
  • One worker region (us-west-2) favours co-located vendors. Trial-tier vendors are rate-limited. Prices were checked on 19 October 2026 and token-priced models are estimates.
  • Native endpointing, diarization, single-factor impairment attribution and more crosstalk variants are deferred to v1.1.

13 / Cost

What it cost to run

At each vendor's pay-as-you-go rate, the clean run of the 81 ranked models comes to about $212; including the configs that didn't finish, the clean run was about $260 of estimated API spend. The robustness run was about $34, Gemini's listening checks about $25, and the EC2 host about $1.40 an hour. Gemini 3.1 Pro at high thinking sometimes thought for more than 60k tokens on an ambiguous clip (over five minutes, about $0.75 each); those calls were retried at low thinking after a timeout.

14 / Key takeaways

What we learned

01

Report intervals. At the top of the board 11 batch and 15 streaming models are statistically tied; a single leaderboard order would invent differences.

02

Test on the domain you deploy into. Every model is worse on doctor–patient audio (median 2.8×), and the pipecat and primock57 leaders differ.

03

Pair your degradations. Same clips, clean and degraded, isolate the channel; τ falls to 0.588 on Severe and 0.374 on Crosstalk.

04

Background speech needs its own metric. Bleed ranges from 0.25% to 24% and moves the clean #1 to #79.

05

Time streaming from a forced endpoint, and check accuracy at a deadline. A fast final can still be late for an agent acting at 500 ms.

06

Read the billing rules. Minimums and rounding change the price of short turns by up to 36%.

07

Attribute every failure before scoring, and keep raw logs. Every scoring fix in v0 was a replay, not a rerun.

15 / Availability

Data, reproduction and citation

Every number on the MISTT pages and in this paper is generated from the run's per-model summary.json and results.csv files and the robustness report by scripts/ingest_mistt.py in the Bluejay Labs repository. The harness, model configs, manifests (clips-v0.jsonl, robust-v0.jsonl) and the robustness build log live in the mistt-bench repository. The clean audio comes from the three public datasets at the pinned revisions above; the degraded audio is rebuilt deterministically from clean SHA + mix + seed. Sources: pipecat, primock57, VoxPopuli, MUSAN, AMI, Artificial Analysis methodology.

How to cite

@misc{savalia2026mistt,
  title  = {MISTT Bench: Speech-to-text for voice agents under channel impairments},
  author = {Savalia, Yash},
  year   = {2026},
  month  = {oct},
  note   = {Bluejay Labs. v0, clean run r-20261020-221120, robustness run r-20261022-025101},
  url    = {https://research.getbluejay.ai/whitepapers/mistt-bench}
}