[Openal] Multiple Reverb effect on multiple source
Chris Robinson
chris.kcat at gmail.com
Mon Sep 21 20:05:43 PDT 2009
On Monday 21 September 2009 1:09:45 pm adrien.mazaud at citu.fr wrote:
> Now my problem is to create 16 sources with 16 different reverb effect. To
> do that I create for each source an Auxiliary Slot with it's attached EFX
> reverb attached to the source. With the first source, it works perfectly,
> but when I try to create other source it gives me an error 0x1005
> (AL_OUT_OF_MEMORY) when I try to generate an Auxiliary Slot with
> 'alGenAuxiliaryEffectSlots'. So I tried to set the ALC_MAX_AUXILIARY_SENDS
> to 16 when I create my context but when I check this value after creating
> the context ALC_MAX_AUXILIARY_SENDS = 1.
>
> Is there any other solution to manage a reverb efect with different
> parameter on multiple source? Maybe my question is stupid but I'm new
> in
> OpenAL and more I'm new with sound computing ;) So, maybe it's just
> impossible because basic sound cards only manage between 1 and 4 aux so we
> can't apply more effect, I really don't know in fact ;)
Yeah, the number of auxiliary slots is limited. The number of sends, BTW, is
how many effects a single source can feed. The number of slots is the number
of different effects you can have at once, and is determined by allocating as
many as you want, one at a time, while watching for errors (like with
sources).
Reverb in particular can be a rather expensive effect, so trying to have 16
separate instances can be taxing even on good CPUs. I think generally, the
idea would be to have 1 reverb effect that models the listener's environment,
and is applied to all sources that the listener can hear. If you have more
slots and sends, you could also apply other environments/effects (eg. standard
reverb on one send/slot, and echo on another send/slot for far enough away
sounds).
The Generic Software device can have 1 send per source and 1 slot. Not sure
about Generic Hardware, but devices with native drivers could have more.
OpenAL Soft allows 4 slots (by default, can be increased with a config
option), and 2 sends per source.
More information about the Openal
mailing list