The Spectacle Fashion Show in Amsterdam was looking for a 10 minute surround soundtrack, and here I was, together with Mhairi , An, Ivan and JACK…

andBeyond had 8 PA speakers available to fill a circular chapel (Platform21.nl, Sandberg.nl, maps.google). Even worse than the sound reflections there was the fact that the audience had to be seated along the outer walls. Only the models would able to appreciate the sweet-spot ;) - I had only one week to prepare the setup and the final no go for using ambisonics or WFS was that we could only get into the building the day before the show and there were also rehearsals taking place at the same time.

So instead of moving sound-sources in the space, simple panorama dial-knobs did the trick of mixing four live and two stereo tape-inputs to the eight speakers and it was quite sufficient to enchant the audience: Video of the Show, alas in bad quality and without the grand finale.

Free software for free drinks, lots of fun and a great show!

Thanks, andBeyond.nl. I won't forget some of those truly amazing looks for quite a while. - Relax Max

Note: Jack-Transport needs to be rolling in order for panjack to process audio.

It creates jack-audio input and output ports and routes audio with a latency of 1 jack-cycle, applying a amplifications depending on faders and panorama-gain.

The panorama-gain settings can be adjusted manually for each output channel or be modified indirectly using built-in maths for 2D (angle, separation) or X/Y-distance panning. Furthermore there is built-in functionality to automate whirl/leslie-rotate effects.

With the soundtrack and choreography changing until the last minute, panjack accordingly changed rapidly so the initially nice and clean code (based on jack-example-client.c) turned into a toolkit.

OscPanCtl was only used at the beginning for prototyping and the OscPanCtl code as well as the matrix.c maths has been somewhat neglected.
I bought a Behringer BCF2000 few days before the performance and hooked it up via MIDI instead of OSC. During rehearsals some tracks and panorama settings were automated (ardour automation via OSC to panjack), but in the end we ended up to mixing it all live and resulted in some last minute assign feature to MIDI-event hacks. NTL, it runs stable and panjack worked brilliantly - thanks to JACK, freebob2) and debian gnu/linux - without a single dropout at 256 frames, 4ms latency during the whole two days!

more to come about:

Pure-data prototype - uses much more CPU (sqrt, pow for each channel and for each sample) - 60% CPU on a i686 1.6Ghz :(