Audio pipeline / Implementation note

Matching volume without rewriting a take

Gabriel Ferreira Rosalino

My recordings arrived at very different playback levels. I wanted moving between tracks to be more comfortable, without replacing the original files or pretending to repair the performances.

Measure, encode, measure again

Gabrielf Studio uses FFmpeg's two-pass loudnorm filter. The first pass measures the original audio; the second uses those measurements to prepare a new playback copy. Audio always comes from the original, never from an already normalized copy.

  1. 1. MeasureRead the original's loudness and true peak.
  2. 2. PrepareEncode a separate playback copy.
  3. 3. VerifyMeasure the encoded result before accepting it.

For this site's volume-matched profile, I chose a target of −16 LUFS integrated loudness. The verifier accepts results within ±1 LU and requires a true peak at or below −1.5 dBTP. Those are the pipeline's settings, not a universal mastering prescription.

The extra measurement matters because AAC encoding can change the peaks. The pipeline leaves headroom, checks the actual encoded file, and retries with adjusted settings if necessary. It rejects the result after three unsuccessful attempts instead of quietly accepting an out-of-range file. The filter uses linear gain when the constraints permit and dynamic leveling otherwise.

Keep the source, publish a derivative

Originals remain unchanged. A new playback file gets a checksum-based name and records its measurements and encoding recipe. Where there is video, the existing compressed video stream is copied; packet checksums, duration, and audio/video alignment are checked.

Public publication is another explicit step. It extracts the normalized AAC stream into an audio-only M4A without re-encoding, removes source metadata, and verifies the audio packets. That is what the 18-track listening room serves—not the original video or the private catalog.

What this does not fix

This is volume matching, not denoising, remixing, or a cure for clipping already in a recording. Raising a quiet take also raises its recorded background noise. No AI model is involved in this step, and a loudness measurement does not judge whether the guitar and voice are artistically balanced.

All notes Listen to the recordings