Network renderer setup instructions

Note:  Most of the algorithms and methodolgy described here is Patent Pending or Patent Protected.

Playback to NAB/NBX audio renderers

Playback using generic RTSP/RTP PCM audio

  1. Some devices support Bonjour based RTP streaming natively.  On these devices, streaming selection is available in all apps.
  2. On other devices you can select an application which supports mDNS/Bonjour
  3. Run the app and go to speaker selection  (all speakers will automatically be located on the network)
  4. Select the output you wish to play audio on.  Assuming you have configured the device (below), these will usually be the room or rooms you want to send audio to.
  5. Play your audio from any other app.  All audio on the device will be routed to the requested room speakers.
  6. Select another network speaker (or speakers) whenever you want.
  7. Select "Internal speaker" to totally disable network streaming

 Playback using DLNA streaming

  1. Make sure you have Upnp publishing enabled on NBX/NAB
  2. Enter any DLNA remote control application (smart phones, TVs, etc)
  3. The virtual DLNA renderers (speakers) will be automatically detected
  4. Select the output you wish to play audio on.  Assuming you have configured the device (below), these will usually be the room or rooms you want to send audio to.
  5. The DLNA remote control will also show you all the available audio sources you can play.  Select a source to start audio.
  6. Select another network speaker (or speakers) whenever you want.

Playback using Logitech Media / Squeezebox streaming

  1. Make sure you have Squeeze publishing enabled on NBX/NAB
  2. If do not already have a Logitech Media Server on your network, enable the local server on NBX/NAB general config page and reboot
  3. The virtual SqueezeBox renderers (speakers) will be automatically attached to the first LMS server on the network
  4. If you have more than one LMS server, enter the desired server in the LMS config page.  Speakers may also be dynamically moved between servers using iPeng or other apps
  5. Playback is controlled via LMS apps (iPeng, etc) or the LMS web server on port 9000.  Select a source to start audio.
  6. Select another network speaker (or speakers) whenever you want.

Since NAB/NBX can automatically control attached matrixes the end user does not have to go through another step of using a control system remote or program to route the audio from the player to the speakers.  It is all done in ONE STEP directly on the users smart phone / tablet.  NAB/NBX also keeps the 3rd party control system in sync and aware of the audio routing that was done (so that other programming can be added if needed).

Setup for NAB/NBX audio renderers

NBX/NAB supports configurable multichannel rendering.  To setup your device, enter the NAB/NBX IP address into a web browser.  From the main page, select "renderer channel config".

The config screen will look like the below.

td>0
Name Enabled Type Fixed Output mux Connect Disconnect Assigned
Bonjour Upnp Squeeze channel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 command command channel
1
2
3
4
5
6
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
This will submit all data above.

Each row corresponds to 1 of 48 configurable network audio renderers.  NBX/NAB can "publish" up to 48 virtual renderer devices to the network.  Audio servers and control points will see all these published devices as valid "speakers" they can connect to.

When a network server connects to one of the virtual channels, the following sequence takes place:

  1. NAB/NBX assigns the active connections to one of 8 internal renderers (1 renderer on NBX010).  This assignment is either fixed or dynamic based on the user config.  Fixed assignments always use the same given channel for a virtual device.  Dynamic assignment will select the first unused channel and assign it to the virtual device only while the audio stream is active.
  2. On NBX, the assigned channel is a direct output of the device (channel X is audio out X, etc).
  3. On NAB, the assigned channel is the numbered network audio input to the CMXA2 matrix (channel X is CMX input 38+X).
  4. Next, on NAB the Output Mux settings for the virtual device are applied.  CMX will switch all outputs defined in the Output Mux for this virtual device to the new assigned network audio channel.  These commands are echoed via Ethernet to keep any control system in sync.
  5. Finally, the Connect Command is executed.  The disconnect command is a configurable notification send via Ethernet and RS232.  This can be used to control external matrix or power amps and for synchronization with a control system.

When a network server disconnects from one of the virtual channels, the following sequence takes place:

  1. NAB/NBX removes the channel assignment is using dynamic assignment on this virtual device.
  2. On NAB, NAB will disconnect all CMX matrix outputs that were switched to this input.  These commands are echoed via Ethernet to keep any control system in sync.
  3. NAB/NBX executes the Disconnect Command.  The disconnect command is a configurable notification send via Ethernet and RS232.  This can be used to control external matrix or power amps and for synchronization with a control system.

The configuration shown above is the default configuration for NBX100.  It exposes the 8 audio outputs directly via 8 fixed virtual devices.  Dynamic assignment can be done on NBX, but in most cases the default config will be preferred.

The default configuration for NAB100 is quite different.  It exposes 17 virtual devices using all dynamic assignment.  The first 16 devices are used as direct selection for each of the 16 output groups (out 1 analog/coax/toslink, out 2 etc).  Device 17 is a group that allows direct selection to all output zones.  You may want to add additional virtual devices for diferent groupings, such as "Main floor" etc.  The dynamic assignment allows NAB to automatically utilize all 8 renderers as needed to stream 8 different audio streams to any combination of matrix outputs.

The details on each column data:

The connect and disconnect commands use a printf style format.  The first assigned integer parameter is the assigned channel.