A thousand trills and quivering sounds
In airy circles o'er us fly.
Till, wafted by a gentle breeze,
They faint and languish by degrees,
And at a distance die.
   — Joseph Addison, An Ode for St. Cecelia's Day

 

The Software Infrastructure for the Recording, Emission, and Networking of Sound (SIRENS) is a library for recording, playback, and transport of audio data.  SIRENS provides an abstraction of audio hardware and subsystems, enabling the user to design a complete virtual audio system tailored for the user's needs. A given audio system can simply move audio from one device to another, mix multiple inputs into a single output or several output subgroups, or provide facilities to record and play back sound.

Audio systems can be composed of one or more subsystems. These subsystems in turn can provide access to audio devices, each audio device providing some number of channels of audio input and/or output. These audio channels can be mapped onto an audio crossbar, functionally similar to a studio mixing console. Audio channels can also be created from input and/or output files, providing the ability to record and play back audio. Finally, codecs can be applied to the audio, allowing compressed audio to be stored, replayed, or transmitted over a network. SIRENS provides an XML configuration facility for audio subsystems, allowing the design of the audio system to be changed on the fly.