[LAU] Ambisonics for newbies - ambdec

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Wed Mar 25 02:26:19 CET 2020

On 3/24/20 9:27 AM, Michael Jarosch wrote:
> Am 24.03.20 um 08:04 schrieb Jeanette C.:
>> Mar 24 2020, Mitsch has written:
>> Yes, first oder ambisonics also has four channels, known as W, X, Y and
>> Z. But these don't mark speakers, they mark pressure (overall loudness)
>> and three directions.
> It took a while, but I understand the basic mechanics of ambisonics, now
> - at least, I hope so.
> It's a bit sad, that there seems to be no "ambisonics for newbies" site
> to make it a bit easier to dive into this… The "Using ambisonics with
> Ardour"-page really helped a lot, although the plugins and input
> descriptions do not match to what I was confronted with.
>> And so what ambdec does is decode one of the ambisonic formats into a
>> particular speaker setup.
> That's right - I just have to use a configuration in ambdec that matched
> my speaker setup. I expected a configuration called "quadrophonic", but
> I found a "square".

That is the one to use for your setup.

> Maybe quadrophonic is already occupied by another
> surround systems nomenclature… Well, I'm fine with a "square"…
> I would have made my own configuration, but I couldn't find the button
> "new" in the configuration dialog, which was described in the manual of
> the 0.4.2 version I've found on Fons' page. Is that handy tool given up
> in later versions or am I too dump to handle it right?

Making your own decoder is, well, not so easy to begin with (not 
impossible). Best to start with well known configurations and use the 
presets that come with Ambdec.

>>> Following instructions from https://community.ardour.org/ambisonics,
>>> I added one mono track, bypassed the builtin panners and took (I
>>> think it was) "AMB 1.1 mono panner" (couldn't find "1h1v"), added 2
>>> additional channels in "Master" to get 4 of them and let my mono
>>> channel take the "Master" as an output.
>> Again for clarity: there is a LADSPA plugin - also by Fons - called "AMB
>> order 1,1 mono panner", which will do and is probably what you have
>> used?
> Yes! That's the right name.

Best would be to create a 4 channel session to begin with (so that the 
master is already quad, all new tracks autoconnect, etc).

Make sure your mono track is actually sending all four output channels 
to the master, and that they are actually connected to the master bus 
(and in the right order 1 to 1, 2 to 2, etc).

>>> Then I started ambdec and tried to make some sane connections, but
>>> the inputs are not called "w", "x" and "y", but only "0", "1", "2",
>>> and so on?

Weird, in my machine this is what I see (ambdec 0.5.1):

$ jack_lsp|grep ambdec

the "0" is for the zeroeth order component (w), the "1"s for first 
order, etc. What are you using to connect the jack ports?

>> As far as I can see, that's OK. Connect your four outputs to the first
>> four inputs of ambdec.
> Yeah, I've tried that. Master 1,2,3,4 to ambdec 0,1,2,3 via "catia".
> By the way, @Fons, if he is watching that thread: I can't understand,
> why counting in an audio application starts at "0". And I can't
> understand why it seems better not keeping the ambisonics' nomenclature
> for an ambisonics application… There may be reasons for this - maybe 3rd
> order ambisonics complicates things, here? Nevertheless: Is it possible
> to name the inputs at least by a number AND the corresponding ambisonics
> channel name? That would be great!

That is the way it normally is... maybe you can try the above command 
from a terminal to see what you see?

> I made sure, that the outputs of ambdec are correctly connected, which
> is easy to test with the internal test signal. But there are a few
> things that let me think, I'm wrong with the inputs, here:
> * If the "mono panner" is in a neutral position (Azimuth: 0, Elevation:
> 0), I would expect to get a signal from exactly in front of me. 


> Instead
> I get an output signal of LF and LB which is 20dB higher than RF and RB.

(BTW, in all orders, but specially in first order you will not get 
"silence" coming from any speakers, all speakers will contribute to the 

So it would seem that front is left, right (no pun intended)? Which 
would mean you have Y (left-right) connected to the X (front-back) 
decoder input.

> I can reach the signals position that corresponds to the one I expected
> if I set Elevation to 90. But then, changing azimuth does nothing
> (instead of  - my expectation - circling around me while changing it).

That would seem to suggest that either the connections from Ardour to 
Ambdec (most likely), or the connections from Ambdec to the speakers are 
not right.

> * Elevation: The Ardour page says, if there's no vertical dimension, I
> shouldn't connect "z" - if I do that, ambdec changes it's reaction to
> the "mono panners" values - but still it's not very intuitive to work
> with. Or to be more precise: It's even getting worse…

So Z is connected to either X or Y. And who knows where W is connected 
to :-)

There has to be some confusion of what is connected to what. What you 
hear would suggest that the order of the components coming into the 
decoder is wrong (or maybe not all of them are connected).

Sorry you are having problems...
-- Fernando

> Conclusion: I'm sure, ambisonics is no rocket science, but the tools I'm
> depending on getting ambisonics to work don't make it that easy…

More information about the Linux-audio-user mailing list