Introduction
If we wish to distribute audio in a large room, building, or even a
campus, we need multiple speakers. These speakers must be jointly
managed and synchronized. The Ethernet Speaker (ES) system
can be thought of as a distributed audio amplifier and
speakers, it does not ``play'' any particular format, but rather relies
on off-the-shelf audio applications (e.g. mpg123 player, Real
Audio player) to act as the audio source.
The Ethernet Speaker, consists of three elements:
(a) a system that converts the audio output of the unmodified audio
application to a network stream containing configuration and timing
information (rebroadcaster),
(b) the devices that generate sound from the audio stream (Ethernet
Speakers), and
(c) the protocol that ensures that all the speakers in a LAN play the
same sounds.
The Ethernet Speaker System (ESS) can be used to rebroadcast an outside audio
feed to a LAN.
You can use any audio application you like since the ESS is able to collect
the audio output of the application as it is sent to the kernel. The audio
is then fed to another user-level program that may perform any type of action
on the data, e.g. save it to a file, direct it to the physical audio
device, or send it over the network to be played by other computers.
Downloads
-
The Ethernet Speaker Overview of our system. To be
presented at the FREENIX
Track of the USENIX 2005 Conference, April 10-15, Anaheim, CA.
-
EthernetSpeakerCode.tar Source
code distribution of the Ethernet Speaker applications and OpenBSD 3.4
kernel patches for the Virtual Audio Device (VAD).
-
Brief guide on how to configure
OpenBSD machines to boot from the network using the PXE boot protocol.
Older Stuff
``An Audio Stream
Redirector for the Ethernet Speaker,'' by Ishan Mandrekar,
Vassilis Prevelakis and David Michael Turner, Proceedings of
the International Network Conference 2004, Plymouth, UK. This paper
describes the old redirector that simply evesdropped on the data path
between the audio driver and the physical device driver. The
redirector sent this (uncompressed) data to the network. In this system,
the presence of the physical audio device on the server provided the
timing base for the transmission of packets, but limited the system
to as many audio streams as physical devices.