Several Audio filter “normalise two pass” in the same clip

What is your operating system?
Linux 64 bit

What is your Shotcut version (see Help > About Shotcut)? Is it 32-bit?
21.5.18 Flatpack (I have not seen if it is 32bit or 64 bit)

Can you repeat the problem? If so, what are the steps?
I have a FFV1 video in the timeline.
I have a separate audio track.
I have 4 sections in the audio track, created with s-key.

When I talk about sections, please note, that there are two types of sections. Sections of the track created with key-s (I call them timeline-sections). And inside of such a timeline-section you can make subsections in the keyframes-line, when you want to add more than one Audio filter “normalise two pass”. I call them keyframe-sections.

I only want to add several Audio filters “normalise two pass" to the third timeline-section.
I mark the third timeline-section in the audio track.
I add the audio filter “normalise: two pass”
A)
In keyframes I set a first “filter end” within the timeline-section. So I have my first keyframe-section.
I press the analyse button.
I do not wait until this is analysed.
I immediately in “keyframes” press the seek forward button.
I add immediately a second audio filter “normalise: two pass”.
Go back to A) until you have about 6 filters.

When all “analyse jobs” are done, then I go to the beginning of the keyframe-section 6 (within the timeline-section 3) of a filter and play the whole section.

My expectation was, that now the “audio loudness I” (of course I first have pressed “reset”) is -23 when the keyframe-section of the filter was completely played.
But it has a great deviation.

Can I only have one Audio filter “normalise two pass” in one timeline-section?

It works, when I only have one Audio filter “normalise two pass” in one timeline-section.

Can you reproduce this?

Thank you.

These are called clips. Video clips or audio clips.

“Normalize: Two Pass” does not allow keyframing. Any keyframe-line you created was not associated with the Normalize filter. So we are unsure of how a clip is being divided into six sections when you say “keyframe-line”. Can you send us a screenshot?

More generically, what is the overall goal? To have all six sections be -23 LUFS each? If so, then “Normalize: One Pass” may be a better filter to use. See its description here:

“Normalize: Two Pass” may not be the right (or easiest) choice because it scans the entire clip (not just the keyframe-line section) and computes the average loudness. Let’s say the analysis found -26 LUFS integrated as an example. Two Pass then adds a fixed gain offset to make the entire clip hit the target, not just a keyframe-line section. For this example, it would raise the gain of the entire clip by 3 LUFS to hit the target of -23 LUFS. After that, adding additional “Normalize: Two Pass” filters would do nothing because the additional filters would see audio that is already on-target from the first filter, and therefore apply a zero LUFS offset which is effectively doing nothing.

Once we know where the keyframe-line is coming from, we can address the next step of modifying audio levels per section if “Normalize: One Pass” is not sufficient.

OK. This explains the behaviour. Thank you. I guess then I will create 6 clips instead. This way I can make what I want.

Yes of course. Here is a gif-animation (please click it):
//-> deleted//

Yes, that’s the goal.

Excellent screenshot! The technique you used to create segments is called “filter trimming” and would have indeed worked if it weren’t for the nature of the “Normalize: Two Pass” filter to analyze the entire clip rather than a trimmed section.

A hack technique if you really like the filter trimming method is to add a Gain filter, trim it to a range like you did before, then hit Reset on the LUFS meter and play the segment, hitting Stop as soon as the segment is done. Then read the LUFS value. If the segment is shorter than 3 to 5 seconds, use the “S” value from the LUFS meter rather than the “I” value. Calculate the difference between I/S and your target, and enter that value into the Gain filter. Repeat for each segment. Basically, this would be doing your own analysis step instead of hitting the Analyze button for automatic results.

I will disable multiple instances of this filter and filter trimming for the next version.

Thank you for this idea Austin.

And thank you for pretending people to run into this issue @shotcut by disabling this in the next version.

Actually this was my next question:
Is there a list of filters that are suitable for trimming and filters that are not suitable for trimming? Why do I ask? Before I apply a filter, I would of course like to know whether a filter is suitable for trimming or not. How do I find this out? Is the audio filter “normalise two pass" the only one that is not suitable for trimming? Or are there others?

This is not available in the UI, but here is a code search:

Basically, anything except Normalize: Two Pass, Stabilize, Time Remap, and Audio/Video Fade In/Out.

Thank you. OK. Then I would like to suggest also to disable the possibility of “filter trimming” for the other Normalize: like Stabilize, Time Remap, and Audio/Video Fade In/Out.