Author Topic: Downmix multi-channel loudness  (Read 839 times)

j7n

  • Posts: 5
Downmix multi-channel loudness
« on: 4 Apr '19 - 03:04 »
If I select "Downmix multi-channel" under Output, the loudness of surround program decreases, presumably due to normalization for clipping avoidance. But my music already has ReplayGain tags added, according to the original level, where the RMS power of all speakers is summed (per R128 in Foobar), and clipping of loud recordings is avoided most of the time by this. Currently multichannel music plays much quieter than stereo and ReplayGain doesn't fulfill its role.

Could a switch be added that disables downmix normalization?

Ian @ un4seen

  • Administrator
  • Posts: 21973
Re: Downmix multi-channel loudness
« Reply #1 on: 5 Apr '19 - 13:34 »
Please upload an example affected file to have a look at here:

   ftp.un4seen.com/incoming/

j7n

  • Posts: 5
Re: Downmix multi-channel loudness
« Reply #2 on: 5 Apr '19 - 20:26 »
I've uploaded a surround AC-3 file, stereo of the same song, and an XMPlay downmix. XMPlay applies -6dB in addition to the replaygain value in the tag; to bring the downmix back to normal level it needs a +6 adjustment. Dynamic range compression is disabled in AC-3 plugin, and output channels is Default. This is not specific to one format, and also happens with TAK via Winamp-plugin.

In Foobar "Downmix channels to stereo" doesn't normalize, and in ac3filter there is a checkbox for "Normalize matrix". It either ought to have a checkbox, or make the normalization and ReplayGain aware of each other, and only normalize when RG is not used.
« Last Edit: 5 Apr '19 - 20:34 by j7n »

Ian @ un4seen

  • Administrator
  • Posts: 21973
Re: Downmix multi-channel loudness
« Reply #3 on: 12 Apr '19 - 15:02 »
The downmixing level reduction doesn't actually go as far as normalizing the matrix but does lower the levels a little depending on the channel reduction (6dB when it's 4 or more channels) to avoid/reduce clipping. Here's an update that adds an "Adjust level" switch to control whether that level reduction is applied:

   www.un4seen.com/stuff/xmplay.exe

j7n

  • Posts: 5
Re: Downmix multi-channel loudness
« Reply #4 on: 12 Apr '19 - 20:16 »
Thank you for the update!

Not related, but to avoid starting a new thread. Is there a reason why 5.1 is output to ASIO in the order L, R, Ls, Rs, C, LFE (last pairs swapped)? I have 6 channels available, and in the plugin have selected first output 0. Stereo is cycled through the output channels as expected if I increase "first output", so it sees them in right order.

Ian @ un4seen

  • Administrator
  • Posts: 21973
Re: Downmix multi-channel loudness
« Reply #5 on: 16 Apr '19 - 15:05 »
Not related, but to avoid starting a new thread. Is there a reason why 5.1 is output to ASIO in the order L, R, Ls, Rs, C, LFE (last pairs swapped)?

That appears to be the default channel order in most (all?) ASIO drivers. XMPlay's output is with the 2nd and 3rd pairs the other way round, so they will need to be swapped by the ASIO output plugin. I'll look into that.

j7n

  • Posts: 5
Re: Downmix multi-channel loudness
« Reply #6 on: 17 Apr '19 - 20:32 »
I did not know this was a common default, as I've only dealth with stereo. I've no problems sending any channel to any output in the mixer.

Ian @ un4seen

  • Administrator
  • Posts: 21973
Re: Downmix multi-channel loudness
« Reply #7 on: 18 Apr '19 - 13:54 »
Actually, I see the ASIO plugin is already swapping the 2nd and 3rd output pairs by default (it's a while since I last looked at it :)), so if they sound the wrong way round then I guess they shouldn't be swapped in your device/driver's case. Here's an update that makes it optional:

   www.un4seen.com/stuff/xmp-asio.dll

Let me know if it still sounds wrong after disabling the "Swap 2nd and 3rd output pairs" option.

j7n

  • Posts: 5
Re: Downmix multi-channel loudness
« Reply #8 on: 19 Apr '19 - 01:38 »
Thank you. It is perfect now.