A clean caption file can still be wrong
A reproducible, synthetic experiment showing where a small caption file checker stops helping. No commercial AI caption editor was tested.
The six fixtures
| File | Flags |
|---|---|
| clean | None |
| reversed | nonpositive_duration |
| overlap | overlap |
| empty | empty_text |
| long_line | long_line |
| semantic_error | None |
What the checker does
Checks nonpositive duration, overlapping cues, empty text and lines over 42 characters. The line-length threshold is our editorial heuristic, not a platform specification.
The semantic trap
Intended source: “The meeting starts at ten.” Caption fixture: “The meeting starts at nine.” The file passes these structural checks. A human still needs to compare meaning with the actual source and watch the final playback.
Reproduce the result
Download the Python script and run it in a new local folder using Python 3. It writes six .srt fixtures and results.json. Only Python standard-library modules are used. Read the recorded results.
python3 run.py
Limitations
- Six deliberately constructed fixtures; no estimate of real-world error rate.
- No speech model or commercial caption editor tested.
- Does not evaluate word accuracy, names, punctuation, reading speed, sync with audio, accessibility compliance, or all malformed SRT inputs.
- A clean structural result is not publication approval.
A clean result is a prompt for the next review, not publication approval.