[LAD] Attenuation of sounds in 3D space

fons at kokkinizita.net fons at kokkinizita.net
Thu Jul 22 15:02:08 UTC 2010


On Thu, Jul 22, 2010 at 10:35:15AM -0400, Paul Davis wrote:

> On Thu, Jul 22, 2010 at 10:29 AM, Chris Cannam
> <cannam at all-day-breakfast.com> wrote:
> > Question that just occurred to me.  I'm very ignorant about spatial
> > audio, and although I'm sure several of my colleagues could tell me
> > this, I thought it might be sort of on-topic here.  Is it possible, or
> > easy, or sensible, or worthwhile, to reduce a B-format recording into
> > stereo in multiple different ways in order to achieve different
> > subjective "listener position" results when using headphones?
> 
> my limited understanding  is this: the B-format data encodes the
> source position relative to some defined point in space. the decoder
> can map the "origin" used to define the positional space however it
> wants to. whether or not any decoders actually offer any control over
> this is another matter.

The first order B-format consists of four signals:

W:      equivalent to an 'omni' microphone,
X,Y,Z:  equivalent to figure-of-eight microphones
        pointing forward/back, left/right, and up/
        down respectively.

Combining these you can synthesize any type of first
order mic, going from omni, over subcardioid, cardioid,
hypercardioid to bidirectional, and in any direction.

So starting with B-format, you can convert it to stereo
using e.g. two figure-of-eights at 90 degrees (Blumlein)
or two cardioids at 110 degrees (ORTF), etc.

The type of mics and their angle will determine the 
direct to reverberation ratio to some extent, and 
therefor the apparent placement of the stereo mic.

Such a 'virtual stereo mic' is part of Tetraproc, and
there's also a Ladspa plugin doing this. The latter has
some problems in Ardour as it has 4 ins and 2 outs, and
Ardour get confused by this and will (IIRC) copy inputs
3 and 4 to the outputs while it shouldn't do that.

Another way is to decode to a number of speaker signals
and then use HRIR (head-related impulse responses) to
convert to binaural. Ambdec + Jconvolver (or just
Jconvolver with some extra prepartion) can do this.

Ciao,

-- 
FA

There are three of them, and Alleline.




More information about the Linux-audio-dev mailing list