Re: [linux-audio-dev] alsa mixing

From: James Courtier-Dutton <James@email-addr-hidden>
Date: Sat Jan 13 2007 - 06:20:34 EET

Milan Mimica wrote:
> Hello!
>
> We're designing a new sound subsystem for allegro game programming
> library, and we would like to take advantages of multiple hardware
> voice capabilities.
>
> On linux, ALSA is the only software that possibly could expose API for
> such a capability, is that right? It is possible to open multiple PCM
> outputs and play sound at the same time on all of them. The problem is
> that we miss some basic mixing features, like panning a mono sound on
> multichannel output for example. A similar feature is implemented as
> 'route' ALSA plug-in that can be specified in .asoundrc file, but it
> is not flexible enough.
>
> So the question is, does ALSA provide such functionality? If not,
> which library could? Is it possible that linux OS doesn't provide any
> API to take advantage of such hardware capabilities?
>
>
For games programming, I suggest you use the OpenAL API.
OpenAL will use the hardware capabilities of the sound card, if present,
leaving the game to not worry if the work is done in hardware or software.

One extra suggestion I would make is to make sure the game uses 48kHz
audio, and not 44.1kHz audio, as not many sound cards support 44.1kHz in
hardware, resulting is CPU intensive resampling.

If I missunderstood what you are doing, and you instead wish to
implement your own OpenAL type API, then you can ask alsa-lib to tell
you how many channels the hardware can mix together.

James
Received on Sat Jan 13 08:15:01 2007

This archive was generated by hypermail 2.1.8 : Sat Jan 13 2007 - 08:15:02 EET