Optimizing multiple subwoofers with the DDRC-88BM and Multi-Sub Optimizer

This app note shows you how to use the DDRC-88BM plugin with the powerful Multi-Sub Optimizer (MSO) freeware. Multi-sub optimization should be done before performing your Dirac Live calibration or performing any bass management in the plugin.

Please note that MSO is third-party software. miniDSP is not able to directly provide support for this software. For questions or issues specifically related to MSO, please refer to the AVS Forum MSO discussion thread.

The main reason for using multiple subwoofers is to improve evenness of bass response across the whole listening area. While Dirac Live will optimize the response to be the best it can across the listening area, it cannot correct for spatial variation. For example, if the level of 40 Hz in one seat is 10 dB different to the level in the next seat, the difference between the two seats will always be 10 dB, no matter how much EQ is applied.

In this app note we will use Multi-Sub Optimizer (MSO) to minimize the spatial variation across the listening area. The overall shape of the frequency response will then be taken care by the user-defined target curve in your subsequent Dirac Live calibration.

A miniDSP DDRC-88A with DDRC-88BM plugin (add it as an option when purchasing the DDRC-88A).

Room EQ Wizard (REW). This freeware acoustic measurement program is used to take the measurements for use in multi-sub optimization. You will use your existing UMIK-1 (supplied by default with the DDRC-88A) microphone with it. REW runs on Windows, Mac and Linux.

Multi-Sub Optimizer (MSO). This freeware program is used to optimize the measurements taken with REW. MSO runs on Windows only.

The diagram below illustrates a multi-sub system for a "5.1" configuration. Since two output channels of the DDRC-88A are normally unused in a 5.1 system, they can be used for subwoofers. The subwoofers can be either self-powered or driven from external amplifiers (not shown on the diagram).

A 5.1 system with three subwoofers

In other systems, more (or less) output channels may be available. For example, if using two DDRC-88A units for an Atmos system, four or six channels may be available.

Set up the Mixer tab of the DDRC-88BM plugin to route the signal produced by Dirac Live to output channels 3, 7 and 8. The channels can be renamed as well – SUB 1, SUB 2, SUB 3:

Note that a single Dirac Live channel is used for all subwoofers. This is so that Dirac Live optimizes for the combined response of all subwoofer channels. (If separate Dirac Live channels were used, each one alone would be optimized but the combined response of all three would not.)

On the Analysis tab of REW Preferences, set it to use an acoustic timing reference:

When performing these measurements, it is simplest to connect the audio from the computer as follows:

Left audio channel to input channel 1 of the DDRC-88A. This is used to drive the left front speaker, which is used as the acoustic timing reference.

Right audio channel to input channel 3 of the DDRC-88A. This is used to drive the subwoofer/s.

Place the UMIK-1 in the middle of the listening area at ear height. The orientation (vertical or horizontal) doesn't really matter for these measurements. You can use either of the downloaded calibration files (0 or 90 degrees). In the DDRC-88BM plugin, check that channels 3, 7, and 8 are not muted.

Click on the Measure button. Select Right as the measurement output and Left as the timing reference:

Click Check Levels and then Start Measuring. When the measurement completes, rename it "ALL Pos 1".

In the DDRC-88BM plugin, go to the Outputs tab and mute SUB 2 and SUB 3. (You can also turn off the cross-points in the Routing or Mixer matrix.) Run another measurement and rename it "Sub 1 Pos 1."

Move the microphone to another position. You should also change its height from the floor. Repeat steps 1 to 5 above but this time name the measurements "ALL Pos 2", "Sub 1 Pos 2," "Sub 2 Pos 2," and "Sub 3 Pos 2." Repeat for the remaining positions.

Generally, at least as many measurement positions as subs are required. (3 positions for 3 subs, 4 positions for 4 subs, etc.) However, you can do more. The goal is to "sample" the response of the subs around the listening area. Too many measurements will however make for a lot of work and slow down the optimization. In our example run, we are using five measurement positions.

In REW, drop down the File menu and select Export and then "All measurements as text.".

Choose a new/empty folder and click Open.

Create a graph of your baseline measurement to compare with your later results. On the Overlays window, turn off all measurements except for the "ALL" measurements, then click the camera icon to save an image file. Here is ours:

We seem to have been fairly lucky with our initial placement, as the response over the listening area is very similar up to 55 Hz. Above that, however, there is a quite a large difference in the plots. All positions also tend to have a null just above 100 Hz.

You will now need to load your measurements into MSO and set up the configuration. This is essentially the same procedure as the MSO tutorial. In brief, you will need to take the following steps:

On the Data View tab, right-click on the Subs node and select "Import Sub Measurements...". Change the file type selector to '*.txt' and select the measurements of the individual subs (that is, "Sub 1 Pos 1" and so on). You should not import the "ALL" measurements. Here, for example, are the SUB 1 measurements imported (you will need to import all three subs.)

Switch to the Config View tab. If there is a config there already, right-click on it and select "Delete Configuration." Drop down the Config menu and select "Add New Sub-Only Configuration".

Right-click on Subwoofer Channels and select "Add Filter Channel". Do this once for each sub (i.e. for three subwoofers, create three filter channels).

Under Sub Channel 1, right-click on "Filters" and select "Add Gain Block". Do the same for "Add Delay Block," then three times for "Add Parametric EQ".

Right-click on "Measurement Associations" and select "Associate Measurements...". In the dialog that pops up, select all measurements for SUB 1 and click OK. Here is the result of steps 3–5:

Repeat steps 4 and 5 for Sub Channel 2 and Sub Channel 3. (You can make this faster by copying and pasting the filters with Ctrl-C and Ctrl-V.) On the last channel, you won't be able to add a delay – this is fine.

Under Optimization Parameters, right-click on "Measurement Groups" and select "Add Measurement Group." In the dialog that pops up, select all measurements for Pos 1. Here's how it looks:

Note the difference to step 5: in step 5, you chose all positions for a single sub, whereas in this step, you choose all subs for a single position.

Repeat step 7 for Pos 2, Pos 3, and so on.

Switch back to the Data View. Right-click on Graphs and select "New Graph..." Under Data at the left, click on Measurement Groups and select all 5 groups:

Click OK. The summed graph of all five measurement positions should appear:

If this graph is very similar to your baseline, you have imported and set up your measurements correctly! (You may need to adjust the graph axes.)

Create another graph, but this time select "Filter Channels" and add all three channels to the graph. This graph will show the EQ that is applied to each sub.

Under Method, select the options as shown here. The Reference Level should be set to the "floor" of the measurements. (The Parametric EQs are by default limited to not boost, only cut. You can experiment with adding boost later on.)

Under Criteria, uncheck Auto and set the frequency range to a range like 20 to 120 Hz. Set the optimization to run for a minute or two (later on, you should increase this).

Under Group Weights, leave all groups set to 1.0. This is the best option when selecting for minimum variation.

Click on the Start Optimization button. Let the optimization run until it completes.

Add a Polarity Inversion block to one or more subwoofers (but not all).

Add a LF Shelf filter.

Add an all pass filter.

Add a HPF to subwoofers with limited low-frequency output.

You can also change the properties of individual filter blocks. For example, you could change the maximum gain of some parametric EQ filters. Eventually, you should run the optimizer for a much longer period of time – for example, 30 minutes.

Once you are happy with your results, right-click on the Subwoofer Channels and select "Normalize Gains." Then select "Normalize Delays." (This ensure that all gains are zero or less, and that all delays are positive.)

Drop down the Config menu and select "Save Biquad text file...". Click on the line "Sub Channel 1" and then the Save button, and select a folder to store the file in.

In the DDRC-88BM plugin, go to the Outputs tab and click on PEQ for the SUB 1 channel. Select Advanced mode, then IMPORT. Select the file you saved for SUB 1/Sub Channel 1, and the plugin will update to show the filter plot:

It is a good idea to confirm that your measurements reflect the results predicted by MSO. Re-run the measurements for all subs, with the microphone in each of the measurement positions. (There is no need to re-run the measurements of the individual subs.) If your results are not similar to the predicted results shown in MSO, you may have made a mistake in transferring the data from MSO to the DDRC-88BM plugin.

Here is the result from our example system. The variation above 55 Hz is much lower than before. The "hole" around the 100 Hz area is mostly gone. While there are some deep notches, these are very narrow and each appears in only one of the measurement positions.

Then play music and listen to the results! You deserve it! Have fun, and let us know about your experiences in our forum.

As a closing statement, we'd like to thank Andy C (Andyc56) for his hard work on this amazing freeware. Multi-Sub optimizer is nothing short of providing amazing results. We hope that this app note will help you navigate his very powerful software and make sure to thank him online!

A 7.1 system using a miniDSP 2x4 (HD/Balanced) to drive up to four subwoofers

In this case, the Mixer tab of the DDRC-88BM plugin can just route Dirac channel 3 to output channel 3. In addition, set the external 2x4 (HD/Balanced) to route from input channel 1 through to all four outputs. In the 2x4 Advanced plugin:

In the 2x4 HD1 plugin:

When setting the Application Options screen, use these values:

Plugin

Sample rate

Biquad limit

2x4 Advanced

48 kHz

5

2x4 HD1

96 kHz

10

If using the 2x4 Advanced plugin, you will need to limit the value of the Delay blocks. Initially, set "Maximum value" to 7.2 and "Minimum value" to -7.2. If, after using "Normalize Delays" (Step 9. Export filters), any Delay block has a delay greater than 7.2, you will need to: