Play Multiple Sounds at the Same Time

Play audio from multiple sources—even if your sound card doesn’t support it.

Most Linux users don’t think too much about exactly how sound is mixed. On many sound cards, you can send only a single sound at a time. So, for instance, if you are playing an MP3, you won’t be able to hear any desktop sounds you have configured, and your instant messenger won’t audibly alert you to incoming messages. Although some sound cards can support mixing from multiple sources, many less-expensive cards and those integrated on motherboards don’t, so as a result you need to use a sound server. A sound server, in effect, sits between your applications and the sound card, mixes the different sound sources, and presents a single source for output. The default sound server under KDE is aRts, and the default under GNOME is EsounD. This hack covers how to use and configure aRts and EsounD.

aRts (Analog Real-Time Synthesizer) is a system of modules used to synthesize audio. These modules can perform various audio tasks, such as adding audio effects, mixing, filtering, and a number of other things. The artsd sound server uses this system to mix audio from multiple sources in real time. Because it sits between the sound card and applications, an application must have aRts support to directly take advantage of the artsd server (there’s a workaround if it doesn’t, which I will talk about in just a bit). aRts is a core component of KDE (at least for the time being), so it ...

Get Linux Multimedia Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.