[MPlayer-dev-eng] [PATCH] af_ambisonic

Sebastian Olter qduaty at gmail.com
Sun Apr 22 20:29:13 CEST 2007

Sat Apr 21 17:59:08 CEST 2007, Nico Sabbi <nicola_sabbi at fastwebnet.it>:
>   premitting that in order to listen dvd tracks I always use:
> -af pan=2:1:0:0:1:1:0:0:1:1:1:1:1 [...]
>   1) mplayer -channels 6 -af amb=sources=5.1ac3 -ao pcm:file=sound.wav
> 2) mplayer -af amb=sinks=2 sound.wav
>  but the result sounds a little like -channels 2 without filters
> applied (that is, using the default liba52's downmixer) : too much
> information seems to be discarded (and dialogs are almost inaudible).

The Ambisonic filter is reentrant, so you should use two instances here:

-channels 6 -af amb=autoencode,amb=sinks=2:w=3

First instance enables encoding for 5.1 sources (only), second decodes
it back into 2 channels. W is the amount of mono signal (default is 0
dB, but you may need more, if the angle between your speakers is > 60
degrees). Automation prevents your stereo sources from being
transcoded, so you may safely put these options into your config file.

>  Possibly explain the meaning of the options in clearer terms?
>  What do you mean by encoder and decoder in the context of the filter?
> i.e. isn't ambosonic a pure filter?

Ambisonic filter, indeed, should have much more exhaustive
documentation. I will look for issues and then explain them. The
Ambisonic signal is called "encoded" or "encoded Ambisonically". The
process of its conversion into speaker feeds is called "decoding".

Sat Apr 21 18:33:05 CEST 2007, Nicolas George      <nicolas.george at ens.fr>
> And the result is supposed to be almost as good as the original, although I
> do not know how they do it[1].

Consider an isotropic microphone (W) plus three figure-of-eight
directional microphones (X,Y,Z), and that they record sound produced
by 5+1 speakers, in an anechoic chamber. This is the 'encoding'.

> If your goal is only to listen on 2 channels speakers, I do not think that
> ambisonic would bring you anything.

My implementation of Ambisonics has some automatism which allows one
to play any multichannel source, with downmix or upmix depending on
how many speakers are there. Currently, there is direct support for
5.1 input and for any regular speaker rig on output. A user can encode
from up to 255-channel source, but it must be set up manually.

More information about the MPlayer-dev-eng mailing list