Multiple Subwoofers: Optimize Them With Multi-Sub Optimizer Software
Multi-Sub Optimizer (MSO) is a free Windows-based software program for optimizing the bass response of audio and AV systems having multiple subwoofers. It minimizes the seat-to-seat frequency response variation in the bass region while simultaneously optimizing the response flatness at the main listening position. You can choose to have MSO perform this optimization on just the subs, or to include the main speakers in the optimization. In the latter case, it automates the process of integrating the subs with the main speakers, including delay/distance settings and EQ in the crossover region.
Although it's possible to use it for identical equalization (EQ) of all subs at once, it does not depend on a global EQ approach like commercial room correction systems do. Such systems cannot reduce the seat-to-seat variation of the bass response. Instead, MSO performs optimization of EQ, gain and delay parameters individually for each subwoofer. This individual EQ optimization for each sub causes the variation of the bass response from seat to seat to be reduced, and the bass response at each listening position to be flattened.
MSO can be used to perform tasks that include:
- Optimizing subwoofer integration with main speakers through delay, gain and EQ adjustments
- Reducing seat-to-seat frequency response variation of the combined sub outputs through optimized EQ of each sub individually
- Achieving optimum subwoofer integration via individual sub delay adjustments
- Improving response flatness of the combined sub outputs at all listening positions
- Creating, specifying and achieving your desired target frequency response curve to shape the bass response to your preference
- Plotting your data in a variety of ways
- Obtaining filter parameters as text files containing biquad coefficients for import into miniDSP EQ hardware, or for manual data entry into hardware that doesn't support filter file import.
Multi-Sub Optimizer Main Window
A screenshot of the Multi-Sub Optimizer main window with a typical project loaded is shown below. Detailed descriptions of the user interface elements are given in the tutorial and the reference manual.
Multiple Subs Before and After Optimization
An example set of frequency responses at multiple listening positions before and after optimization is shown below. Each trace corresponds to a listening position. The response at each listening position is computed by combining the measured results of four subs plus main speakers at that position, taking phase into account (complex summation). The top traces are before optimization and the bottom ones are after. A display offset separates the groups of traces for clarity. In the case of the "after optimization" results, the overall response at each position is computed by applying the response of a set of filters to each individual sub measurement prior to their complex summation. The parameter values of these filters are computed by MSO to optimize the performance at each listening position. The measured data imported into the program are from a user's room and system. In this example, equalization, gains and delays were only applied to the subs, not the main speakers, so there isn't much effect above about 120 Hz. These frequency responses are especially rough, as they were measured in a home with brick construction and hard wall boundaries. Homes with drywall construction will yield smoother bass response.
System Hardware Requirements
A multi-channel DSP device or equivalent software using IIR filters, such as a miniDSP device or Behringer DCX2496 or similar is assumed to be present in your system. All the subs must be driven by a mono signal derived from the sum of the signals to the main speakers, as is the case with traditional bass management used by AV receivers and preamp-processors in home theater applications. This mono signal must be split as is done internally to the miniDSP 2x4 and DCX2496 devices, and separate EQ, delay and level adjustments provided for each sub individually. Some two-channel and even multi-channel systems operate the subs in stereo mode. For such systems, MSO is not an appropriate tool for optimization and its use will likely cause unpredictable results.
MSO can be used effectively on systems with two subs or more. See How Many Subs are Needed? for more information.
Many of MSO's filter types are compatible with those of the popular and low-cost Behringer amplifiers that include DSP.
System Software Requirements
MSO runs only on Windows. MSO requires Windows XP Service Pack 3 or a later version of Windows.
Important: Measurement System Requirements
Your measurement system must be capable of using either an acoustic timing reference or a hardware loopback timing reference to achieve time-synchronized measurements. This means that USB microphones can only be used with Room EQ Wizard (REW) version 5.15 or later in conjunction with the acoustic timing reference feature. If you are measuring a two-channel system using a USB microphone, REW 5.15 versions prior to beta 6 had the restriction that the speaker used for the acoustic timing reference could not also be measured without some special workarounds. You must use REW 5.15 beta 6 or later when measuring a two-channel system with a USB microphone. For more information, see the measurements section.
- Program: The software is free and available for download. Unzipping mso.zip gives you install_mso.exe, which you run to install the program. See the revision history page of the MSO web site for the version of the most recent MSO update.
- MSO Help File (.CHM format): A standalone version of MSO's help file is available for download. This help file is updated concurrently with the MSO web site, so there will often be a help file available that's newer than the one in the latest version of the program. You can find the date of the most recent help file on the MSO help file information page. If you have problems displaying the .CHM file, see the readme.html contained within the downloaded zip file for instructions. To update the help file in your installed copy of MSO, unzip the downloaded zip file to obtain multi-sub_opt.chm. Then copy this file into the MSO installation folder, usually C:\Program Files (x86)\Multi-Sub Optimizer. You should allow overwriting the existing multi-sub_opt.chm, which may require entering administrator permission information at the Windows prompt. Be sure to also check out the advanced search syntax for CHM files. Also check out the description of the cross-platform CHM file viewer KchmViewer, which has support for multiple-tab viewing of help pages.
- MSO Help System in zip format: A zip file of the HTML used to compile the CHM help file is available for users of systems that don't support a CHM viewer.
- Tutorial Files and Samples: A tutorial is contained within MSO's .CHM help file as well as on this web site. To follow along with the tutorial, you'll need to download the tutorial's sample files and projects.
Before You Begin
Before using MSO, please do the following:
- Read Harman's consumer-oriented literature on multiple subwoofers:
- Understand that colocated subs constiture a single sub for the purposes of MSO. This might include a group of near-field subs nestled behind a couch, or a pair of subs stacked atop one another. In order to take advantage of separate EQ, gain and delay for each sub, the subs must be placed far enough apart for room mode manipulation to occur.
- Ensure you are very familiar with your measurement software.
Acquire a general understanding of the theory of the measurements your software performs, including:
- the meaning of the frequency response, both magnitude and phase, and
- the impulse response measurement and its relationship to the frequency response.
- If you're using REW for your measurements, please do the following:
- Read the documentation of your DSP hardware.
- Read the MSO documentation.
- If you haven't used MSO before, the Tutorial is the best place to start. It will walk you through the usage of the Measurement Import Wizard and the Configuration Wizard, which is the fastest way to get up and running with MSO.
- Check out the Tips and Tricks section for hints about how to use MSO more productively. The section titled "The Different Methods of Specifying Filter Parameter Values and Limits" is especially important for new users.
- For information about how to perform the measurements needed by MSO, go to the measurements page of the Reference Manual.
- To navigate directly to subtopics in the Tutorial or Reference Manual, see the Help Contents. If you are reading this content offline in the CHM help file, the index contains links to every subtopic on every page of the documentation.
- For miniDSP, Behringer and Equalizer APO users, there is important information about compatibility of MSO's filter types with your hardware or software. See the filter compatibility page for details. Behringer users should especially check out the Behringer compatibility table.
Other Recommended Reading
- The third edition of Floyd Toole's book Sound Reproduction contains lots of valuable information regarding the interaction of multiple subwoofers with room modes. The third edition has been extensively changed from the two earlier ones. Chapter 8 of the third edition deals with sound fields and perception in the modal frequency region, and has many new explanations and figures compared to chapter 13 of the earlier editions. These new explanations help in determining the best placement of the subs prior to running MSO, by demonstrating how multiple subs can be used to manipulate room modes. Best results will be obtained with MSO if the subs are placed in locations that optimize performance prior to applying any DSP.
- miniDSP have an application note called "Optimizing multiple subwoofers with the DDRC-88BM and Multi-Sub Optimizer". This application note has given some users the mistaken impression that only the DDRC-88BM is compatible with MSO. The recommended miniDSP hardware for use with MSO is the miniDSP 2x4 HD.
- A more general perspective on multiple subs can be found in the miniDSP application note Tuning Multiple Subwoofers with miniDSP. MSO is mentioned in that article, where it's listed as Method C. The graphs show how MSO compares with other methods.
Tutorial Video and Online Discussion
- Jeff Mery has created a tutorial video for MSO. It includes clear and detailed explanations of the features introduced starting with 1.1.0, such as the Measurement Import Wizard and the Configuration Wizard. Watching this video is highly recommended for both new and experienced MSO users.
- The main discussion thread about MSO is at AVS Forum.
- AVSForum user rumpeli has created an MSO presentation and tutorial in German in the beisammen.de forum.
- MSO was written and is maintained by Andy C.
- Multi-Sub Optimizer is freeware (software gratis), and may be used for both non-commercial and commercial purposes.
- This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/4.0/.
- MSO was inspired by an Earl Geddes video about multiple subwoofers and its associated PowerPoint presentation.
The optimization algorithm used is from the following article:
J. Zhang and A. C. Sanderson, JADE: Adaptive Differential Evolution with Optional External Archive, IEEE Transactions on Evolutionary Computation, 13(5): 945 - 958, October 2009.
Enforcement of global constraints for maximum allowable total PEQ boost and cut uses Lampinen's algorithm from the following article:
J. Lampinen, A Constraint Handling Approach for the Differential Evolution Algorithm, Proceedings of the 2002 congress on evolutionary computation (CEC’02), vol 2, pp 1468–1473.
- Thanks to Cédric Moonen for the High-speed Charting Control used for MSO's graphs.
- Thanks to Nemanja Trifunovic for the UTF-8 CPP library used for UTF-8 text conversion.
- Thanks to Jeff Mery for his MSO tutorial video, and for reviewing the new tutorial documentation introduced with MSO version 1.1.0.
- Thanks to Jag768 from AVSForum and DIYAudio for beta testing, providing data and many helpful suggestions for program features.
- Thanks to markus767 and AV_mike from AVSForum for finding and reporting bugs.
- Thanks to AVSForum user Svenibaer for posting many interesting optimization results.
- Thanks to AVSForum user rumpeli for posting some interesting optimization results and creating an MSO tutorial in German.
- Thanks to AVSForum user genesplitter for his data showing MSO's behavior with a two-sub system.