Multiple Reverb effect on multiple source

View: New views
2 Messages — Rating Filter:   Alert me  

Multiple Reverb effect on multiple source

by adrien.mazaud :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

 

I'm new with OpenAL and I have to make a network application that magage about 16 sounds source with their own reverb effect. I read some tutorials and the OpenAL documentation and I can successfully play one source with its on reverb and I can dynamically change reverb param while playing source.

 

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 ;)

 

Thanks for your help

 

 

Adrien


_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal

Re: Multiple Reverb effect on multiple source

by Chris Robinson-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Monday 21 September 2009 1:09:45 pm adrien.mazaud@... 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.
_______________________________________________
Openal mailing list
Openal@...
http://opensource.creative.com/mailman/listinfo/openal