MSO User Guide

About the MSO User Guide

This User Guide picks up where the Getting Started Guide leaves off. If you have never created an MSO project, you should go through the Getting Started Guide to learn how to import measured data and create an MSO configuration via the Measurement Import Wizard and the Configuration Wizard respectively. It will also show you how to adjust the appearance of your graphs to your liking.

The Getting Started Guide does not discuss the core MSO topic of optimization. This User Guide introduces optimization by example.

Optimization in MSO

Optimization is the process used by MSO to adjust the parameter values of the filters, delays and gain blocks that were added to your configuration. These elements may have been added either automatically by the Configuration Wizard or manually by you. The purpose of optimization is to adjust these parameters to achieve certain performance objectives in your system. MSO supports a variety of ways to optimize your system.

In the discussion that follows, "MLP" refers to the main listening position.

SPL Maximization: The New Feature of MSO v2

Versions of MSO prior to v2 emphasized the goal of making the frequency responses in the bass (modal) region over a multiple-seat area as flat as possible, and minimizing the seat-to-seat frequency response variation (called STSV in this manual). It does this by having different transfer functions (frequency responses that consist of both magnitude and phase) in the DSP channels that feed each sub. This technique changes the way the subs interact with one another in the room. In the most common type of optimization using MSO v1, the procedure acted to minimize the STSV while getting the MLP response as flat as possible

Focusing on these goals to the exclusion of all others sometimes had undesired effects. For instance, due to room mode effects, sometimes a given sub will have a tendency to degrade the STSV and flatness of the overall system response. This might be caused by room modes giving the problematic sub an irregular in-room phase response. Such an irregularity can lead the overall response with the problematic sub in place to be worse than it would be without it. A mathematical procedure that tries to optimize STSV and MLP flatness above all other considerations can end up dropping the level of the problematic sub way down relative to the others to achieve its goals.

When the levels of one or more problematic subs are knocked way down compared to the others, the remaining subs have to work harder to get the same system SPL. In this hypothetical scenario, we would end up with improved MLP flatness and STSV, but degraded SPL capability. In addition, the extent of the degradation of the SPL capability in this scenario is uncontrolled.

What is needed is a way to quantify how close we are to the best achievable SPL and incorporate that information into the optimization. In MSO v2, this information is calculated and assigned to an error called the SPL penalty. The SPL penalty is defined in such a way that if there is perfect gain matching between the DSP channels at all frequencies, and the subs are acoustically in phase with one another at all frequencies and all listening positions, the SPL penalty will be exactly zero. This condition is impossible to achieve in practice. However, we can get the perfect gain matching by using only delays and all-pass filters in the output channels of the DSP. We can only approximate the phase matching condition though. We do that by adjusting delays and all-pass filter parameters in each DSP output channel during optimization.

By performing an initial optimization using only delays and all-pass filters, we can establish a baseline SPL penalty that represents the best SPL performance we can get while ignoring the STSV. Then, we can add in the PEQs to improve the STSV. In general, making the STSV better in this way makes the SPL penalty worse. By using different constraints on the SPL penalty during the STSV optimization, we can examine the trade-offs between STSV and SPL penalty to allow us to choose a compromise that's on a "sweet spot". This sweet spot might represent a substantial improvement in STSV at the cost of only a small degradation of the SPL penalty. When shared sub channel PEQs are used, getting the best MLP flatness is "free" in the sense that it does not degrade either the SPL penalty or the STSV. The presence of such shared sub channel PEQs is required for certain optimization types in MSO v2.

This SPL maximization capability is the main new feature of MSO v2.

Multi-Stage Optimization is New in MSO v2

To support SPL maximization, MSO can now use multi-stage optimization when needed. In multi-stage optimization, a logical optimization is split into multiple discrete tasks, each of which performs a subset of the modifications needed to reach a desired result. The first task modifies the configuration, then passes the modified configuration on to the next task for further changes. This process repeats until all the tasks have been performed.

This technique is useful when certain tasks can be performed without losing the benefits of previous ones. For instance, if a configuration uses shared PEQs, these can be adjusted to flatten the MLP response as a final cleanup without any effect on the STSV or SPL penalty. This particular process is fast, because it's only altering the parameter values of the shared PEQs.

The Types of Optimization Supported by MSO

To make the discussion about optimization types concrete, we'll look at the options available to you by showing the UI you'll use to specify them. To follow along with the illustrations, open up the project getting-started-2.msop from the Getting Started Guide. If you didn't create this project, you can just download it.

The types of optimization available are listed on the Optimization Type property page of the Optimization Options property sheet. To launch it, first make sure the Config View on the left side of the MSO main window is activated. Then right-click on the name of the configuration whose options you wish to set and choose Optimization Options. This is illustrated below.

Launch the Optimization Options Property Sheet
Launch the Optimization Options Property Sheet

This brings up the property page showing the five types of optimization that can be performed.

The Five Supported Optimization Types
The Five Supported Optimization Types

The first two of these options are the same as the two options that were available in MSO v1.

The last three options are new in MSO v2 and support the SPL maximization feature.