Exporting MSO Configurations for Use with JRiver Media Center

MSO can export special text files that can be imported into JRiver Media Center and used to configure its filters and filter channels to match those of an MSO configuration. This capability is not provided by JRiver directly, but by a third-party application written by Matt Khan called BEQDesigner. MSO provides the JRiver Export Wizard, which you use to specify the JRiver channels you wish to use for main speakers and subs, and allows you to specify associations between MSO and JRiver channel names. The JRiver Export Wizard supports the full 32-channel capability of JRiver. The exported file is in a special structured JSON format that BEQDesigner understands and can use to configure the JRiver channels with the filters and other signal processing blocks used by MSO.

Preliminary Considerations: Negative Delays

Before delving into the details of the JRiver Export Wizard, it's important to understand how to deal with MSO negative delay blocks in the context of JRiver export.

In traditional MSO optimization, when MSO is used in connection with an AVR and external signal processing such as a miniDSP 2x4 HD, negative delays in MSO have been used for two purposes:

This problem is dealt with in normal MSO usage via the Filter Report, in which MSO eliminates negative delays and either translates them into the required positive delays to enter into your DSP device, or to an equivalent change of distance to be applied to your AVR's sub out, or some combination thereof.

This "sub distance trick" is not applicable when using HTPC-oriented signal processing. Instead, MSO requires that if there are any negative delays in the configuration to be exported to JRiver, the Normalize Delays command must be run the on the configuration before exporting its data. This ensures that the following two conditions are met.

In the latter case, a shared negative sub delay of, say, -D msec will be eliminated from the subs when exporting, and delays of +D msec will be placed in all main channels, preserving the relative delays between the main speakers and subs. Should the condition of an individual negative sub delay occur when running the JRiver Export Wizard, you'll see how this is reported and how it is resolved using the Normalize Delays command in the next section.

Running the JRiver Export Wizard

The JRiver Export Wizard can be run in two ways.

The first method is to launch it from the main menu via Config, Save Config to JRiver JSON file.

Running the JRiver Export Wizard from the Main Menu
Running the JRiver Export Wizard from the Main Menu

The second method is to right-click on the configuration in the Config View and choose Save JRiver JSON Text for this Configuration.

Running the JRiver Export Wizard from the Config View
Running the JRiver Export Wizard from the Config View

The Choose the Configuration for JRiver Export Wizard Page

For projects that have more than one configuration, running the JRiver Export Wizard from the main menu causes the Choose the Configuration for JRiver Export wizard page to be shown. This wizard page is shown below.

Choosing the Configuration to Export
Choosing the Configuration to Export

Choose the configuration you wish to export and press Next to continue. When invoking the wizard from the Config View, or for projects containing only one configuration, the above wizard page is skipped, as MSO already "knows" the configuration you wish to export. In such cases, when no errors are present in the configuration, MSO will go directly to the JRiver Channel Reserve wizard page, to be discussed below.

Encountering a Negative Subwoofer Delay

The chosen configuration could be in a state for which no valid exported JRiver JSON file is possible. This can happen if one or more individual sub channels has a negative delay as discussed above. Such a condition could be reached in one of two ways:

In the former case, a special wizard page will be shown with an error message containing instructions for solving the problem. In the latter case, a tabbed text view containing the error message will be shown in the area normally occupied by graphs. These two scenarios are discussed next.

The Invalid Delay Arrangement Wizard Page

The Invalid Delay Arrangement wizard page will be shown if the configuration chosen on the Choose the Configuration for JRiver Export wizard page has a negative individual sub delay.

Wizard Error Message for a Configuration With Negative Individual Sub Delay
Wizard Error Message for a Configuration With Negative Individual Sub Delay

Press Cancel to exit the wizard.

The Configuration Error Message for a Negative Sub Delay

If you attempt to launch the wizard using the context menu and the chosen configuration contains a negative individual sub delay, you'll see the following tabbed text error message.

Tabbed Text Error Message for a Configuration With Negative Individual Sub Delay
Tabbed Text Error Message for a Configuration With Negative Individual Sub Delay

Note that the wizard and tabbed text error messages are identical. In the context menu case, the error is caught early, and the wizard is prevented from being launched. If the error occurs during the usage of the wizard, the wizard itself must handle the error using the Invalid Delay Arrangement wizard page. In either case, the fix is the same: run the Normalize Delays command. This will be shown next.

Fixing a Negative Subwoofer Delay Using Normalize Delays

To fix this negative delay error, invoke the Normalize Delays command from the context menu for Subwoofer Channels in the Config View as shown below.

Normalizing Subwoofer Delays
Normalizing Subwoofer Delays

Once this is done, you can successfully re-run the wizard to export the JRiver JSON file.

The Reserve JRiver Channels Wizard Page

After specifying the configuration to export (by using either the Config View context menu or the Choose the Configuration for JRiver Export wizard page), the Reserve JRiver Channels wizard page will be shown.

Reserving JRiver Channels
Reserving JRiver Channels

In this case, we're reserving the first eight channels for main speakers and four more for subs. Not all of these reserved channels need to be actually used, as we'll see in a moment. Choose Next to continue.

The Reserve JRiver Main Channels Wizard Page

The main channels for use with JRiver export are reserved here.

Choosing Main Channels for JRiver
Choosing Main Channels for JRiver

Here we've chosen all of the first eight channels except SW for the main speakers, leaving the rest available for subwoofers. We can choose more JRiver main channels here than there are main channels in the MSO configuration we're exporting. The reason for doing so relates to the negative delay discussion above. If there were a shared negative subwoofer delay in the MSO configuration, the exported data for all the selected main channels above (L, R, C, SL, SR, RL and RR) would contain a corresponding positive delay whose value is minus the (negative) shared sub delay. This eliminates the need to enter these main channel delays manually into JRiver.

The Next button of this wizard page will only be enabled if the number of main channels you select is not less than the number of main channels in the corresponding MSO configuration. Once you've chosen the desired main channels for JRiver, choose Next to continue.

The Reserve JRiver Sub Channels Wizard Page

After you've reserved the JRiver main channels and chosen Next, the Reserve JRiver Sub Channels wizard page is shown.

Choosing Sub Channels for JRiver
Choosing Sub Channels for JRiver

For this wizard page, the Next button will only be enabled if the number of sub channels you select is exactly the same as the number of sub channels in the corresponding MSO configuration. Choose the JRiver sub channels you wish to use, then choose Next to continue.

The Associate MSO and JRiver Channel Names Wizard Page

After reserving the JRiver channel names, you'll be presented with the Associate MSO and JRiver Channel Names wizard page as shown below.

Associate MSO and JRiver Channels
Associate MSO and JRiver Channels

Here, the MSO channel names in the left column are associated with the JRiver channel names on the right via a drop-down list control for each row that appears as shown above. If the associated MSO configuration had a negative shared sub delay, then not only would the JRiver L and R channels above get a corresponding positive delay assigned to them, but so would the C, SL, SR, RL and RR channels as chosen above.

Perform the channel associations, then press Finish to complete the wizard. You'll be presented with a standard Windows File Save dialog as shown below.

Save the JRiver JSON File
Save the JRiver JSON File

Enter the desired file name and press Save to save the file. Once you've exported the JSON file, you can use BEQDesigner to import it and transfer the filter and channel information to JRiver.

If you need to run the JRiver Export Wizard again for the same configuration, you don't need to perform all the channel selections and associations a second time. MSO saves the state of all the JRiver Export Wizard pages after you run it, so that subsequent exports of the same configuration only require pressing Next a few times in the wizard in order to complete the export again. Thanks to Matt Khan for that idea.