Research Projects: Audiospace Project
a universal audio service for interactive rooms
The goal of the Audiospace project is to provide a solution for real-time transport of audio over high-speed LANs. It will become an integral part of the Mediaspace interactive room at RWTH Aachen, Germany and therefore requires features such as high reliability, multiple audio channels, low latencies, ease of use and good integration into the host environment.
The Mediaspace room in Aachen will have several Apple PowerMac G5 workstations running MacOS X 10.3 and an 8 speaker surround sound audio system, where Audiospace will enable each computer to playback audio streams over the speaker system.
There are a number of popular streaming technologies like Shoutcast, QTSS or Real that are designed for streaming audio through the internet or large-scale intranets, but they are not suitable for low-latency transport of uncompressed audio streams. There are a few solutions for using LANs to stream low latency audio for using it in music studios, a few examples will be listed:
FX Teleport FX Teleport is a VST plugin for DAW (digital audio workstation) software that allows to use multiple computers in a TCP/IP network to calculate real-time audio effects. FX Teleport works only with software supporting VST plugins and is available only for the Windows platform.
CobraNet CobraNet is a hardware-based solution for audio over Ethernet transport. It is operating on the data link layer (OSI 2).
Esound Esound (esd) is a Linux based sound server supporting local and remote sound streams. MacOS X ports of the server and some client applications are available as well as a kernel space driver that will act as a remote client.
Audiospace will be a software implementation using an existing GBit Ethernet/IP network. On the client side, a kernel space driver will allow compatibility with existing applicaitons. An optional user space driver will be available to allow guests to use the Audiospace from their own computer without having to install kernel space drivers on their systems. The server will run a regular user space application, receiving, mixing and playing the incoming audio stream packages through MacOS X' CoreAudio system.
Prototypes of both the server and the kernel driver are implemented and allow a reliable transport of multichannel streams in CD quality. The server is using several of CoreAudio's AudioUnits: The HALOutput unit provides access to the audio hardware, the MatrixMixer unit is responsible for mixing several streams and each incoming stream gets its own Converter unit, allowing the clients to chose their audio format independently. In addition, the Varispeed AudioUnit is being used for clock skew compensation.
A current development snapshot (6th Feb 2004) can be downloaded here.