20111016

The Digital PA System

We have a new project at our office, a Public Address (PA) system. A PA system seems a strange requirement for a small business like us. We already have redundant IM systems (A Jabber server as well as Empathy's distributed People Nearby service), but the argument for it is rather spiritual.

To implement the PA system, I voted to implement it the ultra-modern way, through the computer network. I've had my experiments with PulseAudio two years before, and from what I recalled, such a setup should be possible. We just have to weigh the pros and cons.

Pros:
1. Less capital expenditure. We already have a network. No need to put additional wiring to connect our disjoint offices which comprise three small offices, one of which a hundred feet away.
2. Flexible, programmable. Changes and expansions are as easy as connecting new speakers to a computer

3. It's a good experience

Cons:
1. Computers must be running on each area with the PA speaker. That's not much of a negative when there are already computers running in all areas
2. Network bandwidth. We have a combination of gigabit ethernet as well as wireless G.
3. It's pretty much experimental for us, without any professional consultants to rely on (or pay (which makes it a good thing...))

We're on the implementation stage now. We bought several two-way speakers and connected them to dual-core computers in each areas. These computers will act as sound servers. We had to use dual core computers after finding RTP multicast+gigabit network is a bit "demanding". (Most of our computers are Semprons or Atoms.)

Originally our plan was to use Pulseaudio's RTP multicasting for tremendously easy configuration. Unfortunately, we still haven't found a way to stop RTP from killing our wireless access points everywhere. We have some ideas to try like not putting any wireless access point/switch between any two sound server. Unfortunately, blocking multicasting on the wireless access points themselves are a no-go. We're just using inadequate consumer wireless routers that aren't configurable enough.

Today, I've gone to test fixed configuration instead using module-tunnel-sink and module-combine, with much success. I got my lowly laptop to act as master playing music to three other sound servers smoothly (and without stuttering when wired). I still have to solve the dynamic part, like reconfiguring the combined sink whenever a new sink comes up or one goes down. Maybe some bash scripts would help.

I'll update when I get this done and running.

No comments:

Post a Comment