York University Music Technology Group
Using Diametrically Opposed Pairs to save tracks.
Want to use your multitrack recorder more efficiently and avoid using a decoder at the playback venue? - a four track recorder can drive six speakers and an eight track can drive fourteen, with nothing more than a mixer for the playback decoder using this technique.
The early (pre - 'Vienna') Ambisonic decoders were mostly designed using Michael Gerzon's 'Diametrically Opposed Pairs' theorem. This techniques simplifies the design of the decoding matrices by assuming that speakers are arrange in pairs at the opposite ends of a line drawn throught the centre of the listening area - ie they are diametrically opposed pairs. This makes the calculations and the electronic easier since if you need to feed the speaker at one end of the diameter with
the other speaker needs to be fed
since a,b and c depend on simple trignometric functions of the speaker's position, ie the azimuth and elevation, and these functions are inverted when you go from one end of a diameter to another. So, if you generate aX +bY + cZ for one speaker in each speaker (note no W signal!), the other end is simply the inverted copy of this. This can be generated by using the phase switch on a mixer input, or by polarity reversing leads in a balanced system - see the page on using a mixer as an encoder. So you store on your tape machine one channel for each pair of speakers, plus the W signal on another channel, mixing the normal and inverted versions of aX +bY + cZ separately with W (note - do NOT change the W polarity) on replay to generate signals to drive both speakers in each pair. The CSound decoding orchestra given in the Simple CSound Ambisonics page can be change to do this as follows;
;****************************************
;* *
;* *
;* Ambisonic Decoding Orchestra *
;* *
;****************************************
,
sr = 44100
kr = 441
ksmps = l00
nchnls = 4
instr 2
; Read sound in from file
ax, ay, az, aw soundin 1
; Decode equations producing 4
; speaker feed signals for
; horizontal-only playback
al = (ax*0.707) + (ay*0.707)
a2 = (ax*0.707) - (ay*0.707)
a3 = aw
; output speaker signals
outq al, a2, a3
endin
This only saves one channel, so probably isn't worth it, but a twelve speaker rig will only take seven channels, enabling you to store this on an Adat or DA88, a very worthwhile thing. In case you wondered - yes, it works for with-height rigs and second order systems, too.
Music Technology GroupWelcome page
Last updated; 15th. October 2001 by Dave Malham.
If you have any suggestions, comments or requests you can reach
me at
dgm2@york.ac.uk
To return to the YorWeb home page click here