Important Considerations For SPL Optimization

What This Article Covers

This article covers some essential topics related to maximizing SPL of multiple-subwoofer systems using MSO. The topics covered include:

In order to make sense of these topics, it's necessary to first give a general introduction to what SPL optimization does. This explanation will be limited to standalone SPL optimization using the Maximize SPL using only delays and all-pass filters optimization option.

The multi-stage optimization is more complex, but if your configuration's filters meet the requirements of the standalone SPL optimization, you can optimize it using the multi-stage optimization method as well. Multi-stage optimization has the same requirements for output filters as the single-stage method, but unlike the standalone SPL optimization approach, it allows any filters to be used in the shared MSO sub channel. These shared filters perform the required frequency response shaping.

Standalone SPL Optimization

To run a standalone SPL optimization, you choose the Maximize SPL using only delays and all-pass filters option on the Optimization Type property page of the Optimization Options property sheet as shown below.

Choosing a Standalone SPL Optimization
Choosing a Standalone SPL Optimization

The purpose of a standalone SPL optimization is to use only delay and all-pass filter adjustments to try to get the response of all subs combined at each listening position to match the so-called "natural response" at that position.

How Natural Responses Are Used With Standalone SPL Optimization

The natural response at any listening position is the sum of all sub measurements taken at that position under an idealized assumption of all subs being acoustically in phase with each other at that position at all frequencies. The natural response tells you the highest output you could get in theory at a given listening position by phase adjustments alone. The graph documentation shows how to display the natural response curves. Natural response curves depend only on the imported measurement data and not on any filters you might have in a given configuration of your project.

Using only delays and all-pass filters, it's possible in theory to adjust the combined sub response at a single listening position to match that position's natural response. It's not possible to do this at all listening positions at once though. Trying for perfect phase matching at only a single position can cause other positions to become outliers with undesired phase cancellation at some frequencies. For this reason, MSO works with the average of the natural responses over all listening positions, trying to get the average of the phase-corrected actual responses to match it. This has the effect of spreading out the errors from the natural responses over multiple positions, preventing the errors at any one position from getting too large.

MSO Tries to Force All Filters To a Frequency-Independent 0 dB Gain Before Optimizing

In order to best approximate the natural responses when performing a standalone SPL optimization, MSO requires that all input- and output-channel filter responses of that configuration have a gain magnitude of 0 dB over all frequency. This ensures that the filters only perform phase adjustments.

If any filters do not meet the 0 dB gain requirement, MSO tries to force them to that state before performing a standalone SPL optimization. This action consists of the following steps.

Because MSO performs these actions, when you perform a standalone SPL optimization, you can keep your PEQs, shelving filters etc. in place as long as these filters can be forced to a frequency-independent gain of 0 dB without altering any filter parameter limits.

Some Filters Cause Errors When Trying To Force Them to a Frequency-Independent 0 dB Gain

If MSO is unable to force all filters to a frequency-independent gain of 0 dB, it will display an error message. These messages can occur for several possible reasons.

If the problem is limited to just the allowable range or value of a filter parameter, you may get a message like the one below.

An Example Error Message Caused by the Allowable Range of a Filter Parameter
An Example Error Message Caused by the Allowable Range of a Filter Parameter

When the filter is of an incompatible type (a high-pass filter in this case), you'll get a message similar to this one.

An Example Error Message Caused by an Incompatible Filter Type
An Example Error Message Caused by an Incompatible Filter Type

The presence of filters that cannot be forced to a frequency-independent gain of 0 dB, if allowed, would cause MSO to give unpredictable results when performing a standalone SPL optimization. Versions of MSO prior to 2.0.3 failed to detect this error. Versions 2.0.3 and above detect it to ensure that when you run a standalone SPL optimization, the results can be made to resemble the natural responses as closely as possible.

The error types shown above will be called "filter parameter errors" and "filter type errors" respectively. These errors are categorized in such a way in order to distinguish the different techniques needed to fix them.

Fixing Filter Parameter Errors

Filter parameter errors are the easiest to fix. If the relevant filter gain parameter is not locked, ensure that its allowable gain limits (such as the allowable boost/cut range of a PEQ) include the value of 0 dB. If the parameter is locked, it must either be unlocked and its range set to include 0 dB, or locked to a value of 0 dB.

A Gain Block Locked to a Gain Other Than 0 dB Is a Filter Type Error

If the gain parameter of a gain block is unlocked and its allowable range includes 0 dB, MSO will force it to 0 dB before performing a standalone SPL optimization and no error will be generated. But if the purpose of the gain block is to alter the relative sub levels to compensate for the different SPL capabilities of dissimilar subs, its gain parameter would need to be locked to the required value. This required value is almost never 0 dB. With such a locked gain block, MSO would generate an error when you attempt to perform a standalone SPL optimization. This means that when performing an SPL optimization in MSO, you can't use a gain block for the purpose of compensating for the different SPL capabilities of dissimilar subs. If the gain block's gain parameter must truly be locked to a nonzero value, then that is a filter type error, not a filter parameter error. Filter type errors require the removal of the filter from the MSO configuration, and the techniques described below must be used instead.

Fixing Filter Type Errors

Filter type errors most often arise in these two contexts.

If you put such filters into any configuration of your project and try to perform a standalone SPL optimization on that configuration, you'll get an error like the one shown above.

Eliminating filter type errors unfortunately requires that new measurements be taken. The filters causing the filter type errors are removed from the MSO configuration and instead entered into the DSP before taking measurements. Since the offending filters have been removed from MSO, no errors are generated when running an SPL optimization.

Making Exceptions to the Rule of Measuring With the DSP Completely Cleared Out

Under normal situations, the most common recommendation is to ensure that the DSP is completely cleared out before performing any measurements. Fixing the filter errors described above requires making an exception to that rule by entering the filters that interfere with SPL optimization into the DSP before making the required measurements.

Using High-Pass Filters With DIY Vented-Box Subs

Properly implementing a DIY vented-box subwoofer requires that a high-pass filter be used to prevent excessive cone displacement at frequencies below the sub's box tuning frequency. To avoid filter type errors with SPL optimization, all high-pass filters used for all subs must be in place when measuring them.

For DIY subs, you can determine the high-pass filter you need by using a program such as WinISD.

Using the miniDSP 2x4 HD, the easiest way to set up the device for measuring with high-pass filters in place is as follows.

Once the high-pass filters have been entered into the DSP device per the instructions above, check if any per-sub gain values need to be entered. If not, and assuming all other necessary system setup has been done, the system is ready for sub measurement.

Biquad Export When Using Manually-Entered HPFs

After you're finished with all MSO optimizations, you'll need to export your configuration's biquads for import into the DSP device. If you're using a miniDSP device and have chosen not to use the crossover biquads to increase the filter capacity, biquad export from MSO and import into the miniDSP can proceed as normal. Biquad files for the input channel and output channel will be generated, and you will import them into the miniDSP in the normal way.

However, if you have chosen to use the crossover biquads to enable a higher filter capacity, and you have manually entered high-pass filters into the crossover per the instructions above, an extra step is necessary before exporting the biquads. That is because the biquad files exported from MSO will contain text files for import into the miniDSP crossover. But since the miniDSP crossover contains the high-pass filters you manually entered and the MSO configuration omits them, then without using some special technique to preserve the manually-entered high-pass filters, they will be lost when you import the crossover biquad text file.

To prevent this, you must perform the following steps before exporting the biquad files from MSO:

Multi-Stage Optimization Has Less Strict Filter Requirements

When checking filters for compatibility, the standalone SPL optimization checks both input- and output-channel filters. Multi-stage optimization checks only the output-channel filters. This means you can use certain types of input-channel filters in a multi-stage optimization that are not legal for standalone SPL optimization. Input-channel filters do not affect the SPL penalty in any way, but the presence of input-channel filters that aren't legal for standalone SPL optimization would prevent the final response from matching the natural response in a standalone SPL optimization if they were allowed. This is why the standalone SPL optimization forbids them.

This relaxed filter requirement for multi-stage optimization means that performing the following steps can be done without any error message.

Although it's possible to use this procedure without error, the practical need for it may be rare. One possible use for this procedure might be if all your subs are of the vented-box type and they all require the exact same high-pass filter. You could perform the standalone SPL optimization without any high-pass filter on any sub, clone the configuration, add a shared sub high-pass filter, then run a multi-stage optimization on the clone.

There are also some cases for which the procedure above might appear to be necessary, but is actually not. For instance, if your multi-stage optimization has a target curve requiring an LF shelving filter, as long as the allowable range of that filter's boost includes 0 dB, it will be legal to use in the more strict standalone SPL optimization.

Setting Sub Gains Before Measuring

Setting the subwoofer gains can involve objective considerations such as the sub's SPL capability, as well as subjective ones such as the SPL of subs close to the listener being perceived as excessive despite being matched to the other subs.

The SPL optimization process of MSO tries to get the DSP channel gains to match each other, thereby ensuring the relative sub gains you set before measuring are preserved as closely as possible after the optimization is complete. This means that if you set the relative sub gains with care before measuring them, you'll be able to achieve, within reason, the objective and subjective goals that depend on these relative levels. That is the topic of the next section.