Skip to content
AI.info

Speech and audio

Long-Form ASR, Chunking, and Non-Speech Hallucinations

Handle segmentation, chunk overlap, context carryover, speaker changes, silence, music, repetition, and long-duration evaluation.

By the end you can

Example

More silence in the file, more invented text

A stretch of silence can come back as a confident paragraph. That is measured, not anecdotal. A 2024 FAccT study, Careless Whisper, ran audio through the Whisper API and then measured how much of each file was non-vocal, using pyannote voice activity detection. The relationship runs the way the mechanism predicts: “Audio files yielding hallucinations tended to have higher non-vocal shares of durations (29% versus 26% of total durations).”

The disparity underneath is the part worth sitting with. Aphasia speakers in that data had a 41% non-vocal share. Controls had 15%. The gap is reported at p < 2.2e-16. The hallucination rate tracked it too: 1.7% of aphasia segments against 1.2% of control segments. The people whose speech carries the longest pauses are the people whose transcripts acquire the most text that was never said.

What comes out reads like ordinary speech. So does the text repeated where one chunk overlaps the next. A review that stops at aggregate error and insertion counts will catch neither. That is the difficulty this whole lesson circles. The characteristic failures of long-form transcription are fluent, and fluent text is exactly what error counts are worst at flagging.

  • The decision underneath all of it is how to handle segmentation, chunk overlap, context carryover, speaker changes, silence, music, repetition, and evaluation over long durations.
  • The failure that shows up first is repeated text where one chunk overlaps the next.
  • The evidence anyone would think to ask for is word error rate and insertion rate broken out by recording duration. The FAccT figures show why that alone is not enough. A 29%-against-26% non-vocal share is a property of the audio, and no word-error number reports it.
  • The practical response is to build the test audio out of the things that break chunking — silence, music, crosstalk, speaker changes, applause, domain shifts — with the non-vocal share of each file measured, not guessed.

Case

1.4% of transcriptions invented, 38% of them harmful

That study puts a denominator under the failure. It ran 13,140 AphasiaBank audio segments through the Whisper API. Of those, 187 reliably produced hallucinations, yielding 312 hallucinated transcriptions — an average of 1.4% of transcriptions. The abstract states the headline plainly: “While many of Whisper's transcriptions were highly accurate, we find that roughly 1% of audio transcriptions contained entire hallucinated phrases or sentences which did not exist in any form in the underlying audio.”

One per cent sounds survivable until the harm breakdown is read beside it. Of those hallucinations, 19% perpetuated violence, 13% made inaccurate associations and 8% implied false authority. In all, 38% carried at least one such harm. These are not transcription errors in the sense a spell-checker would recognise. They are whole phrases that existed nowhere in the audio. Someone will read them as a record of what was said.

None of it appears in the number most teams report. Word error rate scores a fluent fabrication the same way it scores an ordinary substitution. So 1.4% and 38% both vanish into a figure that looks fine.

10.52 to 78.78, from nothing but where the windows were cut

Thirty seconds is the unit the model was built for. An hour of audio is the unit it is asked to serve. OpenAI trained Whisper on 680,000 hours of audio, cut into 30-second segments. Long-form ASR fills the gap between that unit and the recording. It breaks continuous audio into windows small enough to decode, and tries to preserve context, timestamps, speaker changes and boundaries across the seams. Chunk length, overlap, prompt carryover, reset policy and non-speech handling are all settings someone chose. Each of them can produce omissions, duplicates, drift or unsupported text.

Where the next window starts is itself model output. The 2023 WhisperX paper names the consequence in one line: “Such a method is prone to severe drifting since timestamp inaccuracies in one window can accumulate to subsequent windows.”

A larger model does not fix this. The mechanism is not a shortage of capacity. It is where the audio was cut. WhisperX's Table 3 prices that directly: feeding full audio in batches of 32, with no VAD pre-segmentation, raises TED-LIUM word error rate from 10.52 to 78.78. Same model, same recordings, same decoder. The only thing changed is the boundaries, and the transcript goes from usable to worthless. Boundaries are detected first, and the long-form controls then run over the chunks those boundaries define. Miss a speaker change, or end a segment mid-sentence, and the controls are being applied to a window that was already wrong. Tuning them does not recover 78.78.

Omissions, duplicates and unsupported text come out of chunking settings someone chose: 10.52 against 78.78 WER on TED-LIUM is the same system with its boundaries in a different place.

Example

Recordings that defeat segmentation

Which setting breaks is not the same in every recording. Meetings, broadcast archives, podcasts and body-worn audio defeat segmentation in four different ways. Each is counted in its own unit: a duplicated seam in words, a drifting timestamp in seconds, an invented passage in the harm it carries. The non-vocal-share evidence that settles the silence case says nothing about the other three. A WER of 10.52 or 78.78 says nothing about which phrases were invented.

  • Podcasts arrive with music beds, ad breaks and repeated intros — non-speech arranged deliberately and on a schedule, which is exactly the condition the 29%-against-26% finding attaches to.
  • Meetings turn on speaker changes and interruptions, and those create dependencies that run straight across a chunk boundary, which is where WhisperX's VAD pre-segmentation earns the difference between 10.52 and 78.78.
  • Broadcast archives run long enough for timestamp and context drift to accumulate — the severe drifting the WhisperX paper describes.
  • Body-worn audio mixes non-speech, movement and privacy boundaries, so conservative transcription is the right behaviour even when it returns less. The 38% harm share is the cost of the alternative.

Comparison

WhisperX cut the context, and said why

Which of those four you are serving decides how much context a chunk should carry, and there are three answers. Independent chunks limit error propagation and give up cross-boundary language context to do it. Context-carrying chunks keep that context and accept the propagation. Hierarchical processing takes the same trade at a different price again.

The middle branch is not hypothetical, and neither is the resolution. WhisperX's default configuration sets `Condition on previous text` to False, and its authors say why: “In practice, we find this restriction to be beneficial, since conditioning on previous text is more prone to hallucination and repetition.” A published system, on a long-form benchmark, threw away cross-boundary context rather than carry the hallucination and repetition that came with it. That same prior-text conditioning is the mechanism behind the invented text the FAccT study counted.

That is one team's resolution on one workload, not a general verdict. The three branches answer related but different questions, and no single measurement settles all three.

FigureComparison · 3 columns

Independent chunks

Limit error propagation but lose cross-boundary language context.

  • Decision focus: Detect structural boundaries
  • Useful evidence: WER and insertion rate by recording duration
  • Watch for: Repeated text at chunk overlaps
  • Best used when its assumptions are documented for long-form asr, chunking, and non-speech hallucinations

Context-carrying chunks

Improve continuity while risking drift and self-reinforcement.

  • Decision focus: Decode overlapping chunks
  • Useful evidence: Duplicate, repetition, and timestamp-discontinuity rates
  • Watch for: Context prompts propagating an early mistake
  • Best used when its assumptions are documented for long-form asr, chunking, and non-speech hallucinations

Hierarchical processing

Combines local recognition with document-level structure at greater complexity.

  • Decision focus: Manage context state
  • Useful evidence: Non-speech false transcript duration
  • Watch for: Music or silence decoded as speech
  • Best used when its assumptions are documented for long-form asr, chunking, and non-speech hallucinations

Visual

The mean improved, one dataset got worse

Choosing between them is only one of four choices sitting behind a long-form transcript: measurement, modeling, decision and verification. A single number computed over a whole recording hides all four. The path runs in the order the choices are actually made. What gets measured off the audio, how the windows are modeled, which reset policy is decided on, how the result is verified. The order is the point, because the earliest choice is the one nobody goes back to.

Step three, managing context state, is where the reset policy lives. OpenAI's own numbers show why it cannot be settled with an average. The Whisper paper describes the coupling: “Transcribing long-form audio using Whisper relies on accurate prediction of the timestamp tokens to determine the amount to shift the model's 30-second audio context window by, and inaccurate transcription in one window may negatively impact transcription in the subsequent windows.”

Its Table 5 then prices the knob. Conditioning on previous text cuts average long-form WER across seven datasets from 10.2 to 10.0. On the Meanwhile set it raises WER from 4.61 to 6.16. The same setting helps on the mean and hurts a slice. Two tenths gained in the reported average, bought with a point and a half lost on one recording type. Whichever way you set it, report the slice, not only the mean.

FigureProcess · 4 steps
  1. 1. Detect structural boundaries

    Use activity, speaker, scene, and duration cues without assuming perfect segmentation.

  2. 2. Decode overlapping chunks

    Preserve context while reconciling duplicate and partial text.

  3. 3. Manage context state

    Reset, summarize, or carry prior text according to evidence and domain.

  4. 4. Run long-form controls

    Detect repetition, unsupported text, timestamp drift, and non-speech output.

Previous-text conditioning moved Whisper's average long-form WER from 10.2 to 10.0 and the Meanwhile set from 4.61 to 6.16: the mean improved because a slice was allowed to get worse.

Steps

Build a long-form torture set

Verification is the step worth building first. Its cheapest form is a torture set: audio assembled to be handed to someone hostile, who should then be able to demonstrate repeated text at a chunk overlap within a minute of looking. Fill it from the four recording types — silence, music, crosstalk, speaker changes, applause, domain shifts. Make some of the files long enough that the drift has room to compound.

"Long enough" is a published number, not a feeling. Earnings-21, released in 2021, is 44 files of 2020 earnings calls from nine sectors, 39 hours and 15 minutes in total. Of the individual recordings its authors write: “The recordings in this corpus range in length from less than 17 minutes to 1 hour and 34 minutes with the average recording being about 54 minutes in length.” Earnings-21 is also one of the seven long-form sets behind Whisper's own Table 5. Build a torture set at that scale and you are testing at the duration the published averages were computed over. Fifty-four minutes of audio is a long chain of thirty-second windows, each one shifted by the last one's timestamps.

Three notes go with the set, and they are the notes the next team will need. Write down what your boundary detection assumes about the audio. Write down one recording where that assumption is wrong. Write down what the long-form controls then do to that recording. That is the part nobody records.

FigureProcess · 4 steps
  1. 1. Assemble continuous recordings

    Include silence, music, crosstalk, speaker changes, applause, and domain shifts.

  2. 2. Vary chunk policy

    Sweep duration, overlap, context carryover, and reset rules.

  3. 3. Detect pathological output

    Flag loops, impossible speech rates, low acoustic support, and timestamp jumps.

  4. 4. Review at document level

    Measure missing sections and editing effort, not only local word errors.

Earnings-21 runs from under 17 minutes to 1 hour 34 minutes, averaging about 54 minutes; a torture set of two-minute clips has not tested long-form behaviour at all.

Example

Two models, the same WER, different amounts of fiction

The torture set shows what breaks. A report has to say how often, and one number cannot. Word error rate and insertion rate by recording duration is the right place to start. It will not by itself show repeated text at the chunk overlaps, because a duplicated seam is fluent, correctly spelled and locally plausible.

Two systems can post the same WER and invent different amounts of text. That has been demonstrated, not merely suspected. Frieske and Shi define ASR hallucinations as fluent but semantically unrelated output, and in January 2024 they reported what that does to the metric everyone quotes: “We show that commonly used metrics, such as word error rates, cannot differentiate between hallucinatory and non-hallucinatory models.”

So say what unit each figure is in, which recordings it covers, how uncertain it is and how long they ran. Then put beside it the measurements that do see seams, drift and invented speech.

  • For the core task, word error rate and insertion rate reported by recording duration rather than averaged across it — the 10.2-to-10.0 average that concealed 4.61-to-6.16 on Meanwhile is what averaging buys you.
  • For what the system did to the audio, duplicate, repetition and timestamp-discontinuity rates: the three figures that can see a seam, which a WER of 10.52 or 78.78 cannot.
  • For the robustness slice, the non-vocal share of each file and the duration of false transcript produced over it — the 29%-against-26% finding, measured on your own audio.
  • Over the working life of the pipeline, document completeness and the human correction time it costs, plus a hallucination count, because Frieske and Shi show WER will not supply one.

Report wer and insertion rate by recording duration together with document completeness and human correction time.

Key idea

The average survives a catastrophic recording

Chunking is a pile of shortcuts, and four of them turn expensive once the audio runs for hours and carries more than speech. Text repeats where chunks overlap. A context prompt carries an early mistake forward into every window after it, which is why WhisperX switched prior-text conditioning off. Music or silence is decoded as speech, more of it the more silence there is. And an average absorbs a catastrophic failure in a few long recordings.

The fourth is the one to fear, because it protects the other three. Windows sized for 30-second segments hold up right until the file is 54 minutes long and nobody plays it back end to end. By then the reported figure is a mean. It is the mean that moved from 10.2 to 10.0 while Meanwhile went from 4.61 to 6.16. It is the mean that reads 10.52 until the boundaries slip and it reads 78.78. A 1.4% rate of invented phrases is a rounding error in such a mean. In the file someone actually reads it is a fabricated paragraph, and in 38% of cases a paragraph that perpetuates violence, makes an inaccurate association or implies false authority.

Duplicated text at an overlap seam takes seconds to spot, yet it survives to release whenever the only number reported is an average across recordings.

Key takeaways