Using MSO to "Optimize the Splice" of Subs to Multiple Satellites

This section discusses the specifics of using MSO to accomplish the goals set out in the previous theory section. The techniques for "optimizing the splice" of subs to all satellites will be referred to herein as "multi-satellite splice optimization."

Conventional MSO Use vs. Multi-Satellite Splice Optimization

It's important to recognize that the MSO usage guidelines elsewhere in this help file refer to the conventional usage of MSO for multiple subwoofer optimization. Using MSO for multi-satellite splice optimization requires doing things differently from normal MSO usage in some cases. If your goal is to do multi-satellite splice optimization, and you encounter some guidelines in this section that conflict with guidelines found elsewhere in the MSO documentation, the guidelines in this section should be followed.

The lists below contrast the general differences between conventional usage of MSO with its usage for multi-satellite splice optimization. Usage of Dirac is assumed in both cases.

Conventional Usage of MSO with Dirac

Broadly speaking, conventional usage of MSO with Dirac can be described as follows.

Usage of MSO For Multi-Satellite Splice Optimization

In contrast, many of the above steps change when using MSO for multi-satellite splice optimization. The general steps are listed below.

Preparing for Dirac

Prior to running Dirac, be sure your AVR or pre-pro is set up according to the instructions in section 6.1 of the DDRC-88A user manual (link to PDF). It's essential that all speakers be set to Large, and that all speaker distances and gain trims be set to identical values for the bass management of the DDRC-88BM to work properly.

Optional Steps

If you're using multiple subs, you may wish to perform a conventional multi-sub optimization using MSO and a sub-only configuration before running Dirac. This is documented at length throughout this manual, so the techniques for doing so won't be repeated here.

Setting Up The MSO Project

Specific techniques for setting up your MSO project for multi-satellite splice optimization will be discussed here. Two techniques, one called the independent adjustment method and the other called the interacting adjustment method, will be discussed separately.

It will be assumed that the responses of Nsat satellites will each be measured individually, and the splice optimization will be performed on all of them. It is also assumed that the center channel is one of those measured, and the equivalent of the sub distance tweak will be performed by MSO to set the sub delay/distance before splice optimization of the other satellites.

Making a Text File Containing the Target Curve

To ensure that MSO is using the same target curve as Dirac, first export the Dirac target curve from the Dirac project. The resulting file, with a .targetcurve extension, might look something like this (file downloaded from Markus Mehlau's site).

NAME
Harman 6dB
DEVICENAME
Unnamed
BREAKPOINTS
9.98753 5.99947
19.9501 5.99156
29.8697 5.95785
39.8505 5.86876
50.1876 5.6819
59.6648 5.40044
70.1184 4.96129
79.6016 4.46667
90.3672 3.84383
100.25 3.26654
109.938 2.73537
120.563 2.21982
130.699 1.80376
140.062 1.4842
150.096 1.20398
160.849 0.964491
180.509 0.651208
200.25 0.448594
219.602 0.318503
240.825 0.224409
261.071 0.164427
279.774 0.125629
299.817 0.0958133
321.296 0.0729731
400 0.0306274
20000.000 0
LOWLIMITHZ
10
HIGHLIMITHZ
24000

For the target curve to be compatible with MSO, it should contain only two columns of data: frequency in Hz in the left column and target curve value in dB in the right. Also, data above 400 Hz should be removed. Open the target curve file in a text editor and remove the extra information. For this particular target curve, the result should be as follows.

9.98753 5.99947
19.9501 5.99156
29.8697 5.95785
39.8505 5.86876
50.1876 5.6819
59.6648 5.40044
70.1184 4.96129
79.6016 4.46667
90.3672 3.84383
100.25 3.26654
109.938 2.73537
120.563 2.21982
130.699 1.80376
140.062 1.4842
150.096 1.20398
160.849 0.964491
180.509 0.651208
200.25 0.448594
219.602 0.318503
240.825 0.224409
261.071 0.164427
279.774 0.125629
299.817 0.0958133
321.296 0.0729731
400 0.0306274

Save this file using your text editor for import into MSO.

Determining the Crossover Frequencies For All Satellites

The procedure for determining the best crossover frequency for each satellite won't be described here. Markus Mehlau's site has a good description of how to do this.

Taking Measurements

After you've chosen the crossover frequency for each satellite, set up the DDRC-88A bass management module for the chosen crossover frequencies of all satellites before measuring. Then perform the following steps.

If you're using crossover frequencies of, say, 80 Hz, 100 Hz and 120 Hz, you must measure the subs three times at the MLP, once for each crossover frequency. To do so, it suffices to pick as the input for energizing the subs any channel that uses the required crossover frequency.

For instance, suppose your crossover frequencies are 80 Hz for Left and Right, 100 Hz for Center, and 120 Hz for all surrounds. In this specific case, to energize the subs with an 80 Hz crossover frequency, you can use either the Left or Right inputs (HDMI channels 1 or 2 respectively). To energize them with a 100 Hz crossover frequency, use the Center channel input (HDMI channel 3). To energize them with a 120 Hz crossover frequency, you can use any surround channel input (any of HDMI channels 5, 6, 7 or 8 for a 7.1 system), provided that speaker is present and enabled in the AVR or pre-pro setup. Of course, the specifics of crossover frequency assignment of various channels differs for different setups.

See this channel numbering table to find the channel number for each HDMI channel.

Exporting Measurements From REW

For instructions on how to export measurements as text, see Exporting Measurements From Your Measurement Software. For satellite measurements, make sure the names of the exported text files clearly state which satellite is being measured. For sub measurements, there should be information in the file name about the crossover frequency used for that sub measurement.

If you're using Nsat satellites and Ncr different crossover frequencies, you'll have Nsat + Ncr total measurements to export.

Importing Measurements Into MSO

The measurement import is done in the normal way, as described in the reference manual.

Setting Up Configurations

Setting up MSO configurations for multi-satellite splice optimization cannot be done with the Configuration Wizard, but instead must be done manually. The details of creating MSO configurations manually are described elsewhere in the reference manual. Configuration setup specific to multi-satellite splice optimization is described in this section.

Setting up Optimization Options

When setting up your configurations, go to the Optimization Options dialog and choose the Method property page. Choose the As flat as possible without additional global EQ and Compute reference level automatically options. On the Target Curve property page of the Optimization Options dialog, choose the Use logarithmic interpolation and Use cubic spline interpolation options. This will ensure that the target curve will be as smooth as possible when displayed on the normal logarithmic frequency axis.

Earlier in this topic, various aspects of using MSO in its traditional way for multi-sub optimization and for this special usage of multi-satellite splice optimization were contrasted. One aspect of the usage difference that wasn't discussed is how MSO configurations are used.

When doing traditional multi-sub optimization, configurations are typically used to see the effects of different filtering choices on the final performance of the subs. For instance, you might have three configurations, each of which uses a different number of PEQs per sub. But the graph trace data that characterize each configuration are usually the same. The data might consist of the combined outputs of all subs at each listening position. But when doing multi-satellite splice optimization, the subs are all measured together at only a single listening position and are assumed to have already been optimized in some way. Instead, each configuration now represents different parts of the system you wish to optimize independently of one another. For instance, you might do the sub distance tweak with center and subs, then adjust the left-channel all-pass filter to optimize left plus subs, then adjust the right-channel all-pass filter to optimize right plus subs and so on. One alternative is to have each of those three pairings you wish to optimize (center plus subs, left plus subs and right plus subs) in its own configuration. This is called the independent adjustment method. This is not the only alternative, though. The other alternative is called the interacting adjustment method. These will be discussed next.

Independent Adjustment Method: Outline

When using the independent adjustment method, each configuration corresponds to a pairing of a single satellite with the subs. For a 7.1 system, there would be seven MSO "subs+mains" configurations as follows.

Interacting Adjustment Method: Outline

In the interacting adjustment method, the MSO configuration for the combination of center and subs is the same as for the independent adjustment method, but all other satellites are grouped together in left/right pairs and combined with the subs in their MSO configurations. This is summarized below.

Measurement Groups Aren't Always Listening Positions

In the interacting adjustment method, except for the pairing of center channel and subs, each graph has three traces, where each trace corresponds to a measurement group. This illustrates another contrast between traditional usage of MSO and its usage for multi-satellite splice optimization hinted at earlier. That is, a measurement group does not correspond to a listening position in this method. Rather, measurement groups are used in their more general sense of representing a complex summation, as described in the error calculation details topic.

Why Not Put Everything Into One Big Configuration?

This is possible in theory but a bad idea in practice. The optimizer operates under a worst-case assumption that varying any parameter will affect all measurement groups. This is equivalent to an assumption that, say, adjustment of the all-pass filter in the Left front satellite channel will affect the integration of the right rear surround and subs. But this is not true in reality. Configurations should be arranged such that for each measurement group, the number of adjustable parameters that have no effect on it is minimized. Doing otherwise can result in inefficient optimizations.

All-Pass Filters: Should They Be Second-Order?

In the independent adjustment method described above, each configuration has a single trace to be optimized. Other than the combination of center channel and subs, which each have an all-pass filter with a fixed center frequency, each trace is optimized by adjusting the parameter(s) of an all-pass filter in its satellite channel. For a first-order all-pass filter, the only adjustable parameter is the center frequency. For the independent adjustment method, there is one trace to optimize and one adjustment to optimize it. Common sense, along with the development of the concepts in the previous theory section, indicate that this should be enough.

But what about the interacting adjustment method? All configurations except for the center-channel one have three traces to optimize. Taking the Left and Right satellites as an example, and assuming first-order all-pass filters, there are only two things that can be adjusted: the center frequencies of the Left- and Right-channel all-pass filters. This means there are three traces to optimize and only two adjustments to optimize them. The end result must be to some extent a compromise among the errors in the three traces rather than a complete optimization.

By using second-order all-pass filters in all positions in the interacting adjustment method, the number of adjustable parameters is doubled. In the case of Left and Right channel satellites, we can now adjust four parameters to optimize three traces. These four parameters are the all-pass filter center frequency and Q of both the left and right channels. The same can be said for all other configurations in the interacting adjustment method except the one involving the center channel.

Also, even though second-order all-pass filters aren't strictly necessary in the independent adjustment method, you may wish to experiment with them anyway, with the goal of minimizing MSO's computed error. The next section gives guidelines for choosing the parameters of second-order all-pass filters should you decide to use them.

Guidelines For Choosing All-Pass Filter Parameters

It's been mentioned previously that the first steps in the process of multi-satellite splice optimization are to run the equivalent of the sub distance tweak in MSO for the combination of center channel and subs, then lock the parameters of the shared sub delay block found. Then, identical all-pass filters are inserted into the shared path of the subs and in the center channel path, locking the parameters of these two all-pass filters as well. For the combination of center channel and subs, this means picking a set of parameters for the two all-pass filters without having to resort to optimization to determine them, then leaving the parameters at these predetermined values.

In the previous theory section, guidelines for choosing all-pass filter center frequencies were established. If all crossover frequencies are the same, then the fixed center frequency of the center-channel and shared sub all-pass filters should be set to this common crossover frequency. Let's call this frequency fc. The center frequencies of the all-pass filters in the remaining satellites should have a nominal value of fc as well, and be adjustable around this center frequency. If the crossover frequencies are different, the all-pass center frequency fc is chosen to be approximately the average of the highest and lowest one. But if the Q of the shared sub and center-channel all-pass filters cannot be changed, what should its value be? And since the Q of the all-pass filters for the remaining satellites should be adjustable, what range of adjustment should be allowed?

Guidelines for Nominal Q Value and Adjustment Range

You may have noticed that when you create a second-order all-pass filter in MSO, its default Q value is 0.577, or 1/sqrt(3). This creates a Bessel all-pass filter. Bessel all-pass filters have the maximally-flat group delay property. All-pass filters in general have a group delay that approaches a non-zero constant as frequency approaches zero, and goes to zero at very high frequencies. At some intermediate frequency, the group delay may "peak up" before dropping off toward zero. For a second-order all-pass filter, a Q value of 1/sqrt(3) is the highest value that's not associated with such peaking. In the time domain, a Q value of 1/sqrt(3) is associated with a negligibly small amount of ringing.

A second-order all-pass filter with a Q of 0.5 is equivalent to two cascaded first-order all-pass filters with the same center frequency, equal to that of the second-order all-pass filter. This Q value leads to a sagging group delay characteristic. There is no peaking in the group delay, but it's not as flat as it would be if the Q were 1/sqrt(3). A Q value of 0.5 is associated with an optimum time-domain characteristic called critical damping.

A second-order all-pass filter with a Q less than 0.5 is equivalent to two cascaded first-order all-pass filters, one of which has a center frequency above and the other with a center frequency below that specified for the second-order all-pass filter itself. Because of the staggered center frequencies, some strange effects may be seen in the phase response near the center frequency of the second-order all-pass filter if the Q is allowed to be much less than 0.5.

In an ideal system for which the subs and satellites both have perfectly flat and identical magnitude responses, as well as constant and identical group delays over all frequencies, a fourth-order Linkwitz-Riley crossover introduces a second-order all-pass response with a Q of 0.707 or 1/sqrt(2). Such an all-pass filter has more ringing in the time domain than its Bessel counterpart, along with peaking in its group delay characteristic.

Based on these observations, it seems reasonable to allow the Q to be adjustable between 0.4 and 1.0. You may wish to experiment with lower Q values if you can't achieve satisfactory results though. Some users have reported using Q values as high as 10, but the usage of such high Q values is strongly discouraged due to excessive ringing in the all-pass filter's time-domain characteristic.

The all-pass filter shared by the subs and the one used for the center channel each require a fixed and identical Q value. For this case, use the nominal Q value of 1/sqrt(3) for a maximally-flat group delay.

Guidelines for Center Frequency Adjustment Range

The best way to think about the frequency adjustment range of the all-pass filters in this application is in terms of how much the phase shift at the crossover frequency can be adjusted. A phase adjustment range of ±90 degrees at the crossover frequency should be more than enough, as this yields a total range of 180 degrees. For a first-order all-pass filter, this range isn't possible, as its entire phase shift range is 180 degrees over all frequency. But in the previous theory section, a calculation was performed showing that, for a 100 Hz crossover frequency and ±80 degrees adjustment range at 100 Hz, a center frequency range from 10.5 Hz to 1143 Hz is required.

The low center frequency of 10.5 Hz could cause a problem for the non-HD versions of the miniDSP 2x4 DSP devices. These versions have fixed-point DSP processing and are notoriously inaccurate at infrasonic frequencies. This could result in a filter response having large errors from an all-pass characteristic. Users of these devices might be better off using second-order all-pass filters for reasons to be described next.

A second-order all-pass filter having a typical Q of, say, 1/sqrt(3), and the same center frequency as a first-order one has a phase shift vs. frequency that varies more rapidly than its first-order counterpart. For this reason, a second-order all-pass filter requires less center frequency adjustment range for a given phase adjustment range at the crossover frequency than does a first-order one. Examples that can help guide center frequency adjustment range are given below.

For crossover frequencies other than 100 Hz, you can use the procedure below to estimate the required center frequency range for the all-pass filters.

Summary of Overall Optimization Procedure

Now that the details of and rationale for the procedure have been discussed, it's a good time to list the steps of the procedure. These lists will refer back to earlier detailed discussion. Before starting, it's a good idea to be aware of the differences between conventional MSO optimization and usage of MSO for multi-satellite splice optimization.

Decide whether you want to use the independent or interacting adjustment methods. First, you'll perform the set of steps common to the two, then jump to the section specific to the chosen adjustment method and perform those steps.

Summary of Steps Common to Independent and Interacting Adjustment Methods

Independent Adjustment Method Summary

For each of the Left, Right, Left Surround, Right Surround, Left Rear Surround and Right Rear Surround channels, hereinafter referred to as "the applicable satellite channel", perform the following steps.1

Interacting Adjustment Method Summary

Each pairing of Left and Right mains, Left and Right surround, and Left and Right Rear surrounds will hereinafter be referred to as "the applicable satellite group". For each of these satellite groups, perform the following steps.2

1. You may wish to create these configurations by cloning the center-channel configuration, including graphs. Although this technique will require making a number of changes, such as changing channel names and the measurements associated with them, it's probably still easier than creating each configuration from scratch.

2. You may wish to create these configurations by first performing the steps above for a single configuration, then cloning this configuration, including graphs. Although this technique will require making a number of changes, such as changing channel names and the measurements associated with them, it's probably still easier than creating each configuration from scratch.