What the batch QC checks
The chunk walker verifies the RIFF, RF64, or BW64 header; WAVE form type; declared container and chunk bounds; even-byte padding; mandatory format and data chunks; duplicate singleton chunks; RF64/BW64 ds64 placement and 64-bit sizes; PCM block alignment; byte rate; whole sample frames; and declared versus actual file length. Unknown chunks remain in the inventory rather than being treated as damage.
How BEXT start time is interpreted
BWF stores TimeReference as a 64-bit count of the first sample since midnight. The auditor divides that exact count by the sample rate declared in fmt and shows the result as a clock. Batch comparison uses seconds, so stems with different sample rates can still be compared without pretending the raw sample counts are equivalent.
BEXT and iXML metadata
The fixed BEXT fields include description, originator, reference, origination date and time, TimeReference, BWF version, UMID, version-2 loudness words, reserved bytes, and optional CodingHistory. For iXML, the tool checks UTF-8 and element balance, disables DTD/entity processing, and extracts common production fields such as project, scene, take, tape, timecode rate, file sample rate, bit depth, and track count.
Validation boundary
A clean result means only that the selected bytes passed the checks implemented here. The page does not hash files, decode compressed audio, scan PCM sample values, calculate programme loudness, validate UMID semantics, enforce a station-specific metadata profile, verify timecode drop-frame arithmetic, inspect compressed BXML/SXML, or fully validate ADM/chna/axml. File-name pairing and editorial intent remain human decisions.
Frequently asked questions
Why is an unknown chunk retained?
RIFF readers are expected to ignore chunks they do not understand. Private and vendor chunks can be legitimate, so the auditor maps them and checks their declared bounds without guessing their payload semantics.
Why can matching stems still show different durations?
A one-frame or one-sample edit, tail, handle, export setting, or malformed size declaration can change duration. The report gives exact seconds and underlying sizes so you can decide whether the difference is intentional.
Can this repair a damaged WAV header?
No. This tool is deliberately read-only. It identifies the failed declaration and byte offset, but does not rewrite sizes or audio files.
Authoritative references
EBU Tech 3285 defines BWF and the BEXT fields. ITU-R BS.2088 defines BW64 and its ds64 model; the EBU's Tech 3306 page explains RF64's transition to that recommendation. Microsoft's RIFF overview documents FOURCC chunks, payload sizes, and word padding.