Benchmark

Benchmarking Real-Time Speech Recognition on Accented English

How accurately and how fast 21 real-time speech-to-text systems transcribe non-native English speakers.

Hours
22.2
Speakers
2,042
Accents
16
Fluency levels
3
Models
21
Contents
  1. 1Overview
  2. 2What’s in the benchmark
  3. 3Results
  4. 4Limitations
  5. 5Conclusion
  6. 6License and access
  7. 7References
  8. 8Appendix

1Overview

A voice tutor needs speech recognition that is accurate and fast on accented, hesitant English.

We took 22.2 hours of unscripted answers that 2,042 learners gave Fluently’s AI tutor and streamed them to 21 real-time speech-to-text systems, under a protocol adapted from Artificial Analysis’s AA-WER Streaming. We measured word error rate (WER) and time to final text across 16 accent groups and 3 fluency levels.

2What’s in the benchmark

Every clip is one whole learner turn of about 3 to 30 seconds from a real voice conversation with Fluently’s AI tutor on iOS or Android, shared by users who opted in. The speech is unscripted, with pauses, repetitions, false starts and self-corrections.

The accent group comes from the learner’s native language and country, not from listening (Table 1). The fluency level is the learner’s usual speaking rate in Fluently, not a CEFR level (Table 2). Each of the 48 accent and fluency cells holds 24 to 30 minutes of speech, balanced by gender and platform, with at most 60 seconds per speaker.

Two annotation studios transcribed every clip independently. Our in-house team of over 30 trained phonologists resolved every disagreement span by span against the audio.

Accent groupARBRZHSLAVFRDEINITJAKOPLESLATAMTHTRVIAll
Clips3373233393453723203383543323103483482943483133605,381
Speakers1291261201171431261271311231341231311171261291402,042
Hours1.31.31.51.41.41.41.31.41.41.41.41.41.41.41.41.422.2
Table 1. Clips, speakers and hours of speech by accent group. AR Arabic · BR Brazilian Portuguese · ZH Chinese · SLAV East Slavic · FR French · DE German · IN Indian · IT Italian · JA Japanese · KO Korean · PL Polish · ES Spanish (Spain) · LATAM Spanish (Latin America) · TH Thai · TR Turkish · VI Vietnamese.
Fluency levelLowMediumHigh
Speaking rateunder 70 words/min70 to under 90 words/min90+ words/min
Clips1,7841,8731,724
Speakers713675654
Hours7.17.57.6
Table 2. Clips, speakers and hours of speech by fluency level.

3Results

  1. Two systems tie for first. Scribe v2 Realtime (5.4% WER) and MAI-Transcribe-2 (5.6%) are statistically tied for first and well ahead of the rest, which start at 6.8% (Figure 1). Against references made without Scribe drafts, the two stay tied. See Limitations.
  2. Accent matters as much as fluency. The median real-time system’s WER ranges 2.1× across accent groups (German 6.2% to Vietnamese 12.8%) and 1.7× across fluency levels (6.7% to 11.3%).
  3. Two kinds of hard accent. Thai, Vietnamese, Japanese and Chinese speakers stay hard even at high fluency, at 8.2% to 10.8% for the median system against 4.9% to 6.7% for the other 12 groups. For Brazilian Portuguese and Arabic speakers the difficulty is concentrated at low fluency, at 13.6% and 13.1% against about 6.3% when fluent (Figure 2).
  4. No system has solved beginner speech. Low-fluency WER is 1.5× to 1.8× the high-fluency WER for every real-time system except Resonant-1, at 2.0×. Better systems are better across the board, not specifically on beginners.
  5. Streaming hurts beginners most. Against the same model run offline, streaming adds a median of 1.4 WER points across 11 same-model pairs, +2.3 at low fluency and +0.9 at high. Among them, the systems that send finals before our endpoint (Grok, Gemini 3.5 Live, Universal-3.5 Pro, Chirp 3, Resonant-1 and Nova-3) show the largest gaps between low and high fluency, +1.3 to +3.2 points. The other 5 show +0.9 or less.

Real-time WER

  • Real-time
  • Same model offline
  1. ElevenLabsScribe v2 Realtime (our references favor this system)5.4%, offline 3.4%
  2. MicrosoftMAI-Transcribe-25.6%, offline 4.6%
  3. Nari LabsNari Qwen3-ASR 1.7B Fast6.8%
  4. CartesiaInk-27.5%
  5. MetaMuse7.6%, offline 7.6%
  6. xAIGrok7.6%, offline 6.1%
  7. GoogleGemini 3.5 Live7.8%, offline 6.5%
  8. AssemblyAIUniversal-3.6 Pro8.1%
  9. AssemblyAIUniversal-3.5 Pro8.2%, offline 6.5%
  10. GoogleChirp 38.6%, offline 7.2%
  11. Reson8Resonant-18.6%, offline 5.9%
  12. OpenAIGPT Live9.2%, offline 9.5%
  13. SonioxSoniox v59.7%, offline 9.2%
  14. SpeechmaticsLinden 19.9%
  15. MicrosoftAzure Speech10.3%
  16. Smallest.aiPulse10.5%
  17. DeepgramFlux10.8%
  18. DeepgramNova-310.9%, offline 7.7%
  19. OpenAIGPT Realtime Whisper13.8%
  20. NVIDIANemotron15.8%
  21. MistralVoxtral Realtime18.8%
Figure 1. Real-time WER of each system. Hollow points show the same model run offline on the same clips. Lower is better. * Part of the reference started from ElevenLabs drafts, which favors Scribe v2 Realtime by 0.33 points (95% CI −0.11 to 0.77, measured with a blind re-transcription by our linguists).

Early finals likely explain the largest beginner gaps, though our evidence is observational. A provider’s default endpointing splits a hesitant turn, and the system then decodes each piece with less context. Most extra errors are substitutions. Part of the streaming cost comes from our protocol. Several systems keep their provider’s default endpointing, while Artificial Analysis configures providers so that only its forced endpoint produces a final.

Speed is rarely the problem. For 16 of 21 systems, the median time to final text is 0.3 s or less, counted from the moment the audio through the end of speech and the finalize signal have been sent. The slowest, Chirp 3, takes 1.5 s.

Accents and fluency

Accent groupLowunder 70 words/minMedium70 to under 90 words/minHigh90+ words/min
Vietnamese15.213.710.1
Thai14.611.410.8
Chinese14.210.78.2
Japanese14.110.49.3
Brazilian Portuguese13.610.06.3
Arabic13.111.36.3
Spanish (Latin America)11.79.76.7
Korean11.58.66.3
Spanish (Spain)10.68.66.2
French10.510.26.1
East Slavic10.49.66.5
Italian9.68.55.9
Polish9.36.56.0
Indian9.08.95.3
Turkish8.17.16.5
German7.86.34.9
Figure 2. Median real-time WER of the 21 systems by accent group and fluency level, with rows sorted by low fluency, hardest first. Lower is better.

Figure 2 shows the two kinds of hard accent. The Thai, Vietnamese, Japanese and Chinese rows stay dark even at high fluency, where the other groups are light. The Brazilian Portuguese and Arabic rows are dark at low fluency and fade to the level of most other groups when fluent. Each cell holds 24 to 30 minutes of speech, so small differences between cells are noise.

4Limitations

  • One setting: learners talking to an AI tutor on a phone, in English only.
  • Broad accent groups such as Arabic and East Slavic span many countries.
  • Two annotation studios transcribed every clip independently. Our in-house team of over 30 trained phonologists resolved every disagreement span by span against the audio. One studio worked from ElevenLabs Scribe v2 drafts, which favors Scribe. A blind re-transcription by our linguists measures the bias at 0.33 points for Scribe v2 Realtime (95% CI −0.11 to 0.77) and 1.47 points for Scribe v2 offline (95% CI 0.99–1.97). In real time the bias is within noise, so Scribe v2 Realtime and MAI-Transcribe-2 stay tied for first.
  • Latency was measured from three cloud machines in the United States, a central one for 15 systems, a western one for 5 and a third for Nari Qwen3-ASR 1.7B Fast, each during one window. A control rerun of three earlier systems on 300 clips from the second machine matched their first runs within 0.1 WER points and 19 ms of median time to final. From the third machine it matched within 0.12 WER points, with median time to final 3 and 6 ms higher for Nova-3 and Scribe v2 Realtime and 47 ms lower for Universal-3.5 Pro. Other regions and loads will differ.
  • Providers update models without notice.

5Conclusion

For most real-time systems, speed is not the problem. Accuracy is, and it is worst for beginners, the learners who need a tutor most. Test on speech like your users’.

To have your system evaluated, contact [email protected].

6License and access

Code. The inference code, with every model’s settings and the real-time protocol, is on GitHub under the MIT License.

Data. The audio and reference transcripts stay private. We publish aggregate results only.

Citation. To cite this report:

BibTeX
@misc{fluently2026asr,
  title  = {Benchmarking Real-Time Speech Recognition on Accented English},
  author = {{Fluently}},
  year   = {2026},
  url    = {https://getfluently.app/research/asr}
}

7References

  1. [1]Speech to Text Benchmarking Methodology. Artificial Analysis.
  2. [2]AA-WER Streaming: New Speech to Text Streaming Benchmark. Artificial Analysis.
  3. [3]Open ASR Leaderboard. Hugging Face.
  4. [4]kaldialign. GitHub.
  5. [5]Silero VAD. GitHub.

8Appendix

Inference config
SystemModeFinalize signalSettings
Azure Speechazure-sttReal-timePushAudioInputStream.commit()language=en-US, profanity=Raw, Speech SDK 1.52 preview with setfeature=forcecommit
Chirp 3chirp_3Real-timeNonelanguage_code=en-US, interim_results=true, automatic punctuation off
Fluxflux-general-enReal-timeForceEndTurnEnglish model, eot_threshold=1.0 so only ForceEndTurn or 5 s of silence ends a turn, numerals=false
Gemini 3.5 Transcribe Livegemini-3.5-transcribe-liveReal-timeaudioStreamEndlanguageCodes=en-US, mode=VERBATIM
GPT Live Transcribegpt-live-transcribeReal-timeinput_audio_buffer.commit24 kHz audio, languages=en, turn detection off
GPT Realtime Whispergpt-realtime-whisperReal-timeinput_audio_buffer.commit24 kHz audio, language=en, turn detection off, default delay level
Grok Voice Transcribe 2.0grok-voice-transcribe-2.0Real-timefinalizelanguage=en, filler_words=true, format=false
Ink-2ink-2Real-timefinalizecartesia_version=2026-08-14, language detected by the model
Linden 1linden-1Real-timeForceEndOfUtteranceAgent STT endpoint, language=en, turn_detection_mode=external, remove_disfluencies=false
MAI-Transcribe-2MAI-Transcribe-2-StreamingReal-timeinput_audio_buffer.commitlanguage=en, turn detection and noise reduction off
Muse Voice Transcribe 1.0muse-voice-transcribe-1.0Real-timeendStream24 kHz audio, mode=PUSH_TO_TALK, languageBias=English, endStream also ends the audio
Nari Qwen3-ASR 1.7B Fastqwen3-asr-fastReal-timeinput_audio_buffer.commithosted by Nari Labs, based on Qwen3-ASR 1.7B, Fast tier, language=en, turn detection off
Nemotron 3 ASR Streaming 0.6Bnvidia/nemotron-3-asr-streaming-0.6bReal-timeinput_audio_buffer.commitlanguage=en, turn_detection=none, served by Together AI
Nova-3nova-3Real-timeFinalizelanguage=en, filler_words=true, punctuate=false, smart_format=false, numerals=false
PulsepulseReal-timefinalizelanguage=en, format=false, itn_normalize=false
Resonant-1resonant-1Real-timeflush_requestlanguage=en, filler_mode=verbatim
Scribe v2 Realtimescribe_v2_realtimeReal-timecommit: truelanguage_code=en, commit_strategy=manual, no_verbatim=false
Soniox v5stt-rt-v5Real-timefinalizelanguage_hints=en (strict), enable_endpoint_detection=false
Universal-3.5 Prouniversal-3-5-proReal-timeForceEndpointmode=max_accuracy, language_codes=en, always formatted, no verbatim option
Universal-3.6 Prouniversal-3-6-proReal-timeForceEndpointmode=max_accuracy, language_codes=en, always formatted, no verbatim option
Voxtral Mini Transcribe Realtimevoxtral-mini-transcribe-realtime-2602Real-timeinput_audio.flushserver defaults, no language or verbatim option
Chirp 3chirp_3File API—language_code=en-US, automatic punctuation off
Gemini 3.5 Transcribegemini-3.5-transcribeFile API—languageCodes=en-US, mode=VERBATIM
GPT Transcribegpt-transcribeFile API—language=en
Grok Voice Transcribe 2.0grok-voice-transcribe-2.0File API—language=en, filler_words=true, format=false
Ink Whisperink-whisperFile API—language=en
MAI-Transcribe-2MAI-Transcribe-2File API—locales=en, enhanced mode, transcribeStyle=verbatim
Muse Voice Transcribe 1.0muse-voice-transcribe-1.0File API—24 kHz audio, mode=PUSH_TO_TALK, languageBias=English
Nova-3nova-3File API—language=en, filler_words=true, punctuate=false, smart_format=false, numerals=false
Parakeet TDT 0.6B v3nvidia/parakeet-tdt-0.6b-v3Local—float32, greedy decoding
Pulse Propulse-proFile API—16 kHz audio, language=en
Qwen3 ASR 1.7BQwen/Qwen3-ASR-1.7B-hfLocal—language=English, bfloat16, greedy decoding
Resonant-1resonant-1File API—language=en, filler_mode=verbatim
Scribe v2scribe_v2File API—language_code=en, no_verbatim=false, tag_audio_events=true
Soniox v5stt-async-v5File API—language_hints=en (strict)
Universal-3.5 Prouniversal-3-5-proFile API—language_code=en, disfluencies=true, punctuate=false, format_text=false
Voxtral Mini Transcribe 2voxtral-mini-2602File API—language=en, temperature=0
Table A1. Model and request settings of every system, real-time first. The finalize signal is the message sent at the end of speech.
Real-time protocol

The protocol is adapted from Artificial Analysis’s AA-WER Streaming.

  • Audio. 16-bit PCM at 16 kHz, or 24 kHz where the API requires it, sent in 100 ms chunks at real-time speed.
  • End of speech. Silero VAD marks it, and the client sends the API’s finalize signal (Table A1). Chirp 3 has no finalize signal, so we wait for its own final. Audio keeps flowing, the rest of the clip and then silence.
  • Scored text. Every final segment up to and including the first final after the end of speech. We wait at least 15 s for it, and finals in a 5 s drain after the stream closes still count.
  • Time to final. Runs from the moment the audio through the end of speech and the finalize signal have been sent to that first final, as in AA-WER Streaming, and is reported as mean, p50 and p95.
  • Re-runs. Streams that failed or returned no final were re-run, up to 3 attempts. Empty finals were kept, not re-run.
  • Conditions. Of the 21 systems, 15 streamed at once from a cloud machine in the central United States during one 3.5-hour window on October 13, 2026, with 8 to 48 concurrent sessions per provider. Another 5 streamed on October 16 from a second machine in the western United States, and Nari Qwen3-ASR 1.7B Fast on October 19 and 20 from a third machine in the United States, with 10 concurrent sessions. A control rerun of three earlier systems on 300 clips from the second machine matched their first runs within 0.1 WER points and 19 ms of median time to final. From the third machine it matched within 0.12 WER points, with median time to final 3 and 6 ms higher for Nova-3 and Scribe v2 Realtime and 47 ms lower for Universal-3.5 Pro.

Four differences from the Artificial Analysis methodology (AA):

  1. Chunks. 100 ms for every provider. AA uses 20 ms or the provider’s recommendation.
  2. Wait for a final. We wait at least 15 s for a final and never score partial text. AA falls back to the partial text when no final arrives within 2 s.
  3. Endpointing. Several systems keep their provider’s default endpointing (Table A1), so 10 systems send some finals before our endpoint. AA configures providers so that only its forced endpoint produces a final.
  4. Scoring. Pooled WER over reference words with each clip’s errors capped at its reference length and the Open ASR Leaderboard normalizer, offline too. AA weights WER by audio duration and uses an extended Whisper normalizer.

Quirks:

  • Pulse. Its reply to the finalize signal omits the last word, which arrives about 0.2 s later in a final we do not score.
  • Voxtral Realtime. Returns empty text on 86 clips.
  • Resonant-1. Returns empty text on 12 short clips.
Normalization details
#StepExample
1LowercaseOkay → okay
2Drop text in brackets or parentheses[noise] yes → yes
3Drop fillersum I think → i think
4Expand contractions and titleswon't → will not
5Drop punctuation, symbols and accentswell, yes. → well yes
6Join listed compoundswi fi → wifi
7Write numbers as digitstwenty five → 25
8Use American spellingcolour → color
9Standardize names and acronymsb b c → bbc
10Align with kaldialign 0.12, where a compound split in one text matches it joined in the otherwhite paper = whitepaper
11Cap each clip’s errors (substitutions + deletions + insertions) at its reference length40 errors in 10 words → 10
12Sum the capped errors over all clips of a slice and divide by their reference words3 errors in 60 words → 5%
Table A2. Scoring steps in order, the same for the reference and the system output. Steps 1 to 9 are the English normalizer of the Open ASR Leaderboard at commit 4ef4a26b. Repetitions stay.
Changelog

October 20, 2026. First version, with 21 real-time and 16 offline systems.