Audio normalisation in LUFS

I would like to set up some output presets which, in addition to outputting video with the selected codec parameters, normalise the audio output to the correct level for various streaming services to minimise the dynamic range compression/volume adjustment they apply.

Would it be possible to use an LUFS-based audio-normalisation library (such as libebur128 in FFmpeg) to normalise to a given target value? If so, how?

Do the current audio normalization filters not suit your needs?

Many thanks for the swift reply.

I could only find a way to apply the normalise filters to individual clips, rather than the programme mix.

e.g. if I have mono tracks for presenter 1, presenter 2, voice over, special effects, atmos and a stereo background music track - how do I normalise the stereo mix keeping the relative levels keyframed throughout the video?

Put the stereo mix on its own track and apply the 1-pass normalize filter to the entire track. Or, apply the 2-pass normalize filter to the stereo clip on that track. (you can only apply the 2-pass filter to a clip, not a track IIR).

Put the voice on a different track and apply the gain filter to individual clips on that track.

That would get close - but it would only give the correct output level if there was no correlation between the tracks.

You can apply the 1-pass normalize filter to the entire project. Click on the project tab and then apply the filter.

The 1-pass normalize filter does not guarantee that the program loudness of the exported file will be exactly the target loudness. Basically the 1-pass filter changes gain up and down to “chase” the target loudness. It kind of mimics what a human would do with a volume knob. This effectively reduces the dynamic range of the entire program.

Another option: Edit your video so that it sounds good. Save the MLT file. Open Shotcut to a blank project and open your MLT file “as a clip”. Then, apply the 2-pass normalize filter to the clip (which is actually the entire project). The 2-pass filter will reduce the overall gain so that the final output matches the target loudness. But it won’t “reduce” dynamic range.

Many thanks - the second option seems to do exactly what I would like.

This allows one to check what Youtube et.al. will do to a video on playout.

Actually, that does not select the entire project. Rather, you need to click the Master track head at the top, left corner of the Timeline.

In the UI this is in the menu as File > Open MLT XML As Clip…

This topic was automatically closed after 90 days. New replies are no longer allowed.