• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Multi-Sub Optimizer (MSO): Lessons Learned, Tips & Tricks

I just noticed that the miniDSP Flex HTx has no input biquads. When you're using MSO with SPL maximization or multi-stage optimization, you must use shared sub filters in MSO, which are usually implemented as input biquads in miniDSP devices. Without some sort of workaround for the absence of input biquads in the particular miniDSP device you're using, your MSO biquad export files will contain a file for the miniDSP input channel that doesn't exist. You work around this lack of miniDSP input biquads in MSO by first enabling the crossover biquads as shown in the image of the previous post. Then you tell MSO that the number of input biquads per that image is zero. MSO then implements the shared sub filters as filters that are replicated in each separate miniDSP sub channel. Some or all of these will end up in the crossover biquads. When you do this, the number of shared PEQs plus per-sub PEQs must add up to a maximum of 18 (8 in the crossover biquads, 10 in in the output biquads).

This means you might have 8 shared sub PEQs plus 10 per-sub PEQs, 9 shared shared sub PEQs plus 9 per-sub PEQs, 10 shared shared sub PEQs plus 8 per-sub PEQs and so on. You can't have, say 10 shared sub PEQs plus 10 per-sub PEQs, because that would add up to more than 18 total.

When exporting, you end up with some biquad files ending in "_xo.txt", which must be pasted into the crossover biquads in the miniDSP device console software. If you don't appropriate the crossover biquads in this way, the total number of shared PEQs plus per-sub PEQs is limited to 10.
 
Last edited:
Hey all - this thread has gone a bit quiet lately but anyone with 2 or more subs, and especially if you are looking for some output and dynamic range out of your multi sub setup, MSO 2.0 can do an amazingly good job to simultaneously maximize the output capabilities and provide a consistent frequency response at one or more seats (and yes, you should absolutely try it even if you only care about 1 seat - optimizing for a range of positions in the vicinity of your main seat is way better than optimizing only for a single microphone position).

For those interested in using MSO, I've posted a tutorial video for MSO 2.0 with a full walkthrough with tips and tricks for most of the required settings, and tried to explain what MSO is actually doing and how to interpret the results.

Check it out here:
 
Thank you. MSO is only getting better. I planned to redo my optimization using the new features, but still have to wait because I have to reorganize the furniture first. I look forward to watching the video, and learn.
 
I'm struggling with MSO but keen to get the most out of my system so wondered if I can get some assistance in understanding what setup process to follow.

My hardware is;
MiniDSP flex with Dirac Live license
Denon X3700H
Audiolab 6000A
Audiolab 6000CDT
SVS PB1000 Pro x2
UMIK-1
7.2.4 speaker setup for HT
WiiM mini streamer

The way i have everything setup is;

WiiM connected to Flex via Toslink,
6000CDT connected to Flex via SPDIF,
Flex connected to 6000A via RCA,
Flex connected to Subs via RCA,
X3700H connected to Subs via RCA,
X3700H Front L/R preouts connected to 6000A power amp inputs
6000A connected to Front L/R tower speakers
(currently there is no link between the AVR & Flex)

For Movies/TV I have solely Audyssey XT32 managing everything so the Flex is not being used. Here i would like to utilise the Flex so that it manages Sub integration as I understand i should achieve better results vs XT32 but I am completely unclear what steps I'd need to follow for MSO & Audyssey to work together

For stereo/2.2 music I am using the DDRC-24 profile I created using Dirac live imported to the Flex. Here I would to make use of MSO & Dirac live together to get the best FR but again completely lost of what steps to follow.

Would be very grateful if someone could put me in the direction of the best guides I can follow (ideally noob friendly ones )
 
I'm struggling with MSO but keen to get the most out of my system so wondered if I can get some assistance in understanding what setup process to follow.

My hardware is;
MiniDSP flex with Dirac Live license
Denon X3700H
Audiolab 6000A
Audiolab 6000CDT
SVS PB1000 Pro x2
UMIK-1
7.2.4 speaker setup for HT
WiiM mini streamer

The way i have everything setup is;

WiiM connected to Flex via Toslink,
6000CDT connected to Flex via SPDIF,
Flex connected to 6000A via RCA,
Flex connected to Subs via RCA,
X3700H connected to Subs via RCA,
X3700H Front L/R preouts connected to 6000A power amp inputs
6000A connected to Front L/R tower speakers
(currently there is no link between the AVR & Flex)

For Movies/TV I have solely Audyssey XT32 managing everything so the Flex is not being used. Here i would like to utilise the Flex so that it manages Sub integration as I understand i should achieve better results vs XT32 but I am completely unclear what steps I'd need to follow for MSO & Audyssey to work together

For stereo/2.2 music I am using the DDRC-24 profile I created using Dirac live imported to the Flex. Here I would to make use of MSO & Dirac live together to get the best FR but again completely lost of what steps to follow.

Would be very grateful if someone could put me in the direction of the best guides I can follow (ideally noob friendly ones )
You're best bet would be to watch the video above to use MSO to get your response as flat as possible first. MSO will help you set the delays and apply PEQs/All pass filters to present to Audyssey only "1" subwoofer. Then you would use Audyssey to only apply a house curve to the subwoofer response, or, leave it flat and use Dynamic EQ to allow Audyssey to make the curve changes based on volume.

Dirac would be the same - present it with the same flat response that MSO gets you first.
 
You're best bet would be to watch the video above to use MSO to get your response as flat as possible first. MSO will help you set the delays and apply PEQs/All pass filters to present to Audyssey only "1" subwoofer. Then you would use Audyssey to only apply a house curve to the subwoofer response, or, leave it flat and use Dynamic EQ to allow Audyssey to make the curve changes based on volume.

Dirac would be the same - present it with the same flat response that MSO gets you first.
Thanks Mike so you would suggest to not prevent audyssey from adjusting FR for subs and to let it do it's thing +/- any preferred house curve i choose to apply? Looking around online seems to be many different schools of thought which is making it difficult to understand which process is best practice to follow
 
Thanks Mike so you would suggest to not prevent audyssey from adjusting FR for subs and to let it do it's thing +/- any preferred house curve i choose to apply? Looking around online seems to be many different schools of thought which is making it difficult to understand which process is best practice to follow

I currently use Dirac, but I have used Audyssey in the past, and once I get the flat response from MSO, my Dirac measurements are flat as well, so there is not much FR adjustment to be done other than to create the house curve in the room correction app.
 
@DaveBoswell I watched your tutorial video, it was very helpful, thank you. I a few questions though based on it, if you don't mind:

1. Can you explain more about the small gain block you put on the shared filters? I don't really get it.

I put it on my config, and it received +2db (the max I allowed). Then, the MSO output parameters specified 0 gain for all 4 sub channels. I think you're saying that by allowing that parameter, you are giving the optimization a chance to artificially boost the entire response curves +2db to hit the fixed reference level, which essentially would lower your headroom by 2db, but also allow for a better optimization if your system has the headroom.

2. Would you mind expounding a bit on the specific choice of the SPL penalty parameter?


You start with a very small number of 0.2, then seem reluctant to go higher before allowing it to be 1.0db. Is 1.0db really so bad here? I'd argue I'd rather have this even higher, say 3db, and not put in the shared gain block. This may be a misunderstanding on my part.

3. You mention a few times in the video that people would like to keep as much SPL as possible when they have subs. How important is this? I ask because my subwoofers (4x SB1000) seem to have way more SPL capability than my 85db speakers and the thought of needing to squeeze out every bit of SPL seems foreign to me.

Thanks!
 
@DaveBoswell I watched your tutorial video, it was very helpful, thank you. I a few questions though based on it, if you don't mind:

1. Can you explain more about the small gain block you put on the shared filters? I don't really get it.

I put it on my config, and it received +2db (the max I allowed). Then, the MSO output parameters specified 0 gain for all 4 sub channels. I think you're saying that by allowing that parameter, you are giving the optimization a chance to artificially boost the entire response curves +2db to hit the fixed reference level, which essentially would lower your headroom by 2db, but also allow for a better optimization if your system has the headroom.

2. Would you mind expounding a bit on the specific choice of the SPL penalty parameter?


You start with a very small number of 0.2, then seem reluctant to go higher before allowing it to be 1.0db. Is 1.0db really so bad here? I'd argue I'd rather have this even higher, say 3db, and not put in the shared gain block. This may be a misunderstanding on my part.

3. You mention a few times in the video that people would like to keep as much SPL as possible when they have subs. How important is this? I ask because my subwoofers (4x SB1000) seem to have way more SPL capability than my 85db speakers and the thought of needing to squeeze out every bit of SPL seems foreign to me.

Thanks!
sure thing:

1 - the gain block is a temp adjustment to allow MSO some wiggle room above and below the target you set to see if it can find a flatter response and better seat to seat variance. It is ignored and discarded in the filter export as it is not needed since it applies to all sub equally. It has zero impact on head room and any setting you have in this will get superceded by the sub level setting that your AVR will subsequently set

2 - there is no relationship between the SPL parameter and the shared gain block. The only two things you are trading off with this parameter is maximum sub system headroom (i.e. how loud it will play cleanly), and how good the seat to seat variance you want in your setup. If you find that your seats are resulting in too large of a variation for your tastes, then increase the parameter. If you are usually the only listener and/or you don't care too much about really good response in seats other than your usual spot, then there is no benefit in making this parameter that high. 3dB of SPL penalty is quite a lot IMO

3 - you aren't looking necessarily for more SPL per se, what you are looking for is high peak SPL at low distortion levels. Many systems can play loud, but when you hear a system that plays loud effortlessly with room to spare, with low compression and distortion and very short sharp and crisp impactful transients, it's a whole new ballgame.
 
I tried to combine DLBC (single channel on an rz50, but two subs) and MSO to balance my subs without luck, sounds terrible. Sounds great in the older Dirac mode though with MSO and the guidance I've read through here and the videos.

Probably just too many competing EQs/changes add up to a worse signal is my guess. My brainstorm of the day is to do a full MSO run, and forgo using the input optimizations to my 2x4hd to get a baseline combo for the two subs. So I would end up with just the per sub PEQs it used to balance them together. Then run Dirac and DLBC to get the Dirac equiv of the input PEQs plus better per speaker crossovers etc.

Anyone think this is a good or bad idea?
 
Back
Top Bottom