Special Topics: Tips and Tricks
In this section, you'll find discussion of miscellaneous program features that can help you be more productive with MSO.
Copying and Pasting Filters
You can copy filters in the following ways:
- Copy all filters in a channel by selecting its Filters node and pressing Ctrl+Shift+C.
- Copy selected filters in a channel by selecting its Filters node and pressing Ctrl+C.
- Copy a single filter by selecting the filter itself and pressing Ctrl+C.
In combination with the filter paste feature, this is a quick way to add many filters to one or more channels. If you choose to copy selected filters of a channel, a dialog box pops up listing the filters in the channel, with a check box next to each one. You can then paste them into the same channel or a different channel of any configuration with Ctrl+V. When pasting filters to a destination channel, sometimes not all filters will be pasted. This can occur if e.g. you try to paste delay blocks, gain blocks or LPFs to a main channel, or if the paste operation would result in too many delay or gain blocks in a sub channel. If not all copied filters are pasted to the destination channel, a tabbed text view is created on the right, listing the filters that weren't pasted and why. This is to show what happened without a dialog box getting in the way. The information in this text view is temporary and not saved with the project. You can also copy filters to another project if desired. To do this, just copy the filters you want, close the project, then open a different one. The filters are still in the clipboard, and so they can be pasted into the newly-loaded project.
The copy and paste commands appear on the edit submenu of the main menu, on context menus in the Config View, and on toolbar buttons. You can see whether the copy or paste commands are available by looking at the appearance of the copy and paste toolbar buttons. If the copy or paste command is enabled (cursor is on an appropriate node), the buttons will show in color. If not, they will display in gray scale. The logic of whether filter paste is enabled is more complex than it first appears. If you have copied e.g. only a delay and a gain block to the clipboard, and you move the cursor to a main channel filter node with the intent of pasting the filters to the main channel, the paste command will be shown as disabled, as neither delay nor gain blocks are compatible to paste into a main channel. To paste the filters using the Ctrl+V keyboard shortcut, be sure the focus is on the Filters node of the desired destination channel in the Config View and not one of the tabbed views on the right.
Specifying Filter Parameters and Limits
Make sure you understand the two ways of specifying filter parameter limits, and how to use the filter Properties Window and Application Options dialog to perform those tasks. See Parameter Locking for how to prevent the optimizer from changing the parameters you've specified.
Example: Using Near-Field and Far-Field Subs Together
When adding delay blocks to subwoofer channels in MSO, the software will by default make the delay value limits for each of the delay blocks equal, as specified in Tools, Application Options, Filters, Delay. For systems using a combination of near-field and far-field subs, having equal delay limits for all subs is not an appropriate choice. Typically, you'll want to delay the near-field subs more than the far-field ones, to nominally match the times of arrival of the early sounds from each of the subs.
The traditional solution to this problem has been to calculate the delay for each sub based on the speed of sound and the relative distance of each sub to the main listening position (MLP). The most distant sub to the MLP is assigned a delay of zero, and the other delays are calculated based on the difference in distance to the MLP between that of the most distant sub and each of the others. This calculation is best described in AustinJerry's guide titled "Using MiniDSP 2x4 to Time-Align Multiple Subs on One Channel before Room Correction". The title of the relevant subtopic is "Set Output Delays". This topic gives explicit instructions for how to compute each delay. After setting the delays according to the calculation, you may want to only allow the optimizer to make small delay adjustments, say a few msec, from the calculated delay values. Or, you might want to completely disallow the optimizer from changing the delays from these calculated values. In the latter case, you would use the Parameter Locking feature.
Rearranging and Normalizing Gains and Delays
These commands help you achieve realizable gain and delay parameter values after performing an optimization.
Rearranging Gains and Delays
When using a conventional AVR or pre/pro with an add-on DSP device at its subwoofer output, the most practical and useful arrangement of sub gains and delays usually involves having a wide adjustment range for the shared delay and gain using the AVR's sub distance and gain trims respectively, and a narrower adjustment range for the individual sub gains and delays using the add-on DSP device. However, MSO has a restriction that when using N individual sub channels, you can have at most N gain blocks and N delay blocks. This could mean having e.g. N per-sub delay blocks as per Figure 3 of the section "Adding Filters, Delays and Gains" or 1 shared delay block and N-1 per-sub delay blocks as per Figure 2 of that same section. The latter case with a shared block is usually the desired one, but it can be challenging to figure out which individual sub channel should be the one without a gain or delay block. This problem can be solved by starting out with an arrangement like that of Figure 2 with no shared delay or gain block, then doing a Rearrange Delays or Rearrange Gains operation after the optimization is run. When using this method with delay blocks, allowing negative delays in each delay block's parameter value limits can be very useful to get the best possible results. A negative delay just means "increase the sub distance relative to the value that was used when the measurement was performed." Of course, this interpretation only makes sense if the delay is a shared one, acting as a stand-in for the AVR's sub distance setting. When doing the Rearrange Delays command in connection with negative delays, any negative delay is lumped into the shared delay block, which is the only place it makes sense. This allows for the appropriate change to the AVR's sub distance to be made, without needing a physically unrealizable negative delay in the add-on DSP device. When performed in succession, these operations will toggle the delay or gain block arrangement between that of Figures 2 and 3 linked above.
To perform these operations, go to the Config View and locate the Subwoofer Channels node of the configuration you wish to modify, then right-click and choose Rearrange Delays or Rearrange Gains from the context menu. These commands may not always be enabled in the menu. The following list describes the conditions required for them to be enabled.
- Rearrange Delays for Sub + Mains Configurations: This command is enabled when the total number of subwoofer delay blocks is equal to the number of individual sub filter channels, provided that the sub channel count is greater than one.
- Rearrange Delays for Sub-Only Configurations: This command is always disabled because shared delays are disallowed for sub-only configurations.
- Rearrange Gains For All Configuration Types: This command is enabled when the total number of subwoofer gain blocks is equal to the number of individual sub filter channels, provided that the sub channel count is greater than one.
Normalizing Gains and Delays
The Normalize Delays and Normalize Gains commands are similar to the Rearrange Delays and Rearrange Gains commands. These commands ensure that all per-sub gain blocks have an attenuation in dB that is positive or 0, and that all per-sub delay blocks have a delay that is positive or zero. They do this by lumping all positive gains into the shared gain block and all negative delays into the shared delay block. For sub-only configurations, no shared delay block is allowed, but Normalize Delays still works by adding the appropriate and identical delay to each sub channel until all delays are positive or zero. This can be done because only the subs' relative delays matter in a sub-only configuration. These commands can result in one of the per-sub gain or delay blocks shifting from one channel to another, so in connection with allowing negative per-sub delays or positive per-sub gains, they can be used to determine which individual sub channel should end up with no delay block, and which should have no gain block. This is done by running an optimization, then performing the Normalize Delays and Normalize Gains commands afterwards.
Similar to the Rearrange Delays and Rearrange Gains commands, the Normalize Delays and Normalize Gains commands are found on the context menu for the Subwoofer Channels node of the desired configuration you wish to modify via the Config View. The following list describes the conditions required for these commands to be enabled.
- Normalize Gains For All Configuration Types: This command is enabled when a shared gain block is present, and the total number of subwoofer gain blocks is equal to the number of individual sub filter channels, provided that the sub channel count is greater than one.
- Normalize Delays for Sub + Mains Configurations: This command is enabled when a shared delay block is present, and the total number of subwoofer delay blocks is equal to the number of individual sub filter channels, provided that the sub channel count is greater than one.
- Normalize Delays for Sub-Only Configurations: This command is enabled when the total number of subwoofer delay blocks is equal to the number of individual sub filter channels less one, provided that the sub channel count is greater than one.
Double-Checking Parameter Value Limits
When rearranging or normalizing gains or delays, having equivalent arrangements of gain or delay blocks sometimes requires that the new computed value for one or more gain or delay parameters exceeds the limits you originally set for the parameter. In this case, MSO will widen the minimum or maximum limit for the affected parameter just enough to allow the relevant limit not to be exceeded. For this reason, it's important to check the delay and gain parameter limits of the potentially affected gain and delay blocks in the Properties Window after performing one of these commands to ensure the limits are still compatible with your hardware. This might sometimes require some iteration. This is especially true for the Rearrange Delays and Rearrange Gains commands, for which a gain or delay block can move around from a per-sub position to a shared position or vice versa. Usually, the allowable delay or gain range should be made wider for shared delay and gain blocks than for per-sub ones.
Saving Graph Traces as FRD Files
You can export any trace to FRD format for import into other programs. To do so, perform the following steps:
- In the Data View, go to the desired graph and expand the tree node as necessary to show the nodes that represent individual traces.
- Right-click on the trace node, and choose "Save Trace as Text" from the context menu. See the figure below.
How Many Subs are Needed?
Earlier versions of the MSO documentation suggested that three or more subwoofers might be needed to get significant improvements with MSO. This appears to have been an overly cautious suggestion. The AVSForum user genesplitter has posted his MSO results with a two-sub system at five listening positions. I've summarized them for clarity below.
First, the data before using MSO:
Next, the data after using MSO:
Substantial improvements have been made at all listening positions. Based on this new information, usage of MSO can be recommended for systems having two or more subwoofers.