3ll3d00d / beqdesigner

MIT License
25 stars 4 forks source link

Remux auto adjust does not match max headroom value #229

Open younger38 opened 5 years ago

younger38 commented 5 years ago

Using the auto-remux does not seem to match with the headroom values shown

In my test the auto adjust was adjusting the remux by -5.11 DB After analyzing the extracted audio with the Filter applied the largest noted clipping using the headroom value was -12.72 DB As per Arons instructions in the RemuxBEQ below the expected remux auto adjust should be more than -12.72DB adjusted

  1. Check Headroom - Click the up arrow below the PvA graph. This will bring up the waveform graph below. Check the "Filtered?" checkbox. Now select each signal and make note of the headroom shown. One or more of the signals may show negative headroom. The negative gain you choose to add should be based on the worst case, so make note of which signal had the least headroom (or the largest negative headroom). Add a negative gain filter to the same master signal above to increase headroom so that it is no longer negative on any of the channels.

Remux_Clipping_correction

Clipping

younger38 commented 5 years ago

This was tested on 0.6.2 Beta 2

3ll3d00d commented 5 years ago

The same code is used in each case to generate the value so it is hard to see how this can happen.

I can't reproduce this myself so I need the project file for this and ideally the track you are analysing/remuxing. This will be easier to share if you reduce it to a sample of a minute or so.

3ll3d00d commented 5 years ago

one thing to bear in mind is that it currently ignores the channel mapping and just works off the signals defined in the app

this may well be related as you have a set of channel mappings listed to Default which usually means you have no signal loaded, it should just stick at 0 in this case when you click the button though

younger38 commented 5 years ago

I think I know why you cant reproduce. Based on some of the posts I misunderstood that you could do the remux without having the audio extracted first. I assume based on what you send above the signals still need to be created. I tested it that way and the functionality is correct. So now I just dont have to add an additional gain in the filter. Sorry for the confusion.

One question though I know I read some posts back and forth with Aron and yourself and I think you seemed to feel that to cover off the headroom the additional gain decrease should be more than 1 db over the clipping level. Does the remux do this?

For example if the max clipping value is -12.5 I would have added a -14 DB gain filter, so the headroom would be more than 1. Is this what the feature is going to do or is it going to simply add a -12.5 gain?

Thx and again sorry for the mixup

3ll3d00d commented 5 years ago

Thanks for investigating further.

It just does the value calculated with no additional headroom atm. I think the technically correct way to do this would be to do something like a 4x oversample and then filter, could be a bit slow though and very memory intensive. I guess a quick version would be to just do that to a snippet a few minutes around the peaks though.

younger38 commented 5 years ago

No problem glad to help sorry again for the mixup.

That would be a cool nice to have 👍