Measure loudness, not peaks. Integrated loudness per ITU-R BS.1770 is the figure clients and platforms quote. WavSpec measures it natively with BS.1770-5 K-weighting and gating, along with short-term and momentary loudness and loudness range per EBU Tech 3341 and 3342, and its tests check the meter against the EBU test signals.
Aim at the target. A tolerance window is for checking, not aiming. WavSpec computes the gain that puts each file on the target itself, writes the file, measures it again from disk, and adjusts in up to three passes. Files that already meet the spec pass unchanged, and Copy already-compliant files to the delivery folder puts them beside the corrected ones so the delivery is complete.
Limit only what needs it. When gain would push a true peak over the ceiling, a look-ahead limiter with a 2 ms window and 4× oversampled detection holds it, with a 0.1 dB margin for WAV and 0.5 dB for MP3. Files that never come near the ceiling get gain only, so their dynamics stay as mixed.
Handle the format in the same pass. Allowed sample rates, bit depths and channel layouts are part of the spec. WavSpec resamples with a windowed-sinc converter, converts float and other bit depths with TPDF dither, and can deliver constant-bit-rate MP3 through the Windows encoder when a spec asks for it. It reads WAV, BWF, RF64, AIFF, FLAC, MP3, AAC, M4A and WMA in mono, stereo, 5.1 and 7.1.
Keep the metadata. Broadcast Wave bext, iXML, LIST and cue chunks stay in their original order, unknown chunks are copied verbatim, and verified loudness values can be written into bext as EBU Tech 3285 version 2 fields.
Write somewhere else. Delivered files go to the delivery folder, written to a temporary file and moved into place. Originals are opened read-only.
Keep a record. Every run saves a report as PDF, HTML, CSV and JSON. The CSV has one row per file with integrated loudness and true peak before and after, sample peak, RMS, noise floor, maximum short-term loudness, loudness range, the correction, the output file, and the SHA-256 of the output and the source.
Automate when it repeats. A watch folder checks and corrects new files as they finish writing, and the command line runs a named spec on files or folders with exit codes for scripts and DAW post-export hooks.