Fighting Game · Guides & deep dives

Subtitle Timing From Voice-Over

voice-over integration pipeline and recording script export.

1section1 minread

On this page

This document defines subtitle timing from voice-over for TODOS.phase-72.72.11.2.10. The pipeline uses VO clip length metadata to auto-generate subtitle display duration while preserving each localized dialogue line's subtitle timing ID.

The tracked contract is V2/ue/Content/Localization/V2/SubtitleTimingFromVoiceOver_V2_Contract.json. The deterministic timing output lives at V2/ue/Content/Localization/V2/VoiceOver/SubtitleTiming/SubtitleTimingFromVoiceOver_V2.json, and the summary report lives at V2/ue/Content/Localization/V2/VoiceOver/SubtitleTiming/SubtitleTimingFromVoiceOverReport_V2.json.

Timing Rules#

V2/ue/Tools/generate-v2-subtitle-timing-from-voice-over.py reads the voice-over integration pipeline and recording script export. When a localized VO clip is available, the generator reads durationMs from the .voasset.json metadata sidecar and sets subtitle display time to the larger of the localized reading floor and the VO duration plus a 0.35 second post-voice hold.

The current repository has no committed localized source WAV files, so the tracked output records twelve waiting rows. The checker creates temporary VO files and metadata to prove subtitle timing is generated from VO clip length once recordings are present.

V2/ue/Tools/check-v2-subtitle-timing-from-voice-over.py validates the contract, deterministic output, report, CI and Horde wiring, missing-audio detection, temporary-audio timing generation, and the phase-72 checklist.