Blog
Horia Stan5 min read

Why I Send Codec-Check Previews and BWF Metadata With Every Mix (2026 Mastering Workflow)

Stop sending one WAV. My 6-file export plus BWF metadata and LUFS checks that cut revisions and fix streaming surprises.

Horia Stan is a music producer and sound engineer at The One Records, Bucharest.

Why this matters in 2026

Most mixes arrive to mastering as a single WAV and a shrug. That costs time. It costs clarity. It creates avoidable revisions. Streaming codecs, loudness normalization and multiple release targets make the problem worse in 2026. Mastering engineers need options and context. I give them both.

I stopped sending a single stereo file years ago. Now I send a package. The package removes guessing. It identifies problems I already handled. It documents the settings I used. It saves a mastering revision or two. And it keeps release timelines predictable.

This is not a beginner list. This is a practical, exact export and metadata routine I use on every professional release. I use Logic Pro as my DAW, Audient iD14 MkII for conversion, FabFilter Pro-Q 3 and Pro-L 2 on buses when needed, Waves SSL bus compressor for glue, Youlean Loudness Meter 3 for verification, and BWF MetaEdit for metadata.

The export package I send

I always include five core files and one README.

  1. Archive BWF 24-bit/96 kHz. Includes bext/iXML with session notes. No limiting. PCM 24-bit. Dither POW-r #3. This is my archival master.
  2. Mastering-ready WAV 24-bit/48 kHz. No limiter. Bus processing optional. Peak ceiling -6 dBFS sample peak. Verify true peak below -3 dBTP after render.
  3. Glued mix WAV 24-bit/48 kHz. Same as file 2 but with mix bus compression (Waves SSL G-Master or Logic Compressor set to 1.5:1, 2-4 dB gain reduction). No final limiter. I render this so the mastering engineer can choose glue or clean.
  4. De-harsh variant WAV 24-bit/48 kHz. This is a quick surgical version with a 1-2 dB reduction in the 3-8 kHz band using FabFilter Pro-Q 3 dynamic EQ. I only use this when I know the song competes harshly in that band.
  5. Codec-check previews. AAC-LC 128 kbps 44.1 kHz and Opus 64 kbps 48 kHz MP4/M4A and OGG. These reveal how transients, midrange sheen and vocal sibilance behave after real streaming codecs.

Plus: a single README.txt with plugin list, track BPM, key, ISRC placeholder, sample rates used, and the exact LUFS/TP numbers I measured.

1
Render the archival BWF
Bounce 24-bit/96 kHz in Logic. Use PCM WAV with Broadcast Wave 'bext' chunk. Add the session notes into the bext description. No limiting. Dither with Logic's POW-r #3 if downsampling later.
2
Create the mastering WAV
Bounce 24-bit/48 kHz. Disable any final brickwall limiter. Set mix bus so peak meter sits around -6 dBFS. Run Youlean Loudness Meter 3 to confirm integrated LUFS between -16 and -12 for clean mixes. Verify true peak below -3 dBTP.
3
Make the glued version
Re-enable your bus compressor (I use Waves SSL or Logic Compressor for 2-4 dB glue). Bounce at same settings. Label file 'glued'. Measure LUFS -14-ish. No limiter.
4
Render the de-harsh variant
Insert FabFilter Pro-Q 3 dynamic band around 3-8 kHz. Pull 1-2 dB only when necessary. Render and label 'de-harsh'.
5
Produce codec-checks
Bounce stereo mix to 24-bit WAV then encode to AAC-LC 128 kbps (44.1 kHz) and Opus 64 kbps (48 kHz). I use ffmpeg for deterministic encodes: ffmpeg -i mix.wav -c:a aac -b:a 128k mix_aac128.m4a and ffmpeg -i mix.wav -c:a libopus -b:a 64k mix_opus64.opus.

Exact loudness and peak targets

I do not guess loudness. I measure it.

-6
sample peak
aim for -6 dBFS on master render
-14
LUFS
glued reference for mastering to hear balance
-3
dBTP
true peak safety after render

Clean mixes should sit between -16 and -12 LUFS integrated. The glued preview should be close to -14 LUFS integrated. Keep peak headroom around -6 dBFS to leave transient space. After rendering, verify true peak with Youlean Loudness Meter 3 or iZotope Insight. I aim for true peak below -3 dBTP on mix exports. That keeps codecs honest.

Why these numbers. Leaving -6 dBFS sample headroom prevents the encoder or mastering limiter from squashing transients. Choosing -14 LUFS on the glued file gives the mastering engineer a realistic sense of the final energy without removing control. True peak under -3 dBTP reduces inter-sample clipping after lossy encoding.

Metadata and delivery details

Broadcast Wave files let me embed a short mastering note in the bext chunk. I use BWF MetaEdit to write an explicit note: "No limiter. Sample peak -6 dB. Glue on bus: Waves SSL, 2-4 dB GR. De-harsh available. Codec previews included." I also include a README.txt with exact plugin versions: "FabFilter Pro-Q 3 v3.14.0, FabFilter Pro-L 2 v2.12.0, Waves SSL G-Master v10.5, Youlean Loudness Meter 3 v3.6.0".

I add tempo and key. I add the stereo start time in samples. I attach stems if the mastering engineer asked. But I never bury the core info. If they open the file, they see the bext note right away.

NOTE
Don't rely on a message in an email. Embed the instruction inside the BWF bext and include a README. Mastering engineers get hundreds of files. Metadata prevents a wasted batch of listens.

Why I encode Opus and AAC preview files

Lossy codecs handle transients and sibilance differently. Most listeners hear the lossy result, not the WAV. Mastering for streaming requires knowing how the codec treats your top end and your midrange density.

I make the 128 kbps AAC-LC and 64 kbps Opus previews because they reveal two common failure modes: transient flattening and mid-high distortion from psychoacoustic masking. I use ffmpeg for consistent, repeatable encodes. I do not hand the mastering engineer a single MP3 and say 'good enough.' I give them the problem in advance.

Common mistakes I avoid

  • Rendering with a limiter on the master bus and sending the false loudness. That steals control. I never do it.
  • Sending only an MP3 or only a WAV. Encoders differ. Send both previews.
  • Forgetting metadata. A missing ISRC or tempo costs time.
  • Gauging loudness by eye. I use Youlean and I state numbers in README.

Quick checklist before upload

  • BWF archive 24/96 with bext filled. No limiter.
  • Mastering WAV 24/48, sample peaks at -6 dBFS, true peak below -3 dBTP.
  • Glued WAV 24/48 with bus glue, LUFS ~-14.
  • De-harsh WAV when needed with 1-2 dB reduction in 3-8 kHz.
  • AAC-LC 128 kbps and Opus 64 kbps previews.
  • README.txt listing plugins, versions, LUFS, peak numbers, stems included.

Final note and takeaway

I stopped guessing and started shipping data. Mastering engineers prefer options and metadata. Codec-checks reveal the real-world result. BWF metadata prevents an extra revision. If you adopt this, your mixes will land at mastering with fewer questions and faster signoffs.

Takeaway: export five specific files, embed bext/iXML metadata, include AAC and Opus codec previews, and state exact LUFS and true peak numbers in the README. That single habit will cut two revision rounds on average and get your releases final faster.

mixing-for-masteringcodec-checkBWF-metadataLogic-Proloudness