[Openal] Effects/filter chain lacking
Daniel PEACOCK
dpeacock at creativelabs.com
Wed Apr 30 14:51:28 PDT 2008
Hi Tim,
> I’m looking through the Effects Extension documentation and there’s
> a lot of discussion which seems to ultimately boil down to one
> parameter which is AL_AUXILIARY_SEND_FILTER which allows you to
> specify the effect and filter applied to a source. Perhaps I’m
> missing something but this only allows the sound designer to specify
> at most one effect and one filter.
The AL_AUXILIARY_SEND_FILTER is used to set-up the sends from a Source to
one of the global effects. Depending upon your hardware you may be able to
configure a Source to send to multiple global effects. For example, an
X-Fi soundcard allows you to create up to 4 global effects, and configure a
Source to have a filtered effect send to each of the global effects.
The AL_DIRECT_FILTER is used to apply a filter to the direct (dry) path of
a Source.
> But what happens when you want
> to apply 2 effects and a filter to a source?
A Source can have a one filter on the dry path (that will have no impact on
the effect sends), and (on X-Fi) up to 4 filtered sends to 4 different
effect slots (none of which will affect the dry path).
> I really want to be able to construct a chain so that I can specify
> something like this: Source->Filter->Effect1->Effect2->Output.
The current specification does not allow chaining of the auxiliary (global)
effects. But you can do this ...
Source->Filter---------->Output (dry path)
|--->Filter->Effect1->Output (send path to Aux Effect 1)
|--->Filter->Effect2->Output (send path to Aux Effect 2)
> I’d
> also like to attach an effect to the master so that every source is
> affected by that without me manually telling it so.
There are no master effects I'm afraid - just global effects.
> Even using the AL_AUXILIARY_SEND_FILTER with a reverb and a low pass
> filter it’s obvious the reverb effect is bypassing the low-pass
> filter.
That doesn't sound right. What soundcard are you using? Do you have up to
date drivers and OpenAL components? Which OpenAL device are you using?
What EFX calls are you making exactly?
> This differs from the graph on page 16 in the
> Effects Extension documentation which puts the filter first, and
> then the effect. Assuming this problem isn’t specific to my
> platform, you can hear this yourself by using the EFXFilter sample.
The EFXFilter sample sounds as expected on my X-Fi card.
You should hear the following ...
1)Original sound (no filters and no sends)
2)low-pass filtered sound with no effects
3)original sound feeding a reverb effect
4)original sound with a filtered send to the reverb effect (just the reverb
should sound muffled)
Dan
More information about the Openal
mailing list