Multi-Sub Optimizer Tutorial (page 13)

Running the Optimization for Iteration 4

Running the optimization for our new Iteration 4 configuration for 30 minutes using a CPU that supports eight concurrent threads gives the result shown below. After optimizing, save the project as tutorial-new-8.msop.

Iteration 4 vs. Baseline After Parameter Value Reset
Iteration 4 vs. Baseline After Parameter Value Reset

Checking the Relative Sub Gains

Run the filter report by right-clicking Iteration 4 in the Config View and choosing Show Filter Report. Scrolling down to the end of the report, we find the following information.

Unadjusted gain values of all gain blocks:
FL5 (Sub 1, gain block) gain: -0.00 dB
FL11 (Sub 2, gain block) gain: -5.68 dB
FL17 (Sub 3, gain block) gain: -5.28 dB
FL23 (shared, gain block) gain: -0.30 dB
Unadjusted delay values of all delay blocks:
FL6 (Sub 1, delay block) delay: -0.37 msec
FL12 (Sub 2, delay block) delay: -17.54 msec
FL18 (Sub 3, delay block) delay: -0.95 msec

Final gain and delay/distance settings:
Complete gain settings for chosen fixed SPL target level (optional):
No change to AVR sub out trim gain
Sub 1 gain: -0.30 dB
Sub 2 gain: -5.98 dB
Sub 3 gain: -5.58 dB
Sub 4 gain: -0.30 dB
Minimal gain settings, neglecting SPL target:
Sub 1 gain: -0.00 dB
Sub 2 gain: -5.68 dB
Sub 3 gain: -5.28 dB
Sub 4 gain: 0.00 dB
Delay settings:
Sub 1 delay: 17.17 msec
Sub 2 delay: 0.00 msec
Sub 3 delay: 16.60 msec
Sub 4 delay: 17.54 msec

The situation regarding relative sub gains is much improved now. Sub 1 now has the same gain as Sub 4, and Sub 2 and Sub 3 are 5.68 dB and 5.28 dB below Sub 4 respectively. Having the subs more nearly equal in output is an improvement, but how have the MLP response flatness and seat-to-seat response variation been affected by the increased restrictions on relative sub levels?

To find out, choose Config, Performance Metrics from the main menu. For each of Iteration 1, Iteration 2, Iteration 3 and Iteration 4, set a custom frequency range for the calculations of 15 Hz to 190 Hz using the techniques we used earlier in the tutorial. When this is done, the following computed response errors result.

Configuration MLP target error Seat-to-seat variation Final error
Iteration 1 2.17 dB 1.31 dB 1.57 dB
Iteration 2 0.84 dB 0.79 dB 0.80 dB
Iteration 3 0.45 dB 0.72 dB 0.66 dB
Iteration 4 0.66 dB 0.61 dB 0.63 dB

Errors of Iteration 1, Iteration 2, Iteration 3 and Iteration 4, 15 Hz - 190 Hz

Although the MLP flatness error of Iteration 4 is not as good as Iteration 3, its seat-to-seat response variation is better. Recall that the gain value of FL23 of Iteration 3 was 10.99 dB. Looking at the filter report information above for Iteration 4 under Unadjusted gain values, we see that the new FL23 value is -0.30 dB. So the gain value of FL23 required to hit the 80.0 dB SPL target is 11.29 dB less than it was before. The end result is that our maximum output just increased by over 11 dB by reducing the gain differences between subs. By forcing the non-reference sub gain values to be closer to the reference sub, we had to turn down the overall gain via FL23 by over 11 dB to reach the same output level. This increases our output capability correspondingly.

The problem of excessive gain mismatch on sub outputs is one of the most vexing ones you'll encounter using MSO, and you're now equipped to solve it if it shows up with your own project's data. In extreme cases for which you're not willing to accept any compromise on maximum output whatsoever for the sake of reducing seat-to-seat response variation, you can limit your PEQ filters to only shared ones, and use only individual sub delays to do what you can to reduce seat-to-seat response variations without reducing maximum output.

While it's possible to try out yet more configurations with the data we have, this is a good point to stop and see how to load the filter data from MSO into the miniDSP 2x4 HD.