[LAD] Ambisonic Effect processing

Fons Adriaensen fons at linuxaudio.org
Wed Jan 11 11:59:00 UTC 2012

 Tue, Jan 10, 2012 at 04:07:45PM -0800, Harry van Haaren wrote:
> I'm currently thinking about how to process B-format ambisonic signals.
> For basic compression, gating, expanding, limiting etc things are
> relatively simple: process all 4 of the W,X,Y and Z signals.

For EQ just apply the same to all components.

Dynamics are another matter. Normally the same gain change must be
applied to all channels (so you can't just replicate a mono plugin),
but driven by W only. The only exception would be transient peak
limiting: a very short gain reduction could be applied to a single
channel only. But once it lasts for more than a few tens of ms the
other channels have to follow in order to preserve the spatial image. 

But in most cases such effects would be performed on the mono channels
before they are mixed into B-format.

> But what bout effects like Reverb: Should that effect only be applied to
> the W signal? This will change the signal's direction due to the
> unrelated-ness between the signals. But appling reverb to the directional
> components will smear any sudden changes in location, or am I missing
> something here?
> I'm applying most effects in mono before doing the B-format encode, perhaps
> all effects like reverb should be placed before that encoding?

You need a reverb that produces B format, 100% wet. It is driven by
post-fader auxiliary sends on the mono channels before they are panned
and mixed, and the output is added to the B-format master bus.
Ideally you also need to control the relative delay of the reverb send
and the input to the panner (direct sound) - it depends on distance.

You can use zita-dpl1 for B-format peak limiting, and zita-rev1 for
reverb, or use one of the AMB reverbs available for jconvolver.
I've also an AMB capable compressor but this is not yet released.


Vor uns liegt ein weites Tal, die Sonne scheint - ein Glitzerstrahl.

More information about the Linux-audio-dev mailing list