This document defines voice-over lip-sync per locale for
TODOS.phase-72.72.11.2.9. The pipeline uses each language's VO integration row
and recording metadata to generate phoneme data aligned to localized voice
duration for accurate lip sync.
The tracked contract is
V2/ue/Content/Localization/V2/VoiceOverLipSyncPerLocale_V2_Contract.json. The
deterministic output lives at
V2/ue/Content/Localization/V2/VoiceOver/LipSync/VoiceOverLipSyncPerLocale_V2.json,
and the summary report lives at
V2/ue/Content/Localization/V2/VoiceOver/LipSync/VoiceOverLipSyncPerLocaleReport_V2.json.
Generation#
V2/ue/Tools/generate-v2-voice-over-lip-sync-per-locale.py reads
VoiceOverIntegrationPipeline_V2.json and
VoiceOverRecordingScriptExport_V2.json. When a localized source WAV and
metadata sidecar exist, it derives a locale-specific phoneme profile,
distributes phoneme cues across the recorded duration, maps phonemes to visemes,
and emits a monotonic phoneme timeline for the dialogue line.
The current repository has no committed localized source WAV files, so the tracked output records twelve waiting rows and zero generated phoneme cues. The checker creates temporary WAV and metadata files to prove the generator emits phoneme timelines when each language's VO is present.
Validation#
V2/ue/Tools/check-v2-voice-over-lip-sync-per-locale.py validates the contract,
deterministic output, report, CI and Horde wiring, missing-audio detection, full
temporary-audio phoneme generation, monotonic cue timing, viseme mapping, and
the phase-72 checklist.