• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Help with Digital Bass Management summing formulas and other considerations

Ron Kuper

Member
Joined
Apr 3, 2018
Messages
22
Likes
4
In a JRiver thread there was a discussion about JRiver's BM formulas, for example - L^2 + R^2 + C^2 + SR^2 + SL^2 = LFE^2, from a post by Matt, JRiver's CTO):
5.0 source, redirecting bass to the 0.1 channel (assume 0.1 channel is silent for now) should use this equation:
L^2 + R^2 + C^2 + SR^2 + SL^2 = LFE^2

Assuming values from 0 to 1.0, the maximum LFE is then Sqrt(5) or 2.24. This means to avoid clipping, all values must be multiplied by (1 / 2.24) or 0.45.

So, in AlexB's example of a single channel with full intensity sound:
L^2 + R^2 + C^2 + SR^2 + SL^2 = LFE^2
1.0^2 + 0^2 + 0^2 + 0^2 + 0^2 = LFE^2
1 = LFE^2
LFE = 1

Then, to adjust for attenuation:
LFE = 1 * 0.45 = 0.45.

The thread continued long and strong about requirements for +10dB LFE attenuation and other important considerations like slopes, headroom, etc.

At the moment, I can't seem to gain confidence in knowing the bottom line conclusion for the correct implementation of BM for 2.0, 5.1 and 7.1 contents.

Focusing for starters on summing formula for 2.0 to 2.1 with Stereo music, looking at this simple formula (taken from EqualizerAPO boards) -

SUB=0.5*L+0.5*R

Is this correct?
What if there is uneven bass content (it is Stereo music) in the L+R channels below the Low Pass Filter highest audible frequency?



As a background and context, this is my overall goal -
Integrating a subwoofer with the main speakers while keeping everything in the digital software domain for flexibility and proper integration with other software tools like Dirac Live.
I am currently playing with the highly flexible EqualizerAPO (together with VoiceMeeter in order to bypass the OS Mixer when possible) and while I feel fairly confident with it I do need help with the formulas for different content formats.
 
Last edited:

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,880
Likes
16,666
Location
Monument, CO
Disclaimer: I am no LFE expert.

Technically LFE is a separate sound track in movies. The sub output contains the LFE content plus whatever bass management does, usually some sort of summing of LF content below the LPF from all other channels into the sub output, so the sub is LFE+bass. Sort-of.

Most diagrams I have seen just show a simple sum of LFE + redirected bass from the other channels. An older receiver I have only summed from the L/R speakers, but most others I have seen sum from all other channels. I do not claim to know what yours does, At any rate, that means the sub output is:

sub out = LFE + sum(bass below crossover frequency from all other channels)

Whether the sum is linear as the diagrams I have imply (Lbass + Rbass + ...) or an RSS (root-sum-square, Lbass^2 + Rbass^2 + ...) I could not say. And I have read conflicting viewpoints upon how the sum is scaled; if you take two identical signals and add them, the result is a signal that peaks at twice the amplitude, so you need to cut the voltage by 6 dB to keep the same maximum value. For a sum, and just using two terms to make it easier, out = (A + B)/2. If you RSS them, usually you take the square root and scale if needed: out = sqrt(A^2 + B^2).

I have been told the way LFE is handled has changed with more recent implementations but originally the LFE track was encoded at a lower bit rate and lower resolution. I do not remember off-hand, but something like 8 bits at 256 kS/s? There was a 120 Hz upper limit IIRC. It was also recorded at a lower level -10 dB, because LF signals tend to be very large and they wanted to be able to reach realistic playback levels without adding bits to the whole system. On playback, the LFE channel requires a 10-dB boost to compensate (but not the summed -- managed -- bass from the other channels). At the end, full-scale is 105 dB for each speaker except the subwoofer, and the LFE's full-scale is 115 dB including the 10 dB boost.

Most mixes take LF content to mono but not all. The latter is the argument for stereo subs. I have gone back and forth over the years, mostly stereo subs until the past few, when I decided (a) I couldn't hear any difference on any material I tried, and (b) stereo is much more hassle to set up and align using multiple subs (I have four). We almost certainly hear it in mono except pressure pulses can be sensed in stereo. I think. Above my pay grade. In any event,with a DSO you can do what you want, and could try both linear sum and RSS'ing to see if there's a difference/preference in your case.

HTH - Don
 

Fitzcaraldo215

Major Contributor
Joined
Mar 4, 2016
Messages
1,440
Likes
633
In a JRiver thread there was a discussion about JRiver's BM formulas, for example - L^2 + R^2 + C^2 + SR^2 + SL^2 = LFE^2, from a post by Matt, JRiver's CTO):


The thread continued long and strong about requirements for +10dB LFE attenuation and other important considerations like slopes, headroom, etc.

At the moment, I can't seem to gain confidence in knowing the bottom line conclusion for the correct implementation of BM for 2.0, 5.1 and 7.1 contents.

Focusing for starters on summing formula for 2.0 to 2.1 with Stereo music, looking at this simple formula (taken from EqualizerAPO boards) -

SUB=0.5*L+0.5*R

Is this correct?
What if there is uneven bass content (it is Stereo music) in the L+R channels below the Low Pass Filter highest audible frequency?



As a background and context, this is my overall goal -
Integrating a subwoofer with the main speakers while keeping everything in the digital software domain for flexibility and proper integration with other software tools like Dirac Live.
I am currently playing with the highly flexible EqualizerAPO (together with VoiceMeeter in order to bypass the OS Mixer when possible) and while I feel fairly confident with it I do need help with the formulas for different content formats.
Ron - don't get hopelessly lost in the details. JRiver BM works perfectly fine in 2.1, 5.1, 7.1, etc. I have been using it for years with absolutely no problems on stereo, SACD with both 5.0 and 5.1 discs, and BD 5.1 and 7.1. I redirect bass in all channels to the sub with specific xover frequencies by channel, and it properly adds in the LFE with the correct attenuation to the .1 output when available.

The only problem is not really a BM problem. There is a potential channel misalignment, including the sub output channel. In JR for Mch, you should use either 5.1 or 7.1 as the output parameter in DSP Studio, not Source Number of Channels, which can cause the serious channel misalignments. (I documented this in the JR Forum.)

So, I have set up two output Zones, one for 5.1, one for 7.1 output, and I use Zoneswitch to automatically switch between them based on the Channels metadata tag in the input file being greater than or equal/less than 6. (5.1 files have a Channels value of 6, and I prefer listening to 5.0/.1 as 5.1, not expanded to 7.1.) In both Zones, I also check the box in JR forcing 2.0 to be played as 2.1, hence no special Zone is needed for stereo. It sounds much better as 2.1 using the sub below xover.

My system: JR > Dirac Live > Asynch USB via Exasound driver > Exasound E28 DAC > amps via XLR > speakers. I use channel level trims in Dirac, as determined automatically in its calibration. I set channel distances in JR using some old acoustic distances determined in an older calibration with Audyssey. That is more accurate than tape measure distances, especially for the sub which adds unspecified additional electrical delay not registered by tape measure. (Dirac does not yet include distance in its acoustic calibration, but it is expected to in the upcoming new version, which is announced to implement full bass management.)

Incidentally, the channel distance parameter for the sub can also be varied slightly and incrementally to get best phase alignment for the sub at the xover by the technique suggested by Mark Seaton. REW can be helpful in this, but I have not done this tweak or found it necessary.
 
OP
R

Ron Kuper

Member
Joined
Apr 3, 2018
Messages
22
Likes
4
Hi Guys,

Thanks a lot for helping!

Ron - don't get hopelessly lost in the details.
Why not, digging dipper into my hobby :)

Just to clarify - I mentioned JRiver just as a reference. I wrote in the bottom that I'm looking to implement a similar BM scheme with EqualizerAPO that will be available system wide without having to go through the JRiver WDM driver (gave me a lot of stability and SQ issues. eAPO is not a virtual audio device, implemented as an APO or as a VoiceMeeter API client).

I still use JRiver and Roon (which doesn't have BM but similar DSP as eAPO although not as flexible) and other clients (Netflix, SoundCloud, YouTube, etc...) All can either connect directly to the audio device or through VoiceMeeter with eAPO. Many options, want them all to sound good and I'm learning in the process.


sub out = LFE + sum(bass below crossover frequency from all other channels)
That part I got from my readings as well. I plan to use eAPO inputChannelCount condition to configure a different scheme for 5.1, 7.1 and 2.0 content which will change automatically.

But that's for later, first need to know the correct summing for 2.0 Stereo music. Thus - No LFE channel to deal with on one hand but potentially other issues as Stereo music might have uneven stereo bass content which I wonder if it could create issues with levels, energy preservation, phase, etc when using 0.5*L + 0.5*R.

In any case, I'd like to know the options and compromises, as I'm sure no perfect setting exist.

Meanwhile, I've been bugged that eAPO doesn't have LR-4 XO filters natively (someone has implemented it using a math I can't verify, although it looks OK on the graph). Thinking perhaps moving straight to using rePhase as a convolution filter in eAPO instead. Not sure if it still requires summing/upmixing (2.0-->2.1) downstream.
 
Last edited:

Fitzcaraldo215

Major Contributor
Joined
Mar 4, 2016
Messages
1,440
Likes
633
Hi Guys,

Thanks a lot for helping!


Why not, digging dipper into my hobby :)

Just to clarify - I mentioned JRiver just as a reference. I wrote in the bottom that I'm looking to implement a similar BM scheme with EqualizerAPO that will be available system wide without having to go through the JRiver WDM driver (gave me a lot of stability and SQ issues. eAPO is not a virtual audio device, implemented as an APO or as a VoiceMeeter API client).

I still use JRiver and Roon (which doesn't have BM but similar DSP as eAPO although not as flexible) and other clients (Netflix, SoundCloud, YouTube, etc...) All can either connect directly to the audio device or through VoiceMeeter with eAPO. Many options, want them all to sound good and I'm learning in the process.



That part I got from my readings as well. I plan to use eAPO inputChannelCount condition to configure a different scheme for 5.1, 7.1 and 2.0 content which will change automatically.

But that's for later, first need to know the correct summing for 2.0 Stereo music. Thus - No LFE channel to deal with on one hand but potentially other issues as Stereo music might have uneven stereo bass content which I wonder if it could create issues with levels, energy preservation, phase, etc when using 0.5*L + 0.5*R.

In any case, I'd like to know the options and compromises, as I'm sure no perfect setting exist.

Meanwhile, I've been bugged that eAPO doesn't have LR-4 XO filters natively (someone has implemented it using a math I can't verify, although it looks OK on the graph). Thinking perhaps moving straight to using rePhase as a convolution filter in eAPO instead. Not sure if it still requires summing/upmixing (2.0-->2.1) downstream.
I really do not see stereo 2.0 > 2.1 as a special or unusual case that would require anything different from 5.1, 7.1, etc. If anything, the reduced channel count should make integration between sub(s) and the main LR even more straightforward for stereo. And, whatever you do for stereo LR + sub(s), that should be carried over for Mch or vice versa.

In proper setup, there should be no difference in channel level trims, including the sub, for stereo vs. Mch. Energy preservation? Assuming I know what you mean, why would that differ in stereo? Ditto, phase? And, given you are implementing a Mch system, you also should somewhere within it have a speaker distance parameter to play with, a la Mark Seaton, which can fine tune delay and phase at the xover frequency better than typical sub phase controls.

The new Dirac with bass management might be a straightforward answer. However, it might not interface with all the sources you plan to use. It will work for me, since I use no sources not fully compatible with JRiver, and JRiver - Dirac integration is a given via a Dirac VST plugin, which I now use. Yes, I do avoid JRiver's WDM driver myself.

But, good luck in your endeavors.
 

Kal Rubinson

Master Contributor
Industry Insider
Forum Donor
Joined
Mar 23, 2016
Messages
5,294
Likes
9,851
Location
NYC
I still use JRiver and Roon (which doesn't have BM but similar DSP as eAPO although not as flexible) and other clients (Netflix, SoundCloud, YouTube, etc...)
ROON does BM but you need to set it up manually as will JRiver.
 
OP
R

Ron Kuper

Member
Joined
Apr 3, 2018
Messages
22
Likes
4
I really do not see stereo 2.0 > 2.1 as a special or unusual case that would require anything different from 5.1, 7.1, etc.
There is an additional handling of the LFE channel, and perhaps different summing formula.
But anyway I wasn't saying that they're that different, just to start with getting the 2.1 formula right and take it from there.

Perhaps I didn't explain myself... I am familiar with BM concepts, familiar with the Dirac VST option and looking forward for Diracs BM, or Unison for that matter (But first for the near upgrade Live version).

My wish was to hace a discussion of the internals of digital BM in order to implement them correctly with eAPO, for fun, education and more computer audio flexibility.

ROON does BM but you need to set it up manually as will JRiver.
Thanks Kal, you've actually pointed me towards it in Roon Community thread some time ago. I posted back step by step with pictures -
https://community.roonlabs.com/t/roon-dirac-integration-again/20433/58?u=ron_kuper

After the last few days reading about BM and XOs I think they have room for improvement.

Found a thread close to what I wanted to discuss here -
http://www.diyaudio.com/forums/pc-based/301618-equalizer-apo-rew-rephase-wow.html
 

Fitzcaraldo215

Major Contributor
Joined
Mar 4, 2016
Messages
1,440
Likes
633
There is an additional handling of the LFE channel, and perhaps different summing formula.
But anyway I wasn't saying that they're that different, just to start with getting the 2.1 formula right and take it from there.

Perhaps I didn't explain myself... I am familiar with BM concepts, familiar with the Dirac VST option and looking forward for Diracs BM, or Unison for that matter (But first for the near upgrade Live version).

My wish was to hace a discussion of the internals of digital BM in order to implement them correctly with eAPO, for fun, education and more computer audio flexibility.


Thanks Kal, you've actually pointed me towards it in Roon Community thread some time ago. I posted back step by step with pictures -
https://community.roonlabs.com/t/roon-dirac-integration-again/20433/58?u=ron_kuper

After the last few days reading about BM and XOs I think they have room for improvement.

Found a thread close to what I wanted to discuss here -
http://www.diyaudio.com/forums/pc-based/301618-equalizer-apo-rew-rephase-wow.html

In simple BM without an LFE in the input, there is no technical or practical difference between 2.0 input > 2.1 output and Mch 5.0 input > 5.1 output. (I have not encountered 7.0 or higher input files, just 7.1.) Each channel is just split by the xover and frequencies below the selected xover are directed to the summed mono sub channel.

Again in simple BM but with LFE in the input file, that mono LFE signal with industry standard attenuation is merely added automatically to the redirected frequencies in the mono sub channel. The standard is well known, and I have never encountered a recording where the LFE does not integrate seamlessly with the BM systems I have encountered.

Multiple subs are a good thing. But, life may get complicated if you wish to use multiple, separate, independent sub channels if they are not simply 1:1 with main channels. That added complexity includes properly mixing in and distributing the mono LFE if present. However, Toole, for example, has seen no advantage empirically in listener testing for a multi, independent sub channel configuration, and he does not recommend it over a summed mono bass channel. Also, BM plus DSP and DAC channel count must be increased to support it, which will introduce added cost, complexity and reduce available choices in a Mch system.

I have only a little idea how Mch processors with multiple sub outputs handle the balancing of the sub outputs, including their handling of the LFE input and asymmetry with main channels. I can guess, but it is not well documented. Some, I know, simply allow individual channel level trims early in calibration, but do their final calibration and operate on a summed mono bass channel signal. Others may or may not be much more sophisticated. But, is it worthwhile?
 

datrumole

Active Member
Joined
Mar 26, 2020
Messages
156
Likes
64
In a JRiver thread there was a discussion about JRiver's BM formulas, for example - L^2 + R^2 + C^2 + SR^2 + SL^2 = LFE^2, from a post by Matt, JRiver's CTO):


The thread continued long and strong about requirements for +10dB LFE attenuation and other important considerations like slopes, headroom, etc.

At the moment, I can't seem to gain confidence in knowing the bottom line conclusion for the correct implementation of BM for 2.0, 5.1 and 7.1 contents.

Focusing for starters on summing formula for 2.0 to 2.1 with Stereo music, looking at this simple formula (taken from EqualizerAPO boards) -

SUB=0.5*L+0.5*R

Is this correct?
What if there is uneven bass content (it is Stereo music) in the L+R channels below the Low Pass Filter highest audible frequency?



As a background and context, this is my overall goal -
Integrating a subwoofer with the main speakers while keeping everything in the digital software domain for flexibility and proper integration with other software tools like Dirac Live.
I am currently playing with the highly flexible EqualizerAPO (together with VoiceMeeter in order to bypass the OS Mixer when possible) and while I feel fairly confident with it I do need help with the formulas for different content formats.

i'm glad i found your post because i'm in a similar boat to you on all of this. i've now changed my approach about 100 times and in some cases have merely given up on incorporating non-LFE in and just dropping it all together

ive got a 5.1 setup, with some uniqueness

across the front i have DIYSG Fusion8s, a speaker that can confidently do 60hz, and 3x DIYSG magnum12s (and 4x infinity 1262s nearfield, but only feed them LFE)

originally the goal was to have then the magnum12s under each one for a full range sound stage

however, thats six independent channles across the front, two surr, leaving no LFE at all in my 8ch UDAC8

so i've had to mash the front subs into a single channel. i'm trying to find the best math to get them to sound good by representing LCR and potentially some LFE

right now i do a high pass and low pass from LCR (i call them LHP and LLP for each of the channels). the XHP goes to the Fusions naturally. since the magnum12s are so nice, i actually cross all of this over at 200hz

so my FS (front subs, all the 12s) = 0.5*LFE+0.333LLP+0.333*CLP+0.334*RLP

but i'm looking at all your sexy sqr and sqrt math and wonder if i should be doing the same
 

aarons915

Addicted to Fun and Learning
Forum Donor
Joined
Oct 20, 2019
Messages
686
Likes
1,140
Location
Chicago, IL
I've recently stopped using XT32 on my Denon because I hated it, I always had my system sounding better on my old Emotiva UMC-200 with PEQ so I've been experimenting with Equalizer APO and the Peace addon and am really happy with the results. What I did to get my bass management the same as how the Denon redirects it is to just measure the Sub Pre out into REW using the Denons BM and then going direct and getting it close through EQ APO with the Peace addon. VSUB is the bass management from the mains at -10db level to ensure the LFE is the proper 10db louder and then is summed into the LFE channel.

Copy: VSUB=-10db*L+-10db*R+-10db*C+-10db*SL+-10db*SR
Copy: LFE=LFE+VSUB

(Note you can also use .316 as a coefficient instead of -10db, I just prefer something intuitive)

For my -3 sub setting on the Denon this is the same level as if I were letting the Denon do bass management when I measure a single speaker and measure the Sub pre out level. Using EQ APO for all your bass management gives you a lot more flexibility and allows you to use a receiver in direct or pure direct mode which may be slightly better sounding.

One thing I noticed is any receiver setting like the LFE level or crossover applies to this sub channel since it's basically sending it as the .1 LFE channel, so make sure to set it to 250 so it isn't active.
 
Last edited:
Top Bottom