Why Voice Typing Stops After 60 Seconds — And How to Fix It
· troubleshooting, long recordings, dictation, technical
You start dictating, everything works, and then around the one-minute mark the text stops appearing — or worse, words start repeating. This is one of the most common complaints in browser dictation, and the cause is well understood.
What actually happens
The browser's built-in speech recognition API is designed for short utterances: a search query, a command, a single sentence. On long continuous speech it does three things badly:
- It ends the session silently after a period of speech or silence
- It re-emits interim results, which can produce duplicated words ("how how how are are you")
- It degrades on mobile when the screen dims or the tab loses focus
None of this is your microphone, your phone or your internet.
The fix: chunked server-side transcription
Instead of one long browser session, audio is recorded in short rolling segments, each sent to a transcription model and stitched back together. Benefits:
- No hard session limit — a forty-minute dictation works the same as a forty-second one
- No interim-result duplication, because each segment is finalised once
- Consistent behaviour across Chrome, Edge and Safari
This is how [Baani AI](/) records, and it is why long dictation does not cut out.
What you can still do wrong
- Weak network: segments fail on patchy mobile data. Switch to Wi-Fi for long sessions.
- Screen lock: on some phones, locking the screen suspends capture. Keep the screen on.
- Another app holding the mic: close Meet, Zoom or WhatsApp before recording.
- Low Power Mode on iPhone: it throttles background audio processing.
For recordings you already have
If the audio exists as a file — a call recording, a lecture, a meeting — upload it rather than replaying it into the microphone. Re-recording through a speaker loses a large amount of accuracy. Meeting Mode accepts MP3, WAV, M4A, WebM and MP4.
Still repeating words?
That symptom in any tool points to interim results being appended instead of replaced. If you see it, the tool is using the raw browser API. There is no setting that fixes it from your side.