[LAU] 5.1 to ambisonices (was: more than 4 channels for listening? Really?)

Arnold Krille arnold at arnoldarts.de
Sat Feb 27 16:14:57 EST 2010


Hi,

On Friday 26 February 2010 18:31:17 Martin Leese wrote:
> Arnold Krille <arnold at arnoldarts.de> wrote:
> > I am thinking about adding a 5.1-to-ambisonics mixer/panner to move the
> > specialized channels with their defined positions to virtual sources in
> > my ambisonics surrounding. Don't know if that works out...
> If all you want to achieve is to move around
> your 5 virtual speakers then you are onto a
> winner.
> The problems come when you try to improve
> the 5.1.  If you make assumptions about how
> the 5.1 was mixed then a little more can be
> done.  

I am aware of that. Placing the virtual speakers in easy, that was todays first 
half hour in faust (so long because my boy was crying next door and jconvolve 
was crashing when sources where disconnected (sounds like denormal:) )).

My rational is that most (all?) 5.1 mixes are: music and action stuff on L+R 
(front), dialogues on C, ambient and action effects on L+R(rear).
So my idea is to split the rear channels into six or more channels distributed 
around the rear side of the circle (or even sphere) to have a more surrounding 
feeling and overcome the hole in the panning.
My first shoot at that is attached as faust-file. Comments welcome, probably the 
levels are wrong...

Probably that can be improved by not only splitting the signals but also 
mixing them a bit, both L+R from the rear and also from front to side by 
mixing front L with rear L for the 90° speaker. Don't know whether that works 
out.

Have fun,

Arnold
-------------- next part --------------

import("math.lib");

ambpan1flat(a) = _ <: ( *(0.707107), *(cos(a)), *(sin(a)) );

frontwidth = hslider("front width", 60., 0., 180.0, 1);

frontchannels = (_,_) : ( ambpan1flat(frontwidth/180.0*PI/2.0), ambpan1flat(-(frontwidth/180.0*PI/2.0)) );

simplerear(side) = ambpan1flat(side * 120./180.*PI);

tripledrear(side) = (_ / 3.0) <: ( ambpan1flat(side * 120./180.*PI), ambpan1flat(side * 80./180.*PI), ambpan1flat(side * 160./180.*PI) );

// simple processing of the rear
//process = (_,_,_,_,_) : (frontchannels, simplerear(1), simplerear(-1), (*(hslider("front volume", 0.7, 0., 1., 0.1)) : ambpan1flat(0) ) ) :> (_,_,_);

// more complex with trippled rear
process = (_,_,_,_,_) : (frontchannels, tripledrear(1), tripledrear(-1), (*(hslider("front volume", 0.7, 0., 1., 0.1)) : ambpan1flat(0) ) ) :> (_,_,_);

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://lists.linuxaudio.org/pipermail/linux-audio-user/attachments/20100227/00bd5aaa/attachment.pgp 


More information about the Linux-audio-user mailing list