Audio level not calibrated?

I am confused with the audio level displayed in Shotcut. I have a video recorded with VirtualDub which showed during recording a maximum audio level at approx -6dB. When I load and play this video in Shotcut the max audio level displayed by the meter is approx -17dB. How is this possible? I extracted the audio from the original video and loaded it in Audacity. I then used the Menu Effects/Amplify and found that the amount of gain needed to reach 0dB is 8,45dB. This looks coherent with the VirtualDub display during recording. I applied a 14dB gain in Shotcut with the Gain/Volume filter and exported the audio. I then opened the audio file with Audacity and found out that the audio is clipped! So, am I doing something wrong or there is a problem with the audio levels in Shotcut?

From what I have read and seen, there are several methods of measuring loudness.
The different processes (calibration, weighting, filters, etc.) are translated into different RMS standards.
RMS DBFS
RMS DBFS + 3
RMS K-20 etc etc.
In this GIF capture, I modified the RMS measurement method (Voxengo Span VST plugin for DAW). The scale of values to the right changes according to the measurement method. The measured values also change.

On the other hand, there are maximum peaks also expressed in dB.
In the test that I did the values are close enough.

The capture of the peak meter in Audacity (shown under these lines) is similar to the peak meter in Shotcut. Maybe the peak meter rises a bit more in Shotcut.

Here the values of the meters in Shotcut.Above the LUFS loudness meter, below the peak meter.

xwnFw5ZF0O

The P value (dBFS units) in the LUFS loudness meter in Shotcut shows values matching the peak values in Audacity and in Voxengo SPAN.

There seems to be some small visual difference, so I compared the LUFS loudness measurement (which does not appear in Audacity) of VST plugins with the values that Shotcut shows and they match

The LUFS integrated (aprox.-10 LUFS) loudness measurement between Shotcut and VST Youlean Loudness Meter is similar.

The measurement of loudness is a complex issue (from what I have seen).
Each measurement model is useful for different scenarios.I’ve only written this answer to illustrate the number of concepts we can handle talking about dB.
What audio format did you use? Can you share a sample of the original file to do a test?
Did you try other audio formats .mp3, AAC, WAV, etc?

2 Likes

Thanks ejmillan for your interesting response. The loudness measurement is indeed a complicated matter!

In fact my problem is much more simpler since I am interested only in the peak signal value expressed in dBu. This is not to introduce any clipping in the audio chain. So, Audacity and VirtualDub show true peak levels and in my audio track the maximum level is at - 8,45dBu. In Shotcut am am using the peak meter not the volume meter (which displays LUFS). And the Shotcut peak meter shows maximum values about 10db lower than Audacity. The possible explanation is that the Shotcut peak meter does not show the true audio peaks because Shotcut is a video editor and not an audio editor like Audacity. The unitary step along the horizontal axis in Shotcut is one video frame. So what value the Shotcut peak meter reports in one video frame time slot? Definitely not the maximum audio level in that time slot. Could be the average level or something else. This has to be confirmed and clarified as my explanation may be wrong! I will not be surprised to see that the Shotcut peak meter reports the same peak as Audacity when tested with a pure constant sinusoidal signal. Because in this case there is no doubt about the peak value in one video frame time slot.

Anyhow, I think a good explanation of how the Shotcut peak meter works would be useful, maybe it could be the topic of a FAQ.

How I got into this problem: when recording videos I set the audio level so that the peak is about 6-8dB below 0dBu. This is my margin because I don’t want to watch a 3 hour video to adjust the maximum audio level. Once the video recorded, I add gain to the audio track so that the peak value is -1dBu. I tried to do this with the Shotcut Gain/Volume filter and realised the the amount of gain required to reach 0dBu is much more important than what Audacity reported. And indeed, if I apply the required gain in Shotcut, the audio is severely clipped. So, what I will do from now on is to check with Audacity the amount of gain required in my audio track and set that value as the gain for the Gain/Volume filter in Shotcut. This works fine!

Sorry ejmillan, I forgot to mention that the audio recorded with VirtualDub is raw audio (PCM, 48000Hz). If you consider at this point that a sample wav file is needed, just let me know and I will post it.

I always used Audacity to increase the gain and avoid clipping.
Imported the original video in Audacity, to extract the audio.
Then, I used the amplification tool and adjusted the value “new peak cut” below or equal to zero.
It also disabled the allow clipping option.
Finally, it exported the resulting audio as WAV and later added the video editor as an audio track.
However, I started to investigate the measurement of loudness LUFs, to use the normalize filter (one pass or two passes), in which I can set a target loudness value (integrated LUFS).
This normalizes all the audio sources of your project for a consistent sound without ups and downs.
However, this can be counterproductive for projects where we are looking for precisely, appreciable differences in audio levels (for example to accent an emotion or scene).
I suppose that peak measurement is a valid method to avoid distortions by clipping. I did this in my videos until recently.
I did not know about loudness LUFs until I saw the meter in Shotcut.
The audio treatment is also interesting in a video editor.
I do not understand many of the concepts (audio compression, bandpass, rejection, etc.) and I use the help-guide that Audacity has.
My knowledge of all this is limited, so I only do test-essay-comparison.
I test a function in Audacity and then compare the same function in Shotcut.
I do this to take advantage of the audio filters that Shotcut offers and, whenever possible, avoid using an external audio editor.
Your PCM file is not necessary. You can upload some screenshots where we can see the differences of peak between Audacity and Shotcut.
Many times, an image is more revealing than words (especially for me that I should use the online translator), and we may both talk about different things.
Silly question: how do you measure the real peak value in Audacity?

About the measurement of loudness here a detailed explanation.
https://www.tcelectronic.com/brand/tcelectronic/loudness-explained#googtrans(en|en)

Here is also an explanation about the true peak level:

On “Peak program meter” a detailed explanation affects a large number of references and existing standards:

According to all this, the measurement of loudness (especially watching the true peak TP) seems a wise way to avoid unwanted peaks and distortions when converting digital audio to analog.
In the loudness measurements that I did with the Youlean Loudness Meter 2 plugin (in my first response), red marks are observed that indicate a true peak value above 0 dB (+0.5 dB).
However, the TP value in the loudness meter in Shotcut marks a positive value (728.5 dBTP) out of scale range (-50 to +3).
I should ask about this.
Finally I overcomplicated the answer to your problem.:pensive:
Searching the forum, I found this.
I hope it helps.

Nice posts @ejmillan
Agreed that there is a bewildering number of standards and measuring methods.
I always work with the EBU R128 specs https://tech.ebu.ch/docs/r/r128.pdf and have found SC to be pretty much spot on.

Often prepare short intros or promos for broadcast using SC and it has never let me down.
For quick jobs, find SC easier to use than Resolve or Premier.

However, something does not fit.I do not understand the TP value of the loudness meter in SC.
Does not match the values of other VST meters (EBU R128).
I put my question in this thread: Doubts about the TP value in the loudness meter - #2 by Paul2

I found a free VST plugin to measure loudness in Audacity.
You can measure in RMS or EBU (LUFS).

I used the previous version (dpmeter3) and it worked well in Audacity.
This meter has many measurement modes.
Incorporates among others: RMS (factory default), LUFS EBU R128, DB K-20, etc.
LCaScsOZX9

HYN67uGmOE

I have not tried it, but I think it also allows you to apply a gain to the audio source from the same plugin.
Version 4 of this plugin, also works in Audacity.

OK, problem solved. All this was due to the version of Shotcut I was using (17.06.02 in the Debian Stretch release). With this version, when moving the video clip to the timeline, the audio level drops significantly: -13,5dB with the video I was working on (voice audio track) and -6dB with a pure 1kHz tone. This is no more the case in the latest Shotcut release (19.02.28) so I consider that this problem has been addressed and fixed. There is still a difference between the audio level of the video track and the level reported by the peak meter: I recorded a video with a 1kHz tone at 0dB and when played in Shotcut the peak meter shows apprx. +2dB. This is apparently due to oversampling (see this old topic: Shotcut peak meter reads incorrectly - lowers volume while rendering). Thank you all for helping me solve this and sorry for having put up a problem which no longer exists.

I apply a 1 kHz tone with 0dBu voltage level at the input of my capture card then extract the audio from the video and open it in Audacity. Audacity shows 0dB max for the file (or +1 level).

Still to be clarified is what exactly the peak meter displays in a frame. Have a look at this screenshot where you can see the audio in a frame. The audio is a 1kHz tone slightly peaking at -1db in Audacity, AM modulated at 99% with a square wave at apprx 50Hz. So what value does the peak meter show in the following screenshot? (if you go through the successive frames you will see the peak meter showing a maximum of 0db and a minimum of -18db with intermediate values of -2,5dB, -5dB, -10 dB, -15dB)

My understanding is that the peak meter should show the maximum level of the audio in the displayed frame. With this signal it should always be 0dB, whatever the frame you pick. Am I wrong?

If the peak meter shows the audio level at the beginning of each frame then the displayed value in the screenshot does not match the waveform.

It shows the RMS power level of all samples obtained from that frame.

Many thanks, it is perfectly clear now!

Oh, I think I have been a little bit too fast with my answer. With my sin signal am modulated at approx 50Hz normally Shotcut sees the same signal in each frame, only the phase is changed due to the fact that the modulating frequency is not exactly 50Hz. Also, with a sinus tone with its max at 0dB, the peak meter should show -3dB for the RMS value. Am I wrong? The following screenshot shows the peak meter at +2dB…

The RMS value in this frame

is the same as the RMS value in this frame:

and the peak meter shows a huge difference…