audio|acacia is a unique software solution for whole house audio. It is unlike any other solution available on the market today. It allows for extreme flexibility and as a result is well suited for both retrofit distributed systems and new centralized wiring configurations or anywhere in between. Since it runs over a typical IP computer home network, it requires no proprietary hardware or expensive infrastructure and runs well in both wired and wireless configurations.
How Does it Work? – The Basics
audio|acacia uses a hybrid peer-to-peer/master-slave paradigm. User Interfaces (front-ends) automatically discover background services (back-ends) on the local area network. The back-ends are responsible for audio source aggregation (sources) and audio playback to sound devices (sinks). They feed source and sink information to any and all front-ends on the network. Front-ends are responsible for displaying the audio metadata and rendering a control interface for the system. Any number of front-ends and back-ends can be running on the network at any one time, and since a license is valid for the entire local area network, there is no additional cost associated with running multiple front-ends and back-ends. Back-ends, or any of the sources and sinks associated with the back-end, may come and go as they please and the front-ends are instantly made aware of their passing. For example, an iPod plugged into a computer running the back-end, will automatically appear in all front-ends. Once the iPod is unplugged, it disappears from all front-ends.
Installation is very easy and a basic system will function directly out of the box with no configuration required. A user simply installs the software on each device they wish to be a part of the system. The front-end software is installed on any and all devices they wish to control the system with, and the back-end software is installed on any and all devices they wish to share music sources from and/or play audio to. In many instances, a device may have both the front-end and back-end components installed.
Configuring the Back-Ends
The back-end software runs completely in the background without user interaction, and when not in use consumes little to no memory or CPU cycles. By design, it has an extremely small footprint of approximately 6MB and has very few external dependencies, allowing it to be easily installed on almost any device. Sources are automatically discovered by back-ends and made available via front-ends. There is no need to tell the back-end where music libraries are located, what their names are, or configure network shares to make them available. AirPlay devices and computer speakers (default system sound) are automatically discovered and made available to the front-ends.
If a user wishes to customize their network setup, they may do so using the “System Configuration Utility” software. This software allows a user to do many things including:
-changing the names and icons for rooms (or zones)
-adding additional rooms via setting outputs on sound cards
-breaking up a multi-channel card into many stereo pairs
-setting “Do Not Disturb” availability schedules
-setting maximum volume levels
-creating and naming sources from inputs on sound cards
Using the Front-Ends
With front-ends available for PCs, Macs, and Linux computers and with front-ends for iPhone, iPad, and Android coming soon, there are plenty of ways to control the system. All front-ends are aware of what is currently happening on the network and changes are seen in real-time. Change the volume of a room with one front-end, and the other front-ends are immediately informed of the change. Each front-end can browse for music and sources on their own accord while still being informed of what is currently queued for playback in the various rooms. For example, one user may be searching for a song in an iTunes library while the other user is adjusting the shuffle settings of the current playlist.
audio|acacia is different from other systems in that rooms can be grouped into on-demand “listening sessions” where the same audio is played in sync to all locations in the session regardless of the source chosen. Unlike other multi-zone audio systems, we’ve separated the “listening session” from the audio source. Instead of “tuning in” rooms to a particular source to play the same music in all rooms, one can just group rooms together and play from whatever source is desired. This is analogous to having multiple radios in a house each tuned to the same broadcast channel, versus having the radios receive the channel’s content on-demand. If you pause the broadcast channel, all radios are affected. But if you receive the content on-demand, the groups can receive different content from the same source on different timelines allowing for greater listening flexibility.
In the case of audio|acacia, a user is controlling playback of music for the group rather than of the source itself. This makes it extremely easy to have multiple “listening sessions” occur simultaneously while playing different music, but play from the same audio source. For example, a user could be playing a playlist from the iPod called “Jake’s iPod” in one room, while simultaneously a different user in a different room could be playing from a completely different playlist from the same iPod.