I posted this a few days ago in AVS and think it might help in some of your questions
@Willem .
Link here, and note there were a few comments and suggestions right after that suggests a method of "Limit Matching" your subs by measuring each one in turn one by one with increasing Gain and finding the point where each one reaches the same THD (say around 5%) and then using the relative gains required to reach this limit as the basis for setting the relative gains in MSO/MiniDSP
Link:
https://www.avsforum.com/threads/op...ins-multi-sub-optimizer.2103074/post-62308699
On the subject of how to
Maximize Subwoofer System Headroom using MSO, here is my approach and thinking - would appreciate any comments, feedback and suggestions.
This is from much experimentation myself and from much reading of this thread,
@andyc56 's excellent documentation, many other threads, @fattire's great videos, plus searches through numerous papers etc. I have not seen a nice clear set of instructions on how to do this in one place so here are my thoughts:
This methodology is based on the following fundamental principles for maximizing output (aka Headroom).
MSO does not consider Headroom at all: MSO std optimization is 25% MLP delta from the Target Curve and 75% Seat-to-Seat RMS average variation. There are many ways to get the end result, and all of them will impact the overall subwoofer system headroom to some degree. Would be really cool if MSO included a new weighted parameter that balanced between FR and Headroom retained (possibly by simultaneously minimizing Sub-Filter RMS variability and/or Sub Relative Phase variability) but there does not seem to be much in the literature that could provide a rational approach for how to balance these two (at least not that I could find – Welti did propose something called
MSVMOL many years back which is sort of what we are looking for but not quite – would love to know if anyone knows of anything published along these lines
). So we are all on our own here and as many have said before, you can really muck things up and kill the oomph of your system if you don't carefully set the MSO parameters well to maximize headroom.
Room gain is great for Headroom – take full advantage of placement to maximize output. Ignore the old tricks of placing subs where smoothest response is preferred – MSO and PEQ will get you that and you will get tons of added headroom from good use of room gain.
Shared EQs are good for headroom: Adding shared EQs (i.e. where the same global EQ applied to each subwoofer) always results in an increase in overall subwoofer system headroom. The more shared EQs applied to get to a given target curve, the more headroom is retained.
Individual sub filters are bad for headroom (so use them sparingly!): Adding sub filters to each subwoofer are useful to improve seat-to-seat variation in frequency response however they reduce the headroom of the overall system as each one forces the other subs to “pick up the slack” so to speak – you want to minimize the number and amount of individual sub filters, and keep them to higher frequencies where they are both most useful and do the least damage to headroom
Phase alignment is good for headroom: In a perfect world, the phase of the arriving sound from each sub at each seat would be the same at every frequency (i.e. peaks line up with peaks, troughs with troughs). In practice this is impossible, so at best you want to minimize the relative phase difference of the arriving sounds. Each doubling of subs where phase is in perfect phase sync adds 6dB of headroom – a more typical result is 3 to 4 dB average increase for each doubling of sub count. If you can tweak phase alignment to go from a 3db add to 6dB add, you have effectively doubled your amplifier power
All subs reaching max output at same time is good for headroom: max system headroom will be achieved when all subs are contributing to their max ability all at the same time – see gain matching note below. You do not want your super mondo sub loafing along when your smaller subs are running out of gas, or vice versa – you want them all working at the same percentage of their max capacity at the same time at all times and at all frequencies
Spread the subs around the room: this will result in the most even FR and a more consistent add to the headroom at more frequencies, across a wider seating range
Mixing of sub sizes and types is doable but get ready to learn: if can be done, but is definitely a more advanced process and needs a DSP with all-pass filters if mixing ported and sealed to get really good results
Proposed Methodology:
Step 1. "Limit Match" your subs - set subwoofer gains such that all subs have the same headroom between the measured level in extreme nearfield and the max subwoofer output
- if all subs are the same, set their gains to be the same
- this is neither level matching nor gain matching – not sure if there is a term for it but I think of it as "Limit Matching”. Goal is for all subs to reach their upper limit at the same overall system level at the same time. Subwoofers are limited at some upper bound by distortion, amplifier, or physical limitations of the driver and will manifest itself by measurable distortion or compression of the amplitude response (i.e. it will stop getting louder when given more input). The upper limit will vary by frequency, with limits reached at the lowest frequencies first. Staggering the upper limits of of each subwoofer in the subwoofer system across a range for output volumes will both reduce subwoofer system headroom and invalidate your very carefully set flat frequency response during peaks and high volume
- for example, if Sub 1 maxes out at 115dB, and Sub 2 at 110dB, then set gain for Sub 1 to 5dB higher than Sub 2 (115dB - 110dB = 5dB) - this will ensure that your higher capacity subs are taking a higher proportion of the load at all times.
- Use measured data at data-bass.com etc to figure out what the max is - I suggest the CEA-2010 average for 31.5 to 50Hz range as a reasonable proxy and place to start. An alternate approach suggested by @andyc56 is to measure each sub and raise output in increments until the same distortion amount is reached for each sub (say something like 5%), then use the differences in level as the proxy for the max output delta
- for more than 2 Subs, then make sure that the relative gains are aligned with the relative max outputs
Step 2: if possible, place subs where they will result in the maximum room gain per sub
- in 2, 3 or 4 corners is best
- along short wall is second best (this will energize the lowest frequencies which are the ones that require the most power)
- in nearfield is great for Tactile Response but often will limit the deepest extension below 30Hz - I personally love if for one or 2 in nearfield, though I add a LPF for the nearfield subs at 80Hz as I can localize them a bit too much
- place your most powerful subs in the locations that provide the highest output at the lowest frequencies
- I don't worry too much about smooth response when placing, just looking for which places result in the most output dB in 15 to 50Hz range
Step 3: Run all the REW measurements for MSO and upload into MSO
Step 4: Manually set polarity inversions if applicable
- Experiment with polarity inversions on your subs if some are in front vs behind - this is a manual setting. Pick the setting that results in combination of highest combined output and fewest big cancellation dips in the combined FR for the primary seating positions and then lock these filters
- add LPF if desired for nearfield subs. I use a 24db/octave BW LPF for my nearfields which introduce a 180 degree phase shift so in effect does the same thing as a polarity inversion, so I remove the previously included polarity inversion
- make sure that whatever settings you land on, they are either entering into your DSP or into the sub directly – this will seriously mess up your results if you forget to do include these!
Step 5: Run analysis in stages
This is where I think @chadr5731 's approach may diverge a little from what I have been recently been using and is definitely worth trying as well to see if you can get even higher output. I take no credit for the approach – just based on accumulated knowledge and learning of many before us, with special thanks to
@andyc56 and @fattire
Suggested approach as below:
- Use all-pass filters and Delays to align the phases first (you can try to do this and target for max output, then lock them and add PEQ as per @chadr5731’s idea, or use carefully selected filter parameters to keep them within reason and let MSO do it’s thing)
- Delays to each sub allow for better alignment of the phase, but note they are really more time alignment than phase alignment – if you have significant variation in the rate of change of phase between the subs, then delays alone will not do too much to align the phase. This is typical when mixing ported and sealed subs, or very different subs from different manufacturers etc
- All-pass filters allow for the fine tuning of phase over a narrow to wide range to better enable the phases to be aligned – they work best when mixing ported, passive-radiator and sealed subs, but can also very nicely tighten up seat-to-seat variation for all sealed or all ported setups. The jury is still out as to the audibility of the introduce phase delay from the AP filter so keep to 2 max and spend time listening after
- Don’t use any sub gain blocks – you do not want to override your careful Limit Matching and this will have a hugely negative impact to the overall headroom
- Try to get the FR as flat as possible with only AP + Delay and Shared filters only – target for seat to seat under +/- 3 to 5dB between 20 and 80 or 90 Hz. Ignore any narrow notches.
- Very often you will see good seat to seat for the lowest frequencies as the relative phase mis-match between the subwoofers caused by the spatial distribution is not that big relative to the long wavelengths – this is a really good thing as it means we can avoid using sub-filters at the lowest frequencies where they will reduce sub-headroom the most
- As such, add a small number of sub specific EQ but set a min Freq of 50 to 70Hz (look for where your seat to seat starts to significantly diverge and use that for a low bound).
- Add the Filter plots to you graphs so you can see the sub filters as you are optimizing – the goal is to have the filter plots either right on top of each other or with only 2 to 3dB difference, and only at higher (>50Hz) frequencies
Suggested Filter parameters:
Shared Filters:
- Shared Gain: plus/minus 24dB (I like to iterate after a few runs to a gain of 0dB and fix it for all future runs such that I can use the filter plots as a proxy for how much headroom I have retained – sum of the area between target curve and filter trace is a nice visual proxy for headroom retained
- Parametric EQ: 15-160Hz, 0 to -20dB, Q of 1 to 10, 6 to 12 to PEQ
Sub Filters:
- Sub Gain: NO GAIN BLOCK! - this is critical as you will invalidate your Limit Matching step above and screw up the balance between the subs near their respective limits
- Sub Delay: -5 to +5ms delay for far subs (typically on front wall), 0 to 10ms delay for nearer subs
- Sub All-Pass Second-Order: use 1 to 2 per sub if major phase issues, 10 to 300Hz, Q of 0.1 to 1
- Sub Parametric EQ: 60 to 160 Hz (note 50 to 60 Hz min – very important), Gain 0 to -2dB, Q of 3 to 10, 2 to 4 total per sub – if subs are stacking onto each other, consider doing another run with FR limited say 1 PEQ between 60 and 90Hz, and 2 or 3 between 90-160 Hz