Home Documentation and Wikis Downloads FAQ Products Contact


What is RoarAudio?

RoarAudio is a modern, multi OS sound system. Its main purpose is to connect software (like media players) and devices (like soundcards) as a mid-layer adding features you expect from a modern sound system like software mixing and full network transparency.

RoarAudio can also be used to connect multiple software components. An example for such a setup is a common webradio setup where the used playback software is connected to a streaming server in addition to a local soundcard. RoarAudio has special features for such setups like meta data passing.

What architectures and operating systems RoarAudio runs on?

RoarAudio runs on all POSIX operating systems. This includes GNU/Linux and all BSDs. In addition it has limited Win32 support. It is designed to run on as many architectures as possible. Most of it works with integer arithmetic and should run even on platforms with a slow FPU.

Main features

  • fully network transparent. Network support for UNIX Domain Sockets, TCP/IP and DECnet
  • multiple audio streams per client
  • Vorbis comments like meta data for each audio stream
  • support for "legacy" clients via libroaresd, libroararts, libroaryiff
  • support for PulseAudio and OpenBSD's sndio clients via libroarpulse and libroarsndio
  • supported by many media players and other sound using applications!
  • mixing clients at individual levels like an analog mixer
  • server and client side support for common codecs like Ogg Vorbis, Speex, FLAC and many more
  • support for 8, 16, 24 and 32 bit per sample. Mixer resolution up to 64 bit
  • and many more...

How does it work?

Basically the client (a player, a game, ...) gives its audio data to libroar (or any other RoarAudio client library, like μRoar). libroar connects to the server, locally or over a network connection. The server mixes the audio and streams it to the outputs. A output can for example be a soundcard. It can also streams it back to so called 'monitoring clients'. Monitoring clients get the mixed data to write it to disk or stream it to an streaming server like icecast.

Basic schema of a RoarAudio setup
  Powered by Fellig.org, Vim and Freedom.