Fighting Game · Guides & deep dives

Voice-Over Integration Pipeline

For each recording-script row it derives the expected source WAV path:

2sections1 minread

On this page

This document defines the voice-over integration pipeline for TODOS.phase-72.72.11.2.8. The pipeline uses the recording script export to match VO audio files to dialogue IDs, validate coverage, and detect missing recordings before localized audio can be imported into Unreal.

The tracked contract is V2/ue/Content/Localization/V2/VoiceOverIntegrationPipeline_V2_Contract.json. The deterministic generated pipeline lives at V2/ue/Content/Localization/V2/VoiceOver/Integration/VoiceOverIntegrationPipeline_V2.json, and the coverage summary lives at V2/ue/Content/Localization/V2/VoiceOver/Integration/VoiceOverIntegrationCoverageReport_V2.json.

Matching Rules#

V2/ue/Tools/generate-v2-voice-over-integration-pipeline.py reads VoiceOverRecordingScriptExport_V2.json and VoiceOverAssetManifest_V2.json. For each recording-script row it derives the expected source WAV path:

V2/ue/Content/V2/Audio/Voice/{locale}/{voiceBank}/source_wav/{assetFileName}

It also derives the metadata sidecar path:

V2/ue/Content/V2/Audio/Voice/{locale}/{voiceBank}/metadata/{metadataFileName}

Rows preserve the dialogue ID, localized line ID, locale, slate ID, voice cue, subtitle timing ID, voice bank, expected WAV, expected metadata sidecar, match status, and coverage status.

Coverage And Missing Recordings#

The current repository has recording scripts but no committed localized source WAV recordings under V2/ue/Content/V2/Audio/Voice. The tracked VoiceOverIntegrationPipeline_V2.json therefore reports twelve expected Asha story-dialogue recordings, zero matched recordings, and twelve missing recordings. That incomplete coverage is intentional evidence that missing recordings are detected instead of silently treated as complete.

V2/ue/Tools/check-v2-voice-over-integration-pipeline.py validates the contract, pipeline, coverage report, deterministic generation, CI and Horde wiring, and the phase-72 checklist. It also creates a temporary audio root with all expected WAV and metadata sidecar files to prove the matcher reaches complete coverage, and a negative recording-script case to prove malformed rows fail validation.