ALSA Dmix

12 January 2006

I've been using esd for years to mix multiple sound streams from various clients. Occassionally, it gets blocked up and stops functioning, and sometimes, your programs just don't know how to talk to the daemon, so I wanted to look into the rumored mixing support in ALSA.

While looking for the necessary configuration steps, I happily found that this was supposedly already enabled in later versions of ALSA. I switched esd and my music players (beep and rhythmbox) to all talk to ALSA directly, and it seems to be working! If anything starts talking to the OSS emulation layer it still blocks all the native ALSA clients.

Maybe now I'll get sharpmusique, esd, and rhythmbox to all work together smoothly.

Update (12 January 2006): Rhythmbox talking through gstreamer directly to ALSA (instead of ESD) seems to get choppier quicker during high (disk?) loads, such as Debian updates. Maybe I'll switch gstreamer over to piping through ESD to ALSA, similarly to what it was doing previously. Maybe this'll introduce some buffering to alleviate the stutter. I suppose I could also tune IO scheduling in Linux to address this as well, but I'm unfamiliar with that.


Filed Under: Linux Computers