Specifying Optimization Options
The information on this page regarding the Optimization Options property sheet is in a reference format. For suggestions and practical advice with real-world examples, see the related tutorial topic.
Before running an automated optimization, the optimization options should be set. If you ran 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 the sequence that is occurs after pressing Finish on the last page of the wizard. 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.
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.
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.
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.
Method Property Page
The Method property page of the Optimization Options dialog is shown below.
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 recent development. When you choose Minimize seat-to-seat variations, you have two options, depending on whether or not Neglect the MLP target curve is checked. The nature of MSO's calculations using these methods are 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.
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 without explicitly calculating the seat-to-seat variation.
Minimize seat-to-seat variations: two options
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 options, depending on the state of the Neglect the MLP target curve checkbox.
- Neglect the MLP target curve unchecked:
This is the normal scenario. MSO tries to minimize the seat-to-seat variation of the responses, while simultaneously trying to get the MLP to match the target curve as cloesly as possible. See the detailed description in the reference manual for specifics about the calculations.
- Neglect the MLP target curve checked:
In this mode, MSO tries to minimize the seat-to-seat variation of the responses without regard to what the final frequency responses are. See the description of this error calculation in the reference manual. This option is only enabled if all filter channels of the configuration contain only filters whose magnitude response is flat over frequency. This includes delays, all-pass filters, inverters and gain blocks. If any other type of filter is present in any channel, this option is disabled and unchecked.
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.
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.
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.
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 always specify an MLP in the Method property page. In addition, you must specify a fixed reference level on that page. In 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 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 is 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 reference level frequency range should be at the high end of the frequency range where the response of the mains (whose gain is fixed) dominates. This is so that MSO can adjust the level of the subs to match the level of the mains, just as you would if you were adjusting a sub trim manually while observing the combined response of subs and main speakers.
Duration of optimization run
The final option on the Criteria page is the time duration 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 30 minutes.
PEQ Parameter Limits Property Page
New in version 1.1.0 is the PEQ Parameter Limits property page. Its purpose is to allow setting the parameter limits of all the PEQs of a configuration at once, avoiding tedious manipulation of individual PEQ filter parameter limits. While it may seem out of place to be setting filter parameter limits in a dialog made for setting optimization options, there are are good reasons for it.
The first reason has to do with the relationship of PEQ center frequency limits to the Frequency range to optimize option chosen on the previous Criteria property page. If we allow the PEQ center frequencies to go outside the optimization frequency range, we will lose some control of what is happening there, as MSO normally does no calculations outside the optimization frequency range. Under this condition, the PEQs could make some changes outside the optimization limits that we don't want. Likewise, if we don't allow the PEQs to cover the full optimization frequency range, we may not be able to take full advantage of what the PEQs can do for us within this frequency range. It stands to reason that a good rule of thumb is to make the allowable center frequency range of the PEQs the same as the optimization frequency range. A sensible practice is to change the minimum and maximum center frequencies of the PEQ filters on the PEQ Parameter Limits property page whenever you change the Frequency range to optimize option on the Criteria property page. This should be done to match the minimum and maximum PEQ center frequencies to the corresponding minimum and maximum optimization frequencies.
The second reason for including this property page is its relationship to the Constraints property page discussed below. The Constraints property page specifies limits for how much PEQ boost and cut are allowable for all the PEQs of any given channel combined. The total allowable boost or cut for all the PEQs of a channel combined can't be smaller than the allowable boost or cut of any individual PEQ filter for reasons of optimization convergence. This means these limit values strongly interact, making it essential to have the property pages specifying the global and individual PEQ boost and cut limits as part of the same property sheet.
There's more to the behavior of the PEQ Parameter Limits property page 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'll see something like what's shown below.
Here, the PEQ filters in the configuration have minimum center frequencies that vary from 10.0 to 20.0 Hz and maximum center frequencies that vary from 150.0 Hz to 200.0 Hz. The minimum and maximum Q values are the same for all the PEQs, at 1.0 and 25.0 respectively. The Keep existing limit checkboxes for the maximum boost and cut in dB have been unchecked, enabling these values to be edited. When you see a mixture of limit values for any parameter, it's usually a sign that you should uncheck the Keep existing limit checkbox for that parameter limit value and enter a limit value that will be used by all the PEQs. Only on rare occasions would you want a mixture of limit values for any given PEQ parameter. A display of mixed parameter limit values such as the one above can therefore be thought of as a flag for a condition that needs to be fixed.
For any parameter limit that you wish to change from its current value or values, the corresponding Keep existing limit checkbox must be unchecked at the time the property sheet's OK button is pressed for this value to be applied to the existing PEQs of the configuration.
Constraints Property Page
In addition to using the PEQ Parameter Limits property page mentioned above to specify individual parameter limits for all PEQ filters, you can use the Constraints property page to specify limits on the allowable total boost and cut contributed by the combined PEQ filters in each channel. This is to eliminate the so-called "stacking" problem in earlier versions of MSO, where multiple PEQs could end up with the same center frequency and contribute a maximum boost or cut far greater than what was allowed for individual filters. This property page is shown below.
You can restrict the total PEQ boost, total PEQ cut, or both. Other types of filters that may be in the channel, such as LF shelving filters, high-pass filters and the like, are not taken into account in these calculations. These boost and cut values must be positive. MSO requires that no individual PEQ in the applicable configuration have a maximum boost or cut that exceeds the limit specified in this dialog.
Cross-Checking Between the Constraints and PEQ Parameter Limits Property Pages
Some error checking occurs in both directions between the PEQ Parameter Limits and Constraints property pages. A specific example is illustrated below.
On the Constraints property page, if the Restrict total PEQ boost option is enabled, the amount of the allowable boost must be not less than the Maximum boost, dB value on the PEQ Parameter Limits property page. Likewise, if the Restrict total PEQ cut option is enabled on the Constraints property page, the amount of the allowable cut must be not less than the Maximum cut, dB value on the PEQ Parameter Limits property page. In the example above, the Maximum total PEQ boost on the Constraints property page is 3.1 dB (total allowed for all PEQs in a channel), while on the PEQ Parameter Limits property page, Maximum boost, dB is 3.0 dB (allowable for any single PEQ), making it a legal combination. Similarly, the Maximum total PEQ cut on the Constraints property page is 27.0 dB, while on the PEQ Parameter Limits property page, Maximum cut, dB is 26.0 dB, making this combination also legal.
If you are currently navigating one of these property pages and attempt to either switch to another property page or press OK to accept the current data, MSO will cross-check the data between the two pages as described above. If an error is found, you'll be prompted with a message showing the nature of the error so that you can correct it.
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.
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.
- Download the target curve example. That example uses the MSO filter type called LF Shelf Variable Q Second-Order (Alt).
While observing the example's graph, adjust the low-frequency boost, center frequency and Q of the shelving filter to get the curve you want.
- For the LF Shelf Variable Q Second-Order (Alt) filter type in the target curve example linked above, the center frequency is the frequency at which the total boost (or cut) in dB is one-half the low-frequency boost (or cut). For instance, if you specify a 6.0 dB boost, the center frequency is where the boost is 3.0 dB.
- The so-called Harman target curve (PDF) has a center frequency of 105 Hz. This is the default center frequency for the LF Shelf Variable Q Second-Order (Alt) filter type.
- In the Filters node under Sub Channel 1, choose Save this Channel's Response as Target Curve.
- Specify the file name and folder in the Save As dialog box.
- A text file will be created with a curve that goes from 5 Hz to 400 Hz.
It is recommended that the Use logarithmic interpolation option be checked. In this mode, 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 with 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.
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. 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.
For more complex curves, Use cubic spline interpolation is recommended as it will cause a smooth curve to be drawn between the target curve points.
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.
Group Weights Property Page
The last property page is called Group Weights. It is shown below.
When 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.