Whisper hallucinates because its decoder is a language model that must produce text for every window of audio, and when the window holds silence, music or noise it produces the most likely text from its training data instead of nothing. Repetition loops come from the same decoder feeding its own previous output back in as context, so one bad sentence becomes the prompt for the next. Both can be reduced a great deal: keep silence away from the decoder, set the language, stop the model from building on its own mistakes, and reject windows that look wrong.
This article explains the mechanism in plain words, what reduces each failure and why, and how to check a transcript before you rely on it. The last part shows what you can do in ThinkScribe to get a clean transcript and catch the rare bad line.
What it looks like
Three patterns account for nearly all reports:
- Phantom text over silence. A pause, an intro jingle or a muted microphone yields "Thank you for watching", "Subtitles by the Amara.org community" or a plausible sentence in another language. In one published analysis of Whisper on non-speech audio, "thank you", "thanks for watching" and "thank you for watching" together made up more than a third of the hallucinated phrases.
- A sentence that repeats. The same clause appears ten or fifty times with shifting timestamps until the next window breaks the pattern or the file ends.
- Drift. After a bad window the transcript stays subtly wrong for a while, with fragments, the wrong language or invented names, then recovers.
The mechanism
Whisper is an encoder-decoder transformer. The encoder turns 30 seconds of audio into features; the decoder predicts the next token given those features and every token it has already written. That is a text language model with an audio input attached, and three consequences follow.
It has to write something. The decoder emits tokens until it produces an end marker. Given silence, the audio features carry no information and the text habits decide alone. Those habits were learned from around 680,000 hours of web audio paired with subtitles, which routinely contain sign-offs and credits placed over music or silence. The model learned that silence is where those phrases go.
Its own output is its prompt. By default, implementations carry the text from the previous window into the next one, which keeps names and punctuation consistent across a long file. When the previous window was a hallucination or a loop, that carried text is garbage, and the most likely continuation of garbage is more of the same. This is why a loop, once started, can run for minutes.
It has no hard stop. A special no-speech signal gives a decent estimate of silence, and implementations use it, but only as a check after decoding, not as a gate before it.
What reduces it, and why
Every effective measure does one of three things: strengthens the audio signal, cuts the feedback path, or catches the failure afterwards. Well-built transcription tools apply several of them for you.
Keep silence away from the decoder. Voice activity detection finds the stretches that contain speech and passes only those to the model, so it never sees a window with nothing to anchor on. This is the single most effective measure against phantom text. Its cost is that a badly tuned detector can clip the first syllable of a sentence.
Set the language. Automatic detection listens to the first 30 seconds. If those are music, silence or a different language, the whole file is decoded with the wrong language, and a wrong-language decoder hallucinates freely. Naming the spoken language up front removes that failure entirely.
Cut the feedback loop. Not carrying the previous window's text into the next one is the fix for repetition specifically. It costs a little consistency in names and punctuation, and on recordings with long pauses the trade is worth it.
Check each window and retry. Implementations judge each decoded window: text that compresses too well is probably repetitive, text the model was unsure about is probably wrong, and a window that is both unsure and likely silent is dropped. A failed window is decoded again with a little more randomness, which usually breaks a loop.
Cap how far a loop can run. Limiting segment length does not stop a loop from starting, but a capped loop yields two repeated lines instead of two hundred.
Give it context. A short, correctly spelled sentence with the names and jargon from the recording biases spelling and gives the first window a sane starting point.
Use a bigger model and split long files. Larger models hallucinate less on borderline audio, and the smallest ones are the most loop-prone. Splitting a two-hour file at natural pauses contains the damage from any one bad window.
Why other model types loop less, and when they still do
Transducer and CTC models, such as NVIDIA's Parakeet, decode differently. The decoder advances frame by frame with the audio and emits a token or a blank at each step, so the amount of text is bounded by the audio itself. Given silence, the natural output is a run of blanks, and "Thank you for watching" over a pause largely disappears. Whisper vs Parakeet covers the other differences, and the 2026 survey of open speech models shows how the field has moved.
They are not immune. Very long inputs push the encoder past what it was trained on, and the symptom is a stretch that repeats or collapses into fragments. The remedy is the same as for Whisper: split long recordings into pieces of a few minutes at natural pauses. No speech model should be trusted blindly.
How to spot a hallucination in a transcript
Even with every safeguard on, check the output before it goes anywhere important.
- Search for the usual suspects. "Thank you for watching", "subtitles by", "please subscribe" and similar phrases in a recording where nobody said them are almost always invented.
- Look for repeated phrases. A six-word phrase that appears three or more times is almost always a loop, unless the recording is a chant.
- Skim around long pauses and the first and last minute. That is where invented text clusters.
- Listen to anything that surprises you. A name, a number or a decision you do not remember hearing deserves ten seconds of audio.
Do not summarize a transcript you have not checked
A hallucinated transcript handed to a summarizer produces a confident summary of things nobody said. The summarizer never hears the audio: "Thank you for watching" repeated forty times becomes a meeting that ended with prolonged thanks, and an invented sentence about a deadline becomes an action item. Text is trusted downstream in a way audio never is, so the check belongs at the transcript, or at least at every summary point that matters.
How to get a clean transcript in ThinkScribe
ThinkScribe sets up the speech model on your device for you, so there are no decoder settings to tune. What you control is the input and the check.
- Pick the spoken language before you record. On iPhone, tap the language chip on the Record screen and choose from 28 languages; set the default in Settings > Language. Use Auto-detect only when it is offered, and only when you really do not know the language.
- Add names and jargon to the Custom Dictionary. On iPhone it is in Settings > Advanced > Custom Dictionary, on a Mac in Settings > Vocabulary. Words you correct three or more times in transcripts are added automatically. The custom vocabulary guide has examples.
- Record close to the speaker. A phone in the middle of the table beats one in a bag, and a quiet room beats music in the background.
- Check any suspicious line against the audio. Tap a line in the transcript to play the recording from there, and long-press a line for Copy with Timestamp if you need to flag it for someone.
- Search the transcript for loops and stock phrases. Use the magnifier's Find in transcript with previous and next to jump between matches. To search across every recording, use Search transcripts in the Library; search inside audio recordings shows how.
- Check summary points at the source. Summary bullets carry citations you can tap to jump to the transcript line they came from, so a surprising action item is one tap from its evidence.
Transcription happens on your device and works offline. There is no account, and your recordings and transcripts are never sent to us. The audio to text use case and the complete voice to text guide cover the rest of the flow.
Frequently asked questions
Why does Whisper output "Thank you for watching" on silence?
Because its decoder is a text language model trained on subtitled web video, where sign-off phrases sit over silence or music. When a 30-second window contains no speech, the decoder has nothing to go on and writes the text it learned belongs there. Keeping silence away from the decoder, with voice activity detection, is the most effective remedy.
Why does Whisper repeat the same sentence over and over?
The decoder uses the text it produced for the previous window as context for the next one. Once a window goes wrong, the bad text becomes the prompt and the model continues the pattern. Not carrying previous text forward, retrying windows that look repetitive, and capping segment length keep a loop short or stop it.
Does Parakeet hallucinate?
Much less on silence, because a transducer decoder is tied to audio frames and emits blanks when there is nothing to transcribe. It can still repeat or degrade on inputs much longer than it was trained for, which is why long recordings are split at pauses before transcription.
How can I check a transcript for invented text?
Search it for stock phrases such as "thank you for watching", look for any phrase that repeats three or more times, and skim around long pauses and the first and last minute. In ThinkScribe, tap a line to hear the recording from that point, so any doubtful sentence can be checked against the audio in seconds.
Can I reduce transcription errors without changing model settings?
Yes. Choose the spoken language instead of relying on detection, record close to the speaker in a quiet room, and give the app your names and jargon. In ThinkScribe that means the language chip and the Custom Dictionary; words you correct three or more times are added for you.