I have been continuing the evaluation of different sound platforms for controlling sounds in the Jaaga space.
Alternative to Ambisonics
On a suggestion from Tobias, I looked into an alternative to Ambisonics called Vector-Base Amplitude Panning (VBAP). The name seemed to have a nice ring, because it sounded like it might be the kind of vector/panning solution I described at the end of the Going Further article.
VBAP was developed by Ville Pulkki, a postdoctoral researcher at the Helsinki University of Technology. I looked up his article on implementing VBAP with MaxMSP, and downloaded the free software that goes with it. Ville begins his article by explaining the reason for creating VBAP, and it seems that this approach can accommodate a wider variety of loudspeaker layouts.
How it Works
In short, it takes so-called 'pair-wise' panning - i.e. the panning of localised sounds between two loudspeakers - and does a little more math to extend it into triplet-wise panning. The three loudspeakers are arranged in a triangle layout. Localised sounds no longer just pan horizontally, between two positions, but now pan vertically too. This change means that we have extended from 1-dimensional movement into 2-dimensional movement.
As Ville's diagram shows, as you add more triangles you can extend into the 3rd dimension too, by creating a 'mesh' similar to the polygons that describe 3D space in computer games. The amplitude of any sound 'moving through' the space is calculated for each of the nearest three speakers. The equation takes into account distance from the loudspeaker, and so VBAP differentiates from Ambisonics and irregular loudspeaker layouts can be supported. However there still needs to be a 'mesh' based on triangles, as any individual sound can only exist between the nearest three points.
The emphasis here is still on satisfying a 'sweet spot', a localised and immobile audience. In this respect, VBAP is similar to Ambisonics. As i'll discuss later on, at Jaaga we are going to experiment with layouts that don't require 'sound localisation' of the type catered for by these approaches. I'll go into that in another post.
A Side Note: Finding Max Externals
It's worth noting at this stage where I found Ville's pluggable VBAP externals, and a number of variations. MaxObjects.com is a known central repository where developers share their externals, and as such it is to MaxMSP as CodePlex is to .NET.
It's just useful to keep these sites on hand. The importance of bookmarking them will become clear next time you try to use Google to find libraries or externals! Google's just not a very good place to start for these things.