Multi-Sub Optimizer Reference Manual (page 10)

Specifying Optimization Options

Before running an automated optimization, the optimization options should be set. If you run the Configuration Wizard to create a configuration, and chose the Launch Optimization Options dialog when done option on the last page of the wizard, the Optimization Options property sheet will be launched as part of that automated procedure. You can also launch this property sheet using various menu choices. Before discussing these choices, it should be mentioned that there are two variants of the Optimization Options property sheet. One of these is the Optimization Options property sheet for all configurations, which is shown below.

Optimization Options Property Sheet for All Configurations
Optimization Options Property Sheet for All Configurations

This property sheet is launched when you choose Tools, Optimization Options from the main menu. To pick the configuration, select the folder icon on the left. The property page for that configuration is chosen by selecting subitems of the selected folder.

The second variant is the Optimization Options property sheet for a single configuration. This variant is shown below.

Optimization Options Property Sheet for a Single Configuration
Optimization Options Property Sheet for a Single Configuration

This variant of the Optimization Options property sheet is launched when you choose the Launch Optimization Options dialog when done option on the last page of the Configuration Wizard. Another way to launch it is to select the icon at the root of the configuration whose optimization options you wish to set, then right-click and choose Optimization Options... as shown below in connection with the Iteration 4 configuration.

Launching Optimization Options Property Sheet
Launching the Optimization Options Property Sheet for a Single Configuration

In any event, these two variants of the Optimization Options property sheet both have the same set of property pages, so which one you use is a matter of preference. Using the property sheet designed for a single configuration reduces the possibility of setting properties for the wrong configuration by mistake. The illustrations below will use the single-configuration variant for clarity.

The Method Property Page

The Method property page of the Optimization Options dialog is shown below.

Optimization Options Method Property Page
Optimization Options Method Property Page

Here you have several choices of optimization method. As flat as possible without additional global EQ is the legacy optimization method of MSO, while Minimize seat-to-seat variations is a more recently developed method.

As flat as possible without additional global EQ

Using this method, MSO tries to get the frequency response at each listening position to match the target curve (which is flat by default) as closely as possible. Using this method, the seat-to-seat variation is not explicitly calculated, but is implicitly improved by the improved response flatness at all positions.

Minimize seat-to-seat variations

The nature of MSO's calculations using these methods is introduced in the section of the tutorial titled "How Does MSO Perform its Calculations?" The details of these calculations are described in the How Optimization Errors are Calculated: the Details topic of the reference manual. See those topics for complete information.

Since the algorithm improvements introduced into version 1.44, Minimize seat-to-seat variations is the recommended choice for almost all situations. You have two ways of modifying how this option works.

Neglect the MLP target curve

Allow different SPLs at different listening positions

Use legacy optimizer

This option should be normally left unchecked. Beginning with version 1.1.3, MSO introduced new optimization code that gives solutions with lower error in less time than the legacy optimizer for virtually all projects tested so far. There might be some rare projects that give better results with the legacy optimizer. This option allows you the ability to use the legacy optimizer if needed.

Compute reference level automatically

For configurations with subs and mains, Compute reference level automatically is the default option for setting the reference level. When this option is chosen, the average response of subs and mains combined, over the frequency range specified in Frequency range to compute reference on the Criteria property page (see below) is used as the reference level. Choose this frequency range to be the upper end of the optimization frequency range so MSO will adjust the sub levels to match the mains.

Use a fixed reference level

When using a sub-only configuration, you are restricted to using this option. See Reference level below for more information.

You can also specify this option for subs+mains configurations. You might want to do this if your main speakers do not have baffle step compensation and your DSP gives you the ability to equalize them. A lack of baffle step compensation in the main speakers will cause a 6 dB depression, like a low-frequency shelving cut, in their upper bass region. You might use an LF shelving filter with boost, along with a fixed reference level to accomplish a DIY baffle step compensation for your main speakers in this way.

Reference level

If you've chosen Use a fixed reference level per the above, you'll need to set that level (in dB SPL) here. This is required for sub-only configurations. When using a target curve that isn't flat, that target curve will be subtracted from the computed response, resulting in an internally-calculated curve that's nominally flat. In that case, the reference level applies to that calculated curve. The target curve is adjusted to a value of 0 dB at the maximum optimization frequency, so when observing graph data that isn't flat, that's the frequency you should look at when deciding what reference level to use. The meaning of the reference level when the target curve is not flat is best understood by referring to this image and the text immediately below it.

When Minimize seat-to-seat variations is chosen along with Compute reference level automatically, MSO will first compute the average level over frequency of the difference between the MLP's response and the target curve over the Frequency range to compute reference (which you specify in the Criteria property page). It will then try to force the difference between the MLP response and the target curve to this value. If you choose As flat as possible without additional global EQ with a fixed reference level, all listening positions will use the same reference level. If you choose As flat as possible without additional global EQ along with Compute reference level automatically, each listening position will use a different reference level: the one automatically computed for that response curve over the Frequency range to compute reference. See below for a discussion of the Frequency range to compute reference option.

Main listening position (MLP) or main trace for optimization

Beginning in MSO 1.1.1, you must always choose which listening position or trace is the MLP or "main trace". Choose the appropriate position from the combo box. If you have a measurement group that is named "MLP", it will be chosen automatically for you.

The Criteria Property Page

The next property page is called Criteria. It allows for specifying the frequency range for optimization, the frequency range over which the reference value is computed (if applicable), and the maximum time the optimizer is allowed to run. The Criteria property page is shown below.

Optimization Options Criteria Property Page
Optimization Options Criteria Property Page

For All Configuration Types

When optimizing a configuration, an error in dB is computed for that configuration on each pass of the optimizer over the frequency range specified in the Frequency range to optimize field.

For Sub-Only Configurations

When you optimize sub-only configurations, you must specify a fixed reference level on the Method property page. Under this condition, the Frequency range to compute reference controls on the Criteria property page will be disabled. When the As flat as possible without additional global EQ option is chosen, the fixed reference level is used for all listening positions. When the Minimize seat-to-seat variations option is chosen, the fixed reference level is only used for the MLP.

For Configurations With Subs and Main Speakers

When specifying optimization options for a "Subs+Mains" configuration, it becomes possible to select the Compute reference level automatically option on the Method property page. When this is done, the Frequency range to compute reference controls on the Criteria property page will be enabled. In this mode, the reference level is not specified directly as a numeric value, but indirectly using the range of frequencies specified in these controls. The average value of the combined response of mains and subs at a given listening position is computed over the frequency range specified in the Frequency range to compute reference fields. This average value becomes the reference level for that listening position. When the optimization method chosen is As flat as possible without additional global EQ, this reference level is computed separately for each listening position. The reference level may therefore shift from one listening position to another, and also during the process of the optimization as filter parameter values are changed. When the optimization method chosen is Minimize seat-to-seat variations, the reference level is only computed (and only needed) for the main listening position. This "self-seeking" reference level is made possible by MSO's restriction of not allowing gain blocks in mains channels. The Frequency range to compute reference should be at the high end of the frequency range where the response of the mains (whose gain is fixed) dominates. This technique ensures that MSO can adjust the level of the subs to match the level of the mains, just as you would if you were performing a sub trim manually by using the RTA mode of REW. Using such a manual procedure, you might adjust the sub trim while observing the combined response of subs and main speakers. MSO tries to emulate this approach by figuring out the reference level at the high end of the frequency band automatically, then adjusting the sub levels to match this computed reference level.

Duration of Optimization Run

The final option on the Criteria page is the time duration for which the optimizer is allowed to run. The optimizer is always searching for a better solution as long as it's running. The maximum allowed duration can be specified here, and may require a bit of experimentation to get right. If too long a duration is specified, the optimization is easily stopped via the Stop Optimization button on the toolbar.

The default value for the optimization duration is computed with a formula that's based in part on the number of concurrent threads supported by your CPU. The default value is only a rough approximation and should not be considered a "gold standard". The default value is shown when you first show this property page for a new configuration. After you choose a preferred value, it's always preserved. If you wish to reset this value to the default for an existing configuration, enter a value less than 1.0 in the edit control. MSO will notify you that it has reset this value to the default, and it will show you what that default value is.

The Property Pages for Setting PEQ Parameter Limits

MSO versions 1.1.14 and later allow you to specify PEQ parameter limits and allowed overall PEQ boost/cut limits using two different methods.

The same options are available for main speaker PEQs when subs+mains configurations are used.

Overview: The General and Input PEQ Limits Property Pages

An example of one of the new PEQ Limits property pages is shown below.

An Example of a New PEQ Limits Property Page
An Example of a New PEQ Limits Property Page

Reference documentation for these property pages is presented in the next section. This overview section provides a brief summary of the purpose of these pages.

The General PEQ Limits property page has two modes, set by radio buttons that allow you the following choices:

The Input PEQ Limits property page also has radio buttons that allow a similar option choice. These radio buttons are linked to the ones on the General PEQ Limits property page, so that when you change their state on one page, the other page automatically changes to match it.

How the PEQ Limit Controls are Populated

There's more to the behavior of the PEQ limit controls than first meets the eye. When any Keep existing limit checkbox is checked, its corresponding edit control shows the condition of the filters themselves for that parameter limit. If all filters have the same limit value for a parameter, you'll see a single number in the edit control. If there's a mixture of parameter limit values, you might see something like what's in the image above.

When you uncheck a Keep existing limit checkbox, the control content just shows what you enter, which will end in the PEQs if you close the property sheet using the OK button.

An Important Note on PEQ Center Frequency Range

On these PEQ parameter limit property pages, it's possible to choose a PEQ center frequency range that exceeds the optimization frequency range specified on the Criteria property page. Care should be taken when doing this, as it can lead to unexpected results. If this condition exists when an optimization is run, MSO will issue a warning by default before the optimization is allowed to continue. You can disable this warning on the UI Options page of the Application Options property sheet.

Beginning with version 1.1.15, MSO uses separate frequency ranges for normal optimization and when computing the maximum total PEQ boost or cut. In the latter case, the frequency range used is chosen to include both the PEQ center frequency range you specify, as well as the optimization frequency range. This range is never narrower than the optimization frequency range, but it will be wider if the PEQ center frequency range is chosen to be wider than the optimization frequency range.

The Sub General PEQ Limits Property Page

The Sub General PEQ Limits property page is shown below.

The Sub General PEQ Limits Property Page
The Sub General PEQ Limits Property Page

The How to set PEQ parameter limits Radio Button Group

This radio button group has two options:

The Maximum cut, dB and Maximum boost, dB Fields

The values you enter into these fields go into the subwoofer PEQ filters themselves as gain limits. The PEQ maximum allowable gain in dB is set to the chosen value of Maximum boost, dB. The PEQ minimum allowable gain in dB is set to the negative of the chosen value of Maximum cut, dB. The subset of subwoofer PEQs into which these boost and cut limits are placed is determined by the state of the How to set PEQ parameter limits radio button group.

The Maximum total cut, dB and Maximum total boost, dB Fields

These values are used not for the subwoofer PEQs themselves, but as constraints for the optimizer so that it disallows the cumulative response of collections of PEQs in a given subwoofer channel from exceeding the specified maximum total boost or cut. This is to prevent undesired "stacking" of PEQs, where multiple individual PEQs line up at the same center frequency to provide a boost or cut much larger that that allowed for a single PEQ. The specified maximum total boost or cut must not be less than the corresponding maximum allowable boost or cut for individual subwoofer PEQs that you set in the PEQ limit value fields. These constraints may be applied either to the entire subwoofer path from DSP input to output, or only to the output path. The method of application is determined by the mode you select in the How to set PEQ parameter limits radio button group.

The Minimum center freq, Hz and Maximum center freq, Hz Fields

The minimum and maximum center frequency limit values are placed into the subwoofer PEQ filters themselves. Unless you have a compelling reason not to do so, these limits should be set to the same values as the minimum and maximum optimization frequency specified on the Criteria property page. The subset of subwoofer PEQs into which these center frequency limits are placed is determined by the state of the How to set PEQ parameter limits radio button group.

The Minimum Q and Maximum Q Fields

The minimum and maximum Q limit values are entered into the subwoofer PEQ filters themselves. The subset of subwoofer PEQs into which these Q limits are placed is determined by the state of the How to set PEQ parameter limits radio button group. Some controversy exists around what these limits should be. Accepting the default limits set in Tools, Application Options, Filter Parameter Defaults, Parametric EQ is a reasonable rule of thumb for starting out.

The Sub Input PEQ Limits Property Page

The Sub Input PEQ Limits property page is shown below.

The Sub Input PEQ Limits Property Page
The Sub Input PEQ Limits Property Page

The How to set PEQ parameter limits Radio Button Group

This radio button group has two options:

All the subwoofer PEQ parameter value and overall boost/cut limit fields described below either apply only to the subwoofer input channel (if the Use this page to set only input PEQ parameter limits option is chosen), or are disabled (when the Do not use this page to set any PEQ parameter limits option is chosen).

The Maximum cut, dB and Maximum boost, dB Fields

The values you enter into these fields go into the subwoofer input PEQ filters themselves as gain limits. The PEQ maximum allowable gain in dB is set to the chosen value of Maximum boost, dB. The PEQ minimum allowable gain in dB is set to the negative of the chosen value of Maximum cut, dB.

The Maximum total cut, dB and Maximum total boost, dB Fields

These values are used not for the PEQs themselves, but as constraints for the optimizer so that it disallows the cumulative response of collections of PEQs in the subwoofer input channel from exceeding the specified maximum total boost or cut. This is to prevent undesired "stacking" of sub input PEQs, where multiple individual PEQs line up at the same center frequency to provide a boost or cut much larger that that allowed for a single PEQ. The specified maximum total boost or cut must not be less than the corresponding maximum allowable boost or cut for individual input channel PEQs that you set in the PEQ limit value fields.

The Minimum center freq, Hz and Maximum center freq, Hz Fields

The minimum and maximum center frequency limit values are placed into the subwoofer input PEQ filters. Unless you have a compelling reason not to do so, these limits should be set to the same values as the minimum and maximum optimization frequency specified on the Criteria property page.

The Minimum Q and Maximum Q Fields

The minimum and maximum Q limit values are entered into the subwoofer input PEQ filters. Some controversy exists around what these limits should be. Accepting the default limits found in Tools, Application Options, Filter Parameter Defaults, Parametric EQ is a reasonable rule of thumb to start out.

Considerations When Optimizing Both Subs and Main Speakers

When you invoke the Optimization Options property sheet for a "subs+mains" configuration, you'll see two additional property pages listed. These are for specifying limits for main speaker PEQ parameters, as well as overall PEQ boost/cut limits for the main speaker signal paths. This situation is shown below.

The Optimization Options Property Pages for Subs+Mains Configurations
The Optimization Options Property Pages for Subs+Mains Configurations

The usage of the term "Shared PEQ Limits" for the main speaker channels is deliberate. For subs, "Input PEQ Limits" makes sense because there is a common, mono input channel in the subwoofer DSP device. But for main speakers, there is no mono input source. However, MSO uses the concept of a shared channel for main speakers nonetheless. This is for filters that will be the same in all main channels. If you export e.g. biquad text files for the main channels of a subs+mains configuration, the shared main channel filters are replicated in all individual main channels.

Having shared filters in main channels is desirable to help prevent imaging problems that could occur with individual main channel EQ. MSO gives you the option of both, allowing you to make common adjustments to all main channels that might have fairly loose constraints, while having more restrictive constraints for individual main channel equalization to prevent possible imaging problems.

The Main Speaker General PEQ Limits Property Page

The Main Speaker General PEQ Limits property page is shown below.

The Main Speaker General PEQ Limits Property Page
The Main Speaker General PEQ Limits Property Page

The How to set PEQ parameter limits Radio Button Group

This radio button group has two options:

The Maximum cut, dB and Maximum boost, dB Fields

The values you enter into these fields go into the main speaker PEQ filters themselves as gain limits. The PEQ maximum allowable gain in dB is set to the chosen value of Maximum boost, dB. The PEQ minimum allowable gain in dB is set to the negative of the chosen value of Maximum cut, dB. The subset of main speaker PEQs into which these boost and cut limits are placed is determined by the state of the How to set PEQ parameter limits radio button group.

The Maximum total cut, dB and Maximum total boost, dB Fields

These values are used not for the main speaker PEQs themselves, but as constraints for the optimizer so that it disallows the cumulative response of collections of PEQs in a given main speaker channel from exceeding the specified maximum total boost or cut. This is to prevent undesired "stacking" of PEQs, where multiple individual PEQs line up at the same center frequency to provide a boost or cut much larger that that allowed for a single PEQ. The specified maximum total boost or cut must not be less than the corresponding maximum allowable boost or cut for individual main speaker PEQs that you set in the PEQ limit value fields. These constraints may be applied either to the entire main speaker path from DSP input to output, or only to the PEQs that aren't shared among main speaker channels. The method these limits are applied is determined by the mode you select in the How to set PEQ parameter limits radio button group.

The Minimum center freq, Hz and Maximum center freq, Hz Fields

The minimum and maximum center frequency limit values are placed into the main speaker PEQ filters themselves. The subset of main speaker PEQs into which these center frequency limits are placed is determined by the state of the How to set PEQ parameter limits radio button group.

The Minimum Q and Maximum Q Fields

The minimum and maximum Q limit values are entered into the main speaker PEQ filters themselves. The subset of main speaker PEQs into which these Q limits are placed is determined by the state of the How to set PEQ parameter limits radio button group. Some controversy exists around what these limits should be. Accepting the default limits set in Tools, Application Options, Filter Parameter Defaults, Parametric EQ is a reasonable rule of thumb for starting out.

The Main Speaker Shared PEQ Limits Property Page

The Main Speaker Shared PEQ Limits property page is shown below.

The Main Speaker Shared PEQ Limits Property Page
The Main Speaker Shared PEQ Limits Property Page

The How to set PEQ parameter limits Radio Button Group

This radio button group has two options:

All the main speaker PEQ parameter value and overall boost/cut limit fields described below either apply only to the shared main speakers (if the Use this page to set only shared PEQ parameter limits option is chosen), or are disabled (when the Do not use this page to set any PEQ parameter limits option is chosen).

The Maximum cut, dB and Maximum boost, dB Fields

The values you enter into these fields go into the main speaker shared PEQ filters themselves as gain limits. The PEQ maximum allowable gain in dB is set to the chosen value of Maximum boost, dB. The PEQ minimum allowable gain in dB is set to the negative of the chosen value of Maximum cut, dB.

The Maximum total cut, dB and Maximum total boost, dB Fields

These values are used not for the main speaker PEQs themselves, but as constraints for the optimizer so that it disallows the cumulative response of the shared main channel PEQs from exceeding the specified maximum total boost or cut. This is to prevent undesired "stacking" of PEQs, where multiple individual PEQs line up at the same center frequency to provide a boost or cut much larger that that allowed for a single PEQ. The specified maximum total boost or cut must not be less than the corresponding maximum allowable boost or cut for individual main speaker PEQs that you set in the PEQ limit value fields.

The Minimum center freq, Hz and Maximum center freq, Hz Fields

The minimum and maximum center frequency limit values are placed into the shared main speaker PEQ filters themselves.

The Minimum Q and Maximum Q Fields

The minimum and maximum Q limit values are entered into the shared main speaker PEQ filters themselves. Some controversy exists around what these limits should be. Accepting the default limits set in Tools, Application Options, Filter Parameter Defaults, Parametric EQ is a reasonable rule of thumb for starting out.

The Target Curve Property Page

A target curve (sometimes called a "house curve") can be imported in the Target Curve page. This property page is shown below.

Optimization Options Target Curve Property Page
Optimization Options Target Curve Property Page

A target curve is a text file with two columns of data. The first column is the frequency in Hz, and the second column is the curve value in dB. These columns can be delimited by spaces or tabs. Currently, there is no target curve editor in MSO, so you must create the curve yourself with a text editor. For complex curves, a workaround exists as follows.

The Target Curve Example

For complex curves such as the target curve example above, Use cubic spline interpolation is recommended as it will cause a smooth curve to be drawn between the target curve points.

It is recommended that the Use logarithmic interpolation option almost always be checked.

When the Use logarithmic interpolation option is checked and the Use cubic spline interpolation option is unchecked, if there are two widely-spaced data points on the curve, the line connecting them will appear straight when the curve is plotted on a graph having a logarithmic frequency scale. For instance, Earl Geddes recommends a target curve that is essentially a tilted line on a graph of dB vs. frequency (on a logarithmic frequency scale). This tilted line has a slope of between 3 and 6 dB per decade from 200 Hz down to 20 Hz. This can easily be accomplished using logarithmic interpolation and a text file having only two entries as follows, which shows a 6 dB per decade slope.

20.0   6.0
200.0  0.0

For this curve to appear as a tilted line on a response plot with a vertical scale in dB and a logarithmic frequency scale, the Use cubic spline interpolation option must be deselected and Use logarithmic interpolation selected. In this case, the curve's value will be constant at 6.0 dB below 20 Hz, and constant at 0.0 dB above 200 Hz.

It is not recommended to establish a house curve via individual EQ of each sub. Rather, individual EQ should be used to establish a flat response over the listening area using PEQs, and shelving EQ via the shared sub filter channel (input filters of a miniDSP) should be used to establish a target curve. In general, you shouldn't use PEQs to establish a target curve. MSO's shelving filters are best for this, while PEQs are best for fighting room modes.

The Group Weights Property Page

The last property page is called Group Weights. It is shown below.

Optimization Options Group Weights Property Page
Optimization Options Group Weights Property Page

When the As flat as possible without additional global EQ option is chosen in the Method property page, the option to choose group weights is enabled in the Group Weights property page. For each measurement group, the RMS amplitude deviation from the reference in dB is computed over frequency. Then these RMS errors are again combined in an RMS fashion over all measurement groups to get a single RMS error number. This second stage of RMS error computation can be weighted, for example to prefer a slightly flatter response at the main listening position. This is done by giving the MLP a weight of 1.0 and the other listening positions a weight of less than 1.0, maybe something like 0.75 for all non-MLP positions. The details of this weighting calculation are given on the error calculations page of this reference manual.

When you choose Minimize seat-to-seat variations in the Method property page, the controls for choosing group weights are disabled on the Group Weights property page, and any information displayed on this page is ignored.