You are here: Key Audio Design Features > Distributed Program Bus > About the Distributed Program Bus

About the Distributed Program Bus

What is the Distributed Program Bus?

A common request for many audio systems is the delivery of background music or some other audio source to all (or many) zones. Following are a few examples:

  • A large department store requires that the same background music play in all areas on all floors.
  • A large conference center requires a variety of background music sources be made available to all of its zones.
  • A multi-room sports bar/restaurant requires end user control in each area for choosing between background music and TV audio for that area.

Have you ever designed and implemented a requirement resembling these descriptions? If so, then you know how quickly these situations can become a nightmare of matrices and wiring—especially if the requirement is for multiple input channels to all zones. You wire it once, and then you wire it again and again.

The HAL System designers examined the common characteristics of this often cumbersome and difficult configuration and came up with a solution that is so simple, you'll quickly forget that mess of matrices! The solution? It is a special processing block called the Distributed Program Bus.

When a system requires that one or more of its audio sources be made available in all zones, you simply wire those audio sources as inputs to your Distributed Program Bus. Then, when you add Zone Processor blocks to your system, each block automatically provides a connection to the Distributed Program Bus. All of the routing is handled internally by the Distributed Program Bus. Simple as that! No kidding! You configure and wire the input sources common to all zones only once and they magically become available to every zone you create!

note: To incorporate the Distributed Program Bus into a zone in your system, you must use Zone Processor blocks (or Room Processors if you are configuring a Room Combine situation) to define those output zones. The Distributed Program Bus is not intended to be manually wired to other blocks in your system, thus it has no output node. Instead, the Zone Processor block (and Room Processor blocks—used in a room combine system) provide an automatic behind-the-scenes connection to the Distributed Program Bus.

The following image illustrates the relationship between the Distributed Program Bus and Zone Processor block:

When should I use a Distributed Program Bus?

To determine if a Distributed Program Bus would be useful in your system, ask yourself this question: Does my system contain one or more audio inputs that are common to two or more of my output zones? If yes, then a Distributed Program Bus may be the right block for you!

tip: Remember that, when using the Zone Processor block or Room Combine Processor block to define your zones, the Distributed Program Bus and all of its inputs are included automatically. You cannot specify which inputs to include or exclude. If you need only one of its inputs for a certain zone, you could select that input and avoid exposing the other input selections (in other words, do not provide end users with input selection control in that zone).

note: Including a Distributed Program Bus does not eliminate the addition of local audio sources for a specific zone. See below for details.

How do I create a Distributed Program Bus and then incorporate it into my system?

The process for creating the Distributed Program Bus is very simple. From the DSP palette in the Processing Workspace, you drag a Distributed Program Bus block into your Processing Map. You configure the inputs that will be common to all zones (zones defined by a Zone Processor or Room Processor block) and then connect them to the Distributed Program Bus. You provide custom names for each input. And you're done!

note: An audio system can contain only one Distributed Program Bus.

To then incorporate those inputs into your zones, you drag Zone Processor blocks (from the DSP palette) into your Processing Map, connecting them to your system. Each Zone Processor block automatically includes a connection to the Distributed Program Bus. There is nothing more you need to do to connect its channels into your system.

note: When working in a Room Combine situation, the Distributed Program Bus is automatically included in each Room Processor.

Can I perform pre- or post-processing on Distributed Program Bus audio sources?

You can perform pre-processing on the input to the Distributed Program Bus. You can perform post-processing as well, but not from the Distributed Program Bus itself. You configure post-processing from within the Zone Processor or other processing blocks placed after the Zone Processor block.

Can I customize which Distributed Program Bus channels are available in each zone?

No, any input going into the Distributed Program Bus will be available in all of your Zone Processor and/or Room Processor blocks. You cannot eliminate a specific channel for a specific zone or eliminate the Distributed Program Bus entirely for a specific zone. If you link remote control hardware (such as a DR) to the zone to give your end users control over the audio selection, all the Distributed Program Bus channels (as well as any local input you may have configured) will appear on the selector device.

For a specific zone, can I include local audio sources in addition to the Distributed Program Bus sources?

Yes, you can include both local audio sources as well as the Distributed Program Bus channels. You connect the local sources to the Aux inputs on the relevant Zone Processor or Room Processor block. For details, see Creating a Zone Processor and Adding a Room Combine Processor.

How do I give my end users control over selection of Distributed Program Bus channels?

As with any other control in the HAL System, you use control linking to give your end users remote control over selection of Distributed Program Bus channels. You perform this control linking from within the properties dialog box of each Zone Processor or Room Processor block in your system. For details, see Creating a Zone Processor and Room Processor Selector Block.