Skip to main content

茶米兔的AI世界

茶米兔的AI世界
FANCY RABBIT · AI, TESTED BY HAND
中文EN

FAILURE & REPAIR

The Sneakiest AI Video Failure: Our Own Fade-Out Setting Strangled the Narration (QA Checklist Included)

By Fancy Rabbit · Published 10 月 16, 2026

The Sneakiest AI Video Failure: Our Own Fade-Out Setting Strangled the Narration (QA Checklist Included)

The full mix passed QA. The narration did not. Here is the repair record.

This video’s QA report was all green: resolution passed, frame rate passed, subtitles passed, “no clipping” passed, “audio present” passed. But the narration was silent — all 17 narration segments were barely audible from start to finish, because one fade-out parameter in the assembly script had its start point wrong by the length of a segment. This is the true story of Veiled Lore Atlas’s Doll Island V1, and the reason per-segment volume verification is an iron rule here now.

ENVIRONMENT
Veiled Lore Atlas, Doll Island V1 (1080×1920 vertical, 20 shots, 110.9 seconds total, 17 narration segments)
TOOLS
ffmpeg audio assembly (narration + brown-noise bed + wooden-clapper effects), automated QA checks
DATE
2026-10-12 (the all-pass QA came first; the audio repair record is from the same day)
KEY FIGURES
before repair, a narration segment (4–14 s) measured mean −51.8 dB; after repair, five sampled segments measured mean −16.8 to −18.3 dB

Overall loudness can never prove narration exists: peaks get held up by sound effects and averages get washed out by the noise bed. There is exactly one way to verify narration — measure it segment by segment. Every segment’s mean must be above −25 dB and its max above −10 dB, and the check isn’t done until every segment has been measured.

The scene of the failure: QA all green, narration silent

Doll Island V1’s automated QA report (2026-10-12) read like this: 1080×1920 ✓, 30 fps ✓, all 20 sampled frames unique ✓, 50 subtitle lines ✓, no Traditional-character violations ✓, no clipping (max −2.8 dB) ✓, audio present (mean −31.7 dB) ✓ — ALL PASS.

The problem: that −2.8 dB peak came from the wooden-clapper effects and the ambience bed, not from narration. The −31.7 dB overall average was mostly the noise bed contributing. The narration track’s actual state was measured in the follow-up investigation: in the narration mix, the 4–14 second segment had a mean of just −51.8 dB and a max of −18.7 dB — by any human standard, silence. Every green light on the report was genuine; none of them was measuring whether the narration existed.

The root cause: a fade-out that starts at second zero

Volume comparison for the same narration segment under broken and fixed afade parameters
The controlled measurement: same narration segment, only the fade start changed. Under the broken parameters the segment averaged −68.2 dB — silence; fixed, it returned to −20.3 dB.

When the assembly script extracted each narration segment, it applied a closing fade: afade=t=out:st=0:d=0.15. The intent was “fade out over the last 0.15 seconds of the segment”. But st=0 means the fade starts at second 0 of the segment — so every narration segment began decaying toward silence the moment it started, reached it within 0.15 seconds, and the sentence was strangled. All 17 segments, every one.

During the repair we ran a controlled measurement to quantify what that one parameter does:

Parameters Narration segment mean Narration segment max
Broken (st=0, fade from segment start) −68.2 dB −39.5 dB
Fixed (st = segment length − 0.15, fade at segment end) −20.3 dB −0.9 dB

Same audio file, same narration segment — changing only the fade’s start point moved the average level by about 48 dB. This class of parameter error is the sneakiest kind: it throws no error, crashes nothing, and produces an output of exactly the right duration that looks fine in every respect. Only listening — and measuring segment by segment — catches it.

The repair: rebuild the audio only, touch no video

The repair was deliberately scoped small: rebuild only the audio track (17 narration segments re-aligned, loudness normalization, the noise bed and clapper effects carried over from the original), copy the video stream through untouched, total duration unchanged at 110.9 seconds. Verification no longer looked at overall figures; it measured five narration segments individually:

Sampled segment Mean Max
4–14 s −18.3 dB −2.5 dB
20–30 s −17.5 dB −2.2 dB
40–50 s −16.8 dB −2.4 dB
55–65 s −17.1 dB −2.4 dB
98–108 s −17.1 dB −2.4 dB

All five passed the new thresholds (mean > −25 dB, max > −10 dB). The record even keeps an honest footnote: the 20–30 s segment’s max of −2.2 dB sits 0.3 dB above the −2.5 dB target — inaudible, no clipping risk, ruled not worth a re-run. A QA record that writes down even that is a record you can trust.

The checklist: sign off narration audio segment by segment

This checklist has been fixed procedure ever since. The next production (Minxiong Haunted House EP02) wrote “compute the fade-out start from the measured narration length” directly into its assembly script comments, aimed at this exact pit:

  1. Measure per segment, never overall. Run volumedetect on every narration segment: mean > −25 dB, max > −10 dB. Overall peak and mean are context, never proof that narration exists.
  2. Sample across the whole runtime. At minimum five segments spanning head, middle and tail (we sampled 4–14 / 20–30 / 40–50 / 55–65 / 98–108 s) — never just the first sentence.
  3. Audit every fade’s start point. Every afade start must be computed as segment length minus fade duration; a within-segment fade with st=0 is forbidden. Print the parameters and read them before assembling.
  4. Attribute the peaks. Know who contributes the loudest moment: if the peak belongs to an effect (clapper, rain), it says nothing about narration.
  5. Measure the fix against the bug. Before and after any parameter change, measure the same segment and write both numbers into the record. “Sounds fixed” is not verification.
  6. Log the small deviations too. A 0.3 dB judgment call gets written down, so the next person verifying knows it exists.

Failures and limits: what this checklist can’t catch

House rule — this section is never skipped:

  • The checklist was bought after the fact. V1’s silent narration was only discovered after an all-green QA — the check suite simply had no item for “narration doesn’t exist” as a failure mode. Your checks define what you can see; invisible failures don’t announce themselves.
  • The thresholds are empirical. Mean > −25 dB and max > −10 dB are practical thresholds for a narration track, not an industry standard; a mix where a music bed fights the voice needs separate judgment.
  • Volume says nothing about content. This check proves the narration is present and loud enough. Whether the words are right is a different verification — the character-by-character one in article 3. The two checks complement each other; neither substitutes.
  • V1 has been superseded. Doll Island was later remade as V2 under the storyboard-first workflow and published; V1’s remaining value is this lesson record, and every figure in this article comes from V1’s QA and repair files.
VERDICT

Copy this checklist as-is. A narration strangled by its own fade-out is the sneakiest failure in AI video audio: no error, no crash, and an overall loudness figure that covers for it. Per-segment volumedetect is the cheapest defense we know, bought with one shipped video’s failure: every segment mean above −25 dB, max above −10 dB, and fade starts always computed from segment length. If you remember one thing: a pretty overall peak and an existing narration are two different facts.

Sources and further reading

  • Doll Island V1 QA report and audio repair record, qa-report.txt (2026-10-12): the all-PASS report, the afade root cause, the controlled before/after measurements and the five-segment verification figures are from here.
  • Doll Island V2 assembly scripts (step2_assemble.py / step4_audio.py): the “compute fade start from segment duration to avoid the V1 afade bug” comment and implementation are from the V2 production files.
  • Minxiong Haunted House EP02 assembly report (2026-10-14): the fade-out start computed from the ffprobe-measured narration length (160.836 s) — the same pit-avoidance pattern carried forward.
  • Article 3 on this site, “ElevenLabs Chinese Narration, Tested”: the character-by-character verification (are the words right) complements this article’s volume verification (is the voice there at all).

FAQ

Why did QA pass when the narration was silent?

Because the checks measured the whole track: the −2.8 dB peak came from the wooden-clapper effects and the noise bed, not the narration, and the −31.7 dB overall average was mostly the bed as well. No check measured the volume of the narration segments themselves, so the narration’s absence was invisible on the report.

What exactly was wrong with the afade parameter?

afade=t=out:st=0:d=0.15 means “start fading out at second 0, over 0.15 seconds” — the author meant an end-of-segment fade, but the effect was that every narration segment decayed to silence the moment it began. The correct form sets the fade start to the segment length minus the fade duration, so the fade happens only in the segment’s final 0.15 seconds.

Where did the −25 dB / −10 dB thresholds come from?

From the Doll Island V1 repair: after the fix, five sampled segments measured mean −16.8 to −18.3 dB and max about −2.2 to −2.5 dB, while the broken narration sat below −51.8 dB mean. The thresholds sit between the two with generous headroom: narration segments must beat −25 dB mean and −10 dB max. They are field values for a narration track, not an industry standard.

Is sampling five segments enough? Why not measure them all?

Measuring is cheap, and measuring all of them is ideal; the five samples were how that particular repair was verified, chosen across the runtime’s head, middle and tail. The standing procedure since then measures every segment — with narration typically running 17–20 segments, a full pass costs nothing but a few more volumedetect runs, so there’s no reason to sample.

Can other editing tools hit the same trap?

Yes, in different clothes: any fade whose start point is relative to the whole timeline rather than to its own clip will bite you in segmented assembly. The defense is tool-independent — before shipping, measure the volume of every narration segment, and when a number is wrong, go back to the parameters instead of reassuring yourself with the overall figure.

🧰 Shopping for AI voice and video tools?

Our reviews, pricing and field notes on the major tools live at DC Affiliate — including the pits that never make the official feature pages.

Read the tool reviews at DC Affiliate →

🎬 Want narrated AI shorts like this?

From verbatim script verification to per-segment volume QA, this pipeline is available as a done-for-you or consulting engagement at David Chen Studio.

Talk to David Chen Studio →

The Fancy Rabbit field notes, once a month

The distilled version of this site’s hands-on tests — plus the cost figures and wreck reports that never make the posts.

One shared list across all three DC Studio sites · Unsubscribe anytime · We never sell your data

Related reading