Last week a twenty-minute meeting came back with a transcript containing Portuguese, Russian, German and Spanish. Everyone on the call was speaking English and Urdu. Nobody had said Obrigado, and certainly not three times in a row.
Nothing was broken. The speech model was doing exactly what it was trained to do, and the same thing is almost certainly happening in your meeting notes right now. Here is why it happens, how to spot it, and what actually fixes it.
Why does speech-to-text invent words?
Speech models do not return silence. Given audio, they return their best guess at what was said, and when there is nothing to transcribe they still have to produce something. What comes out is whatever the model saw most often in training data that looked like this: the end of a video. So you get Thank you for watching, Please subscribe, Obrigado, or a line of subtitle credits, confidently placed in the middle of your call.
The technical name is hallucination, but that word makes it sound rare and mysterious. It is neither. It is the predictable output of a model asked to describe nothing.
Why do the invented lines come out in other languages?
This is the part that surprises people, and it is the more damaging half of the problem. Most live transcription runs in short chunks, a few seconds each, so the text can keep up with the conversation. The model detects the language of every chunk independently.
On a chunk full of clear speech that detection is easy. On a chunk containing a pause, a cough, or keyboard noise, it is close to a coin flip. Once the model has guessed Portuguese, it generates fluent Portuguese to match. The output is grammatical, plausible, and entirely fictional.
This is why the invented lines are so often foreign-language pleasantries. They are the residue of millions of hours of video endings, surfacing whenever your microphone has nothing better to offer.
Why this matters more than a funny transcript
A stray Obrigado is harmless on its own. The damage comes downstream, because almost nobody reads the raw transcript. They read what the AI made from it.
The summary, the action items, the follow-up email your tool drafts for you: all of them treat the transcript as fact. Feed a summariser twenty invented sentences and it will faithfully summarise them. We watched a recap quietly degrade this way, and the failure mode was not a wrong answer that looked wrong. It was a confident, well-written recap of a meeting that had partly not happened, addressed to the people who were actually there.
That is the risk worth naming. Transcription errors announce themselves; you read a garbled word and discount it. Invented sentences are fluent, and fluency is exactly what makes them survive into the summary unchallenged.
How do I check my own meeting notes?
Open the raw transcript of a recent call, not the summary, and look at the quiet stretches: the first seconds before anyone speaks, the pause while someone shares a screen, the moment after somebody says goodbye. Four things to look for:
- Sentences in a language nobody on the call speaks.
- Video sign-offs: thanks for watching, see you next time, please subscribe.
- Subtitle or captioning credits, which appear surprisingly often.
- One short phrase repeated three or more times in a row. Repetition is the model looping with nothing to work from.
If your tool only shows you the summary and never the transcript, that is worth knowing in itself. You cannot audit what you cannot see.
What actually fixes it
Three things help, and they are worth understanding because two of them are commonly done wrong.
Set the sampling temperature to zero. Most speech APIs will, by default, fall back to more creative decoding when confidence is low. That fallback is precisely the mechanism that produces fluent invention. Turning it off costs nothing in accuracy on real speech.
Pin the language, but only when you should. Fixing the language stops per-chunk detection from drifting, and on a reliably single-language call it is the single most effective change. On genuinely mixed-language calls it is the wrong move: forcing English onto Urdu produces worse output than letting detection work. The honest default is automatic detection with the other two defences in place.
Filter whole-chunk artifacts. A chunk consisting of nothing but Thank you, or one phrase repeated three times, can be discarded outright. The important detail is whole-chunk: the same words inside real speech must be left alone, or you start deleting the meeting. "Thank you, that makes sense" is a real sentence and has to survive.
What we changed
All three, in Loquelle. Transcription now runs at zero temperature, the language can be pinned per account when someone's calls are reliably in one language, and a filter drops whole chunks that are nothing but a known artifact or a looped phrase. The default stays automatic detection, because mixed-language meetings are normal and pinning the wrong language is worse than the problem.
We are writing this up rather than quietly shipping it because the failure is not specific to us. If you use any AI notetaker, the quiet parts of your calls are being filled in by a model that cannot say nothing.
Frequently asked questions
Is this the same as the AI getting a word wrong? No, and the difference is what makes it dangerous. A misheard word looks wrong and you discount it. An invented sentence is grammatical and plausible, so it survives into the summary unchallenged.
Does a better microphone fix it? It reduces it, because cleaner audio means fewer ambiguous chunks. It cannot remove it, since the silence between sentences is still silence.
Should I just pin the language to English? Only if your calls really are English-only. On mixed-language calls, forcing one language produces worse output than automatic detection. Fix the temperature and the artifact filter first, since those help everyone.