I have a single video track, which includes audio from 4 different mics (a Skype group call). One speaker is louder than the others, so I’d like to reduce his volume. Normalize seems like the way to go, but I can’t seem to get it to work.
If I click on the ‘clip’ and add the Normalize: Two Pass filter, I get the Target Loudness toggle and am able to set it to any value I want. But after clicking Analyze and letting the job finish, I hear no difference in the audio. I set it to -23, but the loud speaker easily spikes at -5.
If I click the ‘track’ and add the Normalize: One Pass filter, I get many more toggle options, including the Target Loudness one, but experience the same non-difference - although since I see no button to ‘activate’ the filter, I might just be doing it wrong.
Any tips? Is normalize the tool I should be using here? Is there an obvious step I’m skipping that’s necessary for the desired functionality?
Thanks in advance!
Have you tried the ‘Gain’ control instead?
Yes, but it lowers everyone’s volume.
It should only be applied to and will affect the ‘selected’ clip on the timeline.
Don’t apply it to the ‘track’ head.
‘Normalize’ will normalize each clip’s volume variances within itself.
I have only 1 clip, which makes up the whole track.
Ah, I understood it as 1 video track with 4 audio tracks.
Well I have never used the normalize filter to date neither do I have a similar video clip to test it with at this point.
You could try splitting the track at each point and use the gain filter for each section.
Based on your description, I would apply the “Normalize (one pass)” filter to the entire track. You may need to reduce the “Analysis Window” on the filter so that it responds quickly to sudden volume changes. Also, consider adding a “Compressor” filter after the normalize filter to smooth out peaks.
When configuring the Normalize filter, watch the “Output Gain” meter in the filter window while playing your clip. You should see the meter go negative when the loud speaker is talking. The gain should be higher when other speakers are talking.
So I dropped the analysis window down to 2 seconds, and increased the maximum rate to 9 dB/s, but the nature of the recorded conversation doesn’t seem to lend itself to Normalizing. The loud speaker will say something brief, and someone will respond. The effect of the normalization is that the volume for the response of the non-loud speaker is reduced. The visualization provided by the Output Gain meter helped me to understand the behavior, so thanks for the tip!
Going forward, it doesn’t look like I’ll be able to use these filters to get the results I need. And even if I could, I don’t think I’d want to replay the recorded video in its entirety multiple times to apply multiple real time filters. I guess the old adage remains true: Garbage In, Garbage Out. I’ll need to ensure the loud speaker reduces his own mic gain and future recordings.
Your experience makes sense. The “Normalize” filter works reactively - that is, it reduces the volume after if notices that it has gone up. So there is some delay.
You might try the “Compressor” filter instead. It has a much faster response time. It has a similar “Gain Reduction” meter as the Normalize filter. Start by setting the ratio to “1:3” and then turn down the threshold until gain reduction occurs when the loud speaker talks but not the other speakers. Then tweak from there.
Your next best option would be to complete all your editing with the unbalanced audio. Then, after you are done, go through the track and split all the places where the loud speaker talks into their own clips. Then, for each individual clip of the loud speaker, apply the gain filter to that clip to bring his volume down. This would be tedious, yes. But I think it is the best option available in Shotcut at this time.
I would normalize the audio track manually in an audio editor, then add it to the video. Might be a bit tedious, but less so than doing it in Shotcut.
And how does one activate Normalization once the parameters are set ?
There’s no “Do It” button.