sr = 44100
kr = 441
ksmps = 100
nchnls = 2
gidecchnls = 8 ; specifies the speaker setup:
; 2 = stereo speaker setup
; 4 = quattro (square) speaker setup
; 5 = pentagon speaker setup
; 5.1 = 5.1 surround speaker setup, first order
; 5.2 = 5.1 surround decode, second order
; 6 = hexagonoctogon1
; 8.1 = octogon1
; 8.2 = octogon2
; 8 = cube
; 12.1= dodecahedron1
; 12.2= dodecahedron2
#define FILE #Oscillating-# ;insert filename here
#define HEADER #aif# ;insert filetype here
girescale = 1 ; for test decoding
; girescale = ; for 2chnl decoding
; girescale = ; for 2chnl decoding
; girescale = ; for 5 chnl encoding
; girescale = ; for 5.1 chnl encoding
; girescale = ; for 8chnl cube decoding
; girescale = ; for octogon1 decoding
giformat = 2
; **************************************************************************************************************************
instr 81 ; 2nd ORDER AMBISONICS DECODER coded 1999-2001 by Jan Jacob Hofmann.
; FURSE - MALHAM - SET OF EQUATIONS Version 1.1.1 - Feb. 12 th 2007
; More sets of speaker- layouts may be discovered at http://www.sonicarchitecture.de
; http://www.muse.demon.co.uk/ref/speakers.html Thanks to Richard Furse and Dave Malham
; **************************************************************************************************************************
aw soundin "$FILE.w.$HEADER." ; input for encoded mono- files, insert filename here
ax soundin "$FILE.x.$HEADER." ; input for encoded mono- files, insert filename here
ay soundin "$FILE.y.$HEADER." ; input for encoded mono- files, insert filename here
az soundin "$FILE.z.$HEADER." ; input for encoded mono- files, insert filename here
ar soundin "$FILE.r.$HEADER." ; input for encoded mono- files, insert filename here
as soundin "$FILE.s.$HEADER." ; input for encoded mono- files, insert filename here
at soundin "$FILE.t.$HEADER." ; input for encoded mono- files, insert filename here
au soundin "$FILE.u.$HEADER." ; input for encoded mono- files, insert filename here
av soundin "$FILE.v.$HEADER." ; input for encoded mono- files, insert filename here
aw = aw * girescale
ax = ax * girescale
ay = ay * girescale
az = az * girescale
ar = ar * girescale
as = as * girescale
at = at * girescale
au = au * girescale
av = av * girescale
if gidecchnls == 2 goto stereo ; goto 2chnl decode
if gidecchnls == 4 goto square ; goto 4chnl decode
if gidecchnls == 5 goto penta ; goto 5chnl decode
if gidecchnls == 5.1 goto surround ; goto surround5.1 decode, first order
if gidecchnls == 5.2 goto ITU ; goto surround5.1 decode, second order
if gidecchnls == 6 goto hexagon ; goto 6chnl decode
if gidecchnls == 8.1 goto octagon1 ; goto 8chnl decode (octogon 1)
if gidecchnls == 8.2 goto octagon2 ; goto 8chnl decode (octagon 2)
if gidecchnls == 8 goto cube ; goto 8chnl decode
if gidecchnls == 12.1 goto dodecahedron1 ; goto 12chnl decode (dodecahedron1)
if gidecchnls == 12.2 goto dodecahedron2 ; goto 12chnl decode (dodecahedron2)
; **************************************************************************************
stereo: ; 2chnl (stereo ) decode,2nd order (second order controlled opposites)
; **************************************************************************************
;Rig `Controlled Opposites' Decode Matrix (second Order)
; w x y z r s t u v
; Speaker1 <0.0000,1.0000,0.0000>
achnl1 sum aw * 0.7071, ay * 0.5
; Speaker2 <0.0000,-1.0000,0.0000>
achnl2 sum aw * 0.7071, ay * -0.5
kpeak1 peak achnl1
kpeak2 peak achnl2
printk p3, kpeak1,0
printk p3, kpeak2,4
fout "$FILE.stereo.$HEADER.", giformat, achnl1, achnl2
outs achnl1, achnl2
; soundout achnl1, "$FILE.dec1.$HEADER.", giformat
; soundout achnl2, "$FILE.dec2.$HEADER.", giformat
goto skipend
; **************************************************************************************
square: ; Rig `Controlled Opposites' Decode Matrix (second Order)
; **************************************************************************************
; This rig configuration produces an `in-phase' response and each speaker will have only a single maximum given a moving virtual sound source.
; w x y z r s t u v
; Speaker1<0.7071,0.7071,0.0000> left front
achnl1 sum aw *0.3536, ax *0.2434, ay * 0.2434, av * 0.0964
; Speaker2<0.7071,-0.7071,0.0000> right front
achnl2 sum aw *0.3536, ax *0.2434, ay * -0.2434, av * -0.0964
; Speaker3<-0.7071,-0.7071,0.0000> right back
achnl3 sum aw *0.3536, ax *-0.2434,ay * -0.2434, av * 0.0964
; Speaker4 <-0.7071,0.7071,0.0000> left back
achnl4 sum aw *0.3536, ax *-0.2434, ay * 0.2434, av * -0.0964
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
printk p3, kpeak1,0
printk p3, kpeak2,4
printk p3, kpeak3,8
printk p3, kpeak4,12
fout "$FILE.squaredec1.$HEADER.", giformat, achnl1
fout "$FILE.squaredec2.$HEADER.", giformat, achnl2
fout "$FILE.squaredec3.$HEADER.", giformat, achnl3
fout "$FILE.squaredec4.$HEADER.", giformat, achnl4
goto skipend
; **************************************************************************************
penta: ; Rig `Controlled Opposites' Decode Matrix (second Order)
; **************************************************************************************
; This rig configuration produces an `in-phase' response and each speaker will have only a single maximum given a moving virtual sound source.
; w x y z r s t u v
; Speaker1 <0.8090,0.5878,0.00> left front
achnl1 sum aw *0.2828, ax *0.2227, ay * 0.1618, au *0.0238, av * 0.0733
; Speaker2 <-0.3090,0.9511,0.00> left back
achnl2 sum aw *0.2828, ax*-0.0851, ay * 0.2619, au *-0.0624, av * -0.0453
; Speaker3 <-1.0000,0.00,0.00> center back
achnl3 sum aw *0.2828, ax * -0.2753, au * 0.0771
; Speaker4 <-0.3090,-0.9511,0.00> right back
achnl4 sum aw *0.2828, ax* -0.0851,ay * -0.2619, au*-0.0624, av * 0.0453
; Speaker5 <0.8090,-0.5878,0.00> right front
achnl5 sum aw *0.2828, ax* 0.2227, ay * -0.1618, au * 0.0238, av * -0.0733
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
printk p3, kpeak1,0
printk p3, kpeak2,4
printk p3, kpeak3,8
printk p3, kpeak4,12
printk p3, kpeak5,16
; soundout achnl1, "$FILE.pentadec1.$HEADER.", giformat ;left front
; soundout achnl2, "$FILE.pentadec2.$HEADER.", giformat ;left back
; soundout achnl3, "$FILE.pentadec3.$HEADER.", giformat ;center back
; soundout achnl4, "$FILE.pentadec4.$HEADER.", giformat ;right back
; soundout achnl5, "$FILE.pentadec5.$HEADER.", giformat ;right front
fout "$FILE.pentadec1.$HEADER.", giformat, achnl1 ;left front
fout "$FILE.pentadec2.$HEADER.", giformat, achnl2 ;left back
fout "$FILE.pentadec3.$HEADER.", giformat, achnl3 ;center back
fout "$FILE.pentadec4.$HEADER.", giformat, achnl4 ;right back
fout "$FILE.pentadec5.$HEADER.", giformat, achnl5 ;right front
goto skipend
; **************************************************************************************
surround: ; Rig `Controlled Opposites' Decode Matrix (First Order controlled opposites)-Rig `Controlled Opposites' Decode Matrix (second Order)is not provided for this rig configuration because of unusual characteristics.
; **************************************************************************************
; w x y z
; Speaker 1 <0.8660,0.5000,0.0000> front left
achnl1 sum aw *0.1690, ax *0.0797, ay * 0.0891
; Speaker 2<1.0000,0.0000,0.0000> front center
achnl2 sum aw *0.1635, ax * 0.0923
; Speaker 3<0.8660,-0.5000,0.0000> front right
achnl3 sum aw *0.1690, ax *0.0797, ay * -0.0891
; Speaker 4<-0.5000,0.8660,0.0000> back left
achnl4 sum aw *0.4563, ax *-0.1259,ay * 0.1543
; Speaker 5<-0.5000,-0.8660,0.0000> back right
achnl5 sum aw *0.4563, ax *-0.1259,ay * -0.1543
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
printk p3, kpeak1,0
printk p3, kpeak2,4
printk p3, kpeak3,8
printk p3, kpeak4,12
printk p3, kpeak5,16
; soundout achnl1, "$FILE.5_1dec1.$HEADER.", giformat ;front-left
; soundout achnl2, "$FILE.5_1dec2.$HEADER.", giformat ;front-center
; soundout achnl3, "$FILE.5_1dec3.$HEADER.", giformat ;front-right
; soundout achnl4, "$FILE.5_1dec4.$HEADER.", giformat ;back-left
; soundout achnl5, "$FILE.5_1dec5.$HEADER.", giformat ;back-right
fout "$FILE.5_1dec1.$HEADER.", giformat, achnl1 ;front-left
fout "$FILE.5_1dec2.$HEADER.", giformat, achnl2 ;front-center
fout "$FILE.5_1dec3.$HEADER.", giformat, achnl3 ;front-right
fout "$FILE.5_1dec4.$HEADER.", giformat, achnl4 ;back-left
fout "$FILE.5_1dec5.$HEADER.", giformat, achnl5 ;back-right
goto skipend
; ********************************************************************************************************************************************
ITU: ; Rig `Controlled Opposites' Decode Matrix (Second Order controlled opposites)-Rig `Controlled Opposites' Decode Matrix
; ********************************************************************************************************************************************
; Set 2 by Bruce Wiggins
; w x y z r s t u v
; Speaker 1 <0.8660,0.5000,0.0000> front left
achnl1 sum aw *0.2350, ax *0.3350, ay * 0.2900, av * 0.1400
; Speaker 2<-0.5000,0.8660,0.0000> back left
achnl2 sum aw *0.4000, ax*-0.3400, ay * 0.4500, au * -0.0400
; Speaker 3<1.0000,0.0000,0.0000> front center
achnl3 sum aw *0.1200, ax * 0.2850, au * 0.1850
; Speaker 4<-0.5000,-0.8660,0.0000> back right
achnl4 sum aw *0.4000, ax* -0.3400,ay * -0.4500, au * -0.0400
; Speaker 5<0.8660,-0.5000,0.0000> front right
achnl5 sum aw *0.2350, ax* 0.3350, ay * -0.2900, av * -0.1400
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
printk p3, kpeak1,0
printk p3, kpeak2,4
printk p3, kpeak3,8
printk p3, kpeak4,12
printk p3, kpeak5,16
; soundout achnl1, "$FILE.5_1dec1.$HEADER.", giformat ;front-left
; soundout achnl2, "$FILE.5_1dec2.$HEADER.", giformat ;front-center
; soundout achnl3, "$FILE.5_1dec3.$HEADER.", giformat ;front-right
; soundout achnl4, "$FILE.5_1dec4.$HEADER.", giformat ;back-left
; soundout achnl5, "$FILE.5_1dec5.$HEADER.", giformat ;back-right
fout "$FILE.5_1FL.$HEADER.", giformat, achnl1 ;front-left
fout "$FILE.5_1BL.$HEADER.", giformat, achnl2 ;front-center
fout "$FILE.5_1FC.$HEADER.", giformat, achnl3 ;front-right
fout "$FILE.5_1BR.$HEADER.", giformat, achnl4 ;back-left
fout "$FILE.5_1FR.$HEADER.", giformat, achnl5 ;back-right
goto skipend
; **************************************************************************************
hexagon: ; Rig `Controlled Opposites' Decode Matrix (second Order)
; **************************************************************************************
; This rig configuration produces an `in-phase' response and each speaker will have only a single maximum given a moving virtual sound source.
; w x y z r s t u v
; Speaker 1 <0.8660,0.5000,0.0000> left front
achnl1 sum aw *0.2357, ax *0.1987, ay * 0.1147, au *0.0321, av * 0.0556
; Speaker 2 <0.0000,1.0000,0.0000> left side
achnl2 sum aw * 0.2357, ay * 0.2294, au * -0.0643
; Speaker 3 <-0.8660,0.5000,0.0000> left back
achnl3 sum aw *0.2357, ax *-0.1987, ay * 0.1147, au *0.0321, av * -0.0556
; Speaker 4 <-0.8660,-0.5000,0.0000> right back
achnl4 sum aw *0.2357, ax *-0.1987, ay * -0.1147, au *0.0321, av * 0.0556
; Speaker 5 <0.0000,-1.0000,0.0000> right side
achnl5 sum aw *0.2357, ay * -0.2294, au * -0.0643
; Speaker 6 <0.8660,-0.5000,0.0000> right front
achnl6 sum aw *0.2357, ax *0.1987, ay * -0.1147, au *0.0321, av * -0.0556
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
kpeak6 peak achnl6
printk p3, kpeak1,0
printk p3, kpeak2,4
printk p3, kpeak3,8
printk p3, kpeak4,12
printk p3, kpeak5,16
printk p3, kpeak6,20
; soundout achnl1, "$FILE.hexdec1.$HEADER.", giformat ; left front
; soundout achnl2, "$FILE.hexdec2.$HEADER.", giformat ; left side
; soundout achnl3, "$FILE.hexdec3.$HEADER.", giformat ; left back
; soundout achnl4, "$FILE.hexdec4.$HEADER.", giformat ; right back
; soundout achnl5, "$FILE.hexdec5.$HEADER.", giformat ; right side
; soundout achnl6, "$FILE.hexdec6.$HEADER.", giformat ; right front
fout "$FILE.hexdec1.$HEADER.", giformat, achnl1 ; left front
fout "$FILE.hexdec2.$HEADER.", giformat, achnl2 ; left side
fout "$FILE.hexdec3.$HEADER.", giformat, achnl3 ; left back
fout "$FILE.hexdec4.$HEADER.", giformat, achnl4 ; right back
fout "$FILE.hexdec5.$HEADER.", giformat, achnl5 ; right side
fout "$FILE.hexdec6.$HEADER.", giformat, achnl6 ; right front
goto skipend
; **************************************************************************************
octagon1: ; 8chnl decode (octagon 1),2nd order (second order controlled opposites)
; **************************************************************************************
; w x y z r s t u v
; Speaker 1 <0.9239,0.3827,0.0000>
achnl1 sum aw *0.1768, ax *0.1591, ay * 0.0659, au *0.0342, av * 0.0342
; Speaker 2 <0.3827,0.9239,0.0000>
achnl2 sum aw *0.1768, ax *0.0659, ay * 0.1591, au *-0.0342, av * 0.0342
; Speaker 3 <-0.3827,0.9239,0.0000>
achnl3 sum aw *0.1768, ax *-0.0659, ay * 0.1591, au *-0.0342,av * -0.0342
; Speaker 4 <-0.9239,0.3827,0.0000>
achnl4 sum aw *0.1768, ax *-0.1591, ay * 0.0659, au *0.0342, av * -0.0342
; Speaker 5 <-0.9239,-0.3827,0.0000>
achnl5 sum aw *0.1768, ax *-0.1591, ay * -0.0659, au *0.0342, av * 0.0342
; Speaker 6 <-0.3827,-0.9239,0.0000>
achnl6 sum aw *0.1768, ax *-0.0659, ay * -0.1591, au *-0.0342,av * 0.0342
; Speaker 7 <0.3827,-0.9239,0.0000>
achnl7 sum aw *0.1768, ax *0.0659, ay * -0.1591, au *-0.0342, av * -0.0342
; Speaker 8 <0.9239,-0.3827,0.0000>
achnl8 sum aw *0.1768, ax *0.1591, ay * -0.0659, au *0.0342, av * -0.0342
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
kpeak6 peak achnl6
kpeak7 peak achnl7
kpeak8 peak achnl8
printk p3, kpeak1,0
printk p3, kpeak2,3
printk p3, kpeak3,6
printk p3, kpeak4,9
printk p3, kpeak5,12
printk p3, kpeak6,15
printk p3, kpeak7,18
printk p3, kpeak8,21
; soundout achnl1, "$FILE.oct1dec1.$HEADER.",giformat
; soundout achnl2, "$FILE.oct1dec2.$HEADER.",giformat
; soundout achnl3, "$FILE.oct1dec3.$HEADER.",giformat
; soundout achnl4, "$FILE.oct1dec4.$HEADER.",giformat
; soundout achnl5, "$FILE.oct1dec5.$HEADER.",giformat
; soundout achnl6, "$FILE.oct1dec6.$HEADER.",giformat
; soundout achnl7, "$FILE.oct1dec7.$HEADER.",giformat
; soundout achnl8, "$FILE.oct1dec8.$HEADER.",giformat
fout "$FILE.oct1dec1.$HEADER.", giformat, achnl1
fout "$FILE.oct1dec2.$HEADER.", giformat, achnl2
fout "$FILE.oct1dec3.$HEADER.", giformat, achnl3
fout "$FILE.oct1dec4.$HEADER.", giformat, achnl4
fout "$FILE.oct1dec5.$HEADER.", giformat, achnl5
fout "$FILE.oct1dec6.$HEADER.", giformat, achnl6
fout "$FILE.oct1dec7.$HEADER.", giformat, achnl7
fout "$FILE.oct1dec8.$HEADER.", giformat, achnl8
goto skipend
; **************************************************************************************
octagon2: ; 8chnl decode (octagon 2),2nd order (second order controlled opposites)
; **************************************************************************************
; Rig `Controlled Opposites' Decode Matrix (Second Order)
; This rig configuration produces an `in-phase' response and each speaker will have only a single maximum given a moving virtual sound source.
; w x y z r s t u v
; Speaker 1 <1.0000,0.0000,0.0000>
achnl1 sum aw *0.1768, ax * 0.1721, au * 0.0482
; Speaker 2 <0.7071,0.7071,0.0000>
achnl2 sum aw *0.1768, ax *0.1217, ay * 0.1217, av * 0.0482
; Speaker 3 <0.0000,1.0000,0.0000>
achnl3 sum aw * 0.1768, ay * 0.1721, au * -0.0482
; Speaker 4 <-0.7071,0.7071,0.0000>
achnl4 sum aw *0.1768, ax *-0.1217, ay * 0.1217, av * -0.0482
; Speaker 5 <-1.0000,0.0000,0.0000>
achnl5 sum aw *0.1768, ax * -0.1721, au * 0.0482
; Speaker 6 <-0.7071,-0.7071,0.0000>
achnl6 sum aw *0.1768, ax *-0.1217, ay * -0.1217, av * 0.0482
; Speaker 7 <0.0000,-1.0000,0.0000>
achnl7 sum aw * 0.1768, ay * -0.1721, au * -0.0482
; Speaker 8 <0.7071,-0.7071,0.0000>
achnl8 sum aw *0.1768, ax *0.1217, ay * -0.1217, av * -0.0482
octoout:
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
kpeak6 peak achnl6
kpeak7 peak achnl7
kpeak8 peak achnl8
printk p3, kpeak1,0
printk p3, kpeak2,4
printk p3, kpeak3,8
printk p3, kpeak4,12
printk p3, kpeak5,16
printk p3, kpeak6,20
printk p3, kpeak7,24
printk p3, kpeak8,28
; soundout achnl1, "$FILE.oct2dec1.$HEADER.",giformat
; soundout achnl2, "$FILE.oct2dec2.$HEADER.",giformat
; soundout achnl3, "$FILE.oct2dec3.$HEADER.",giformat
; soundout achnl4, "$FILE.oct2dec4.$HEADER.",giformat
; soundout achnl5, "$FILE.oct2dec5.$HEADER.",giformat
; soundout achnl6, "$FILE.oct2dec6.$HEADER.",giformat
; soundout achnl7, "$FILE.oct2dec7.$HEADER.",giformat
; soundout achnl8, "$FILE.oct2dec8.$HEADER.",giformat
fout "$FILE.oct2dec1.$HEADER.", giformat, achnl1
fout "$FILE.oct2dec2.$HEADER.", giformat, achnl2
fout "$FILE.oct2dec3.$HEADER.", giformat, achnl3
fout "$FILE.oct2dec4.$HEADER.", giformat, achnl4
fout "$FILE.oct2dec5.$HEADER.", giformat, achnl5
fout "$FILE.oct2dec6.$HEADER.", giformat, achnl6
fout "$FILE.oct2dec7.$HEADER.", giformat, achnl7
fout "$FILE.oct2dec8.$HEADER.", giformat, achnl8
goto skipend
; **************************************************************************************
cube: ; 8chnl decode (cube),2nd order (second order controlled opposites)
; **************************************************************************************
; Rig `Controlled Opposites' Decode Matrix (Second Order)
; w x y z r s t u v
; Speaker1 <0.5774,0.5774,-0.5774> front left lower
achnl1 sum aw *0.1768,ax*0.114, ay *0.114, az * -0.114, as*-0.0369, at * -0.0369, av * 0.0369
; Speaker2 <0.5774,-0.5774,-0.5774> front right lower
achnl2 sum aw *0.1768,ax*0.114, ay *-0.114, az * -0.114, as*-0.0369, at * 0.0369, av * -0.0369
; Speaker3 <-0.5774,-0.5774,-0.5774> back right lower
achnl3 sum aw *0.1768,ax*-0.114, ay *-0.114, az * -0.114, as*0.0369, at * 0.0369, av * 0.0369
; Speaker4 <-0.5774,0.5774,-0.5774> back left lower
achnl4 sum aw *0.1768,ax*-0.114, ay *0.114, az * -0.114, as*0.0369, at * -0.0369, av * -0.0369
; Speaker5 <0.5774,0.5774,0.5774> front left upper
achnl5 sum aw *0.1768,ax*0.114, ay *0.114, az * 0.114, as*0.0369, at * 0.0369, av * 0.0369
; Speaker6 <0.5774,-0.5774,0.5774> front right upper
achnl6 sum aw *0.1768,ax*0.114, ay *-0.114, az * 0.114, as*0.0369, at * -0.0369, av * -0.0369
; Speaker7 <-0.5774,-0.5774,0.5774> back right upper
achnl7 sum aw *0.1768,ax*-0.114, ay *-0.114, az * 0.114, as*-0.0369, at * -0.0369, av * 0.0369
; Speaker8 <-0.5774,0.5774,0.5774> back left upper
achnl8 sum aw *0.1768,ax*-0.114, ay *0.114, az * 0.114, as*-0.0369, at * 0.0369, av * -0.0369
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
kpeak6 peak achnl6
kpeak7 peak achnl7
kpeak8 peak achnl8
printk p3, kpeak1,0
printk p3, kpeak2,3
printk p3, kpeak3,6
printk p3, kpeak4,9
printk p3, kpeak5,12
printk p3, kpeak6,15
printk p3, kpeak7,18
printk p3, kpeak8,21
;outo achnl1, achnl2, achnl3, achnl4, achnl5, achnl6, achnl7, achnl8 ;output for writing on Disk or Dat
; soundout achnl1, "$FILE.cubedec1.$HEADER.",giformat
; soundout achnl2, "$FILE.cubedec2.$HEADER.",giformat
; soundout achnl3, "$FILE.cubedec3.$HEADER.",giformat
; soundout achnl4, "$FILE.cubedec4.$HEADER.",giformat
; soundout achnl5, "$FILE.cubedec5.$HEADER.",giformat
; soundout achnl6, "$FILE.cubedec6.$HEADER.",giformat
; soundout achnl7, "$FILE.cubedec7.$HEADER.",giformat
; soundout achnl8, "$FILE.cubedec8.$HEADER.",giformat
fout "$FILE.cubedec1.$HEADER.", giformat, achnl1
fout "$FILE.cubedec2.$HEADER.", giformat, achnl2
fout "$FILE.cubedec3.$HEADER.", giformat, achnl3
fout "$FILE.cubedec4.$HEADER.", giformat, achnl4
fout "$FILE.cubedec5.$HEADER.", giformat, achnl5
fout "$FILE.cubedec6.$HEADER.", giformat, achnl6
fout "$FILE.cubedec7.$HEADER.", giformat, achnl7
fout "$FILE.cubedec8.$HEADER.", giformat, achnl8
goto skipend
; **************************************************************************************
dodecahedron1: ;Rig `Controlled Opposites' Decode Matrix (Second Order)
; **************************************************************************************
;This rig configuration produces an 'in-phase' response and each speaker will have only a single maximum given a moving virtual sound source.
; w x y z r s t u v
; Speaker 1 <0.0000,0.0000,1.0000>
achnl1 sum aw * 0.1179, az *0.1316, ar *0.0491
; Speaker 2 <0.0000,0.0000,-1.0000>
achnl2 sum aw * 0.1179, az*-0.1316, ar *0.0491
; Speaker 3 <0.7236,0.5257,0.4472>
achnl3 sum aw *0.1179, ax *0.0952, ay *0.0692, az *0.0589, ar *-0.0098,as *0.0238, at *0.0173, au *0.0091, av * 0.0280
; Speaker 4 <-0.7236,-0.5257,-0.4472>
achnl4 sum aw *0.1179, ax *-0.0952, ay *-0.0692,az *-0.0589,ar *-0.0098,as *0.0238, at *0.0173, au *0.0091, av * 0.0280
; Speaker 5 <0.7236,-0.5257,0.4472>
achnl5 sum aw *0.1179, ax *0.0952, ay *-0.0692, az *0.0589, ar *-0.0098,as *0.0238, at *-0.0173, au *0.0091, av * -0.0280
; Speaker 6 <-0.7236,0.5257,-0.4472>
achnl6 sum aw *0.1179, ax *-0.0952, ay *0.0692, az *-0.0589,ar *-0.0098,as *0.0238, at *-0.0173, au* 0.0091, av * -0.0280
; Speaker 7 <-0.2764,0.8507,0.4472>
achnl7 sum aw *0.1179, ax *-0.0364, ay *0.1119, az *0.0589,ar *-0.0098,as *-0.0091, at *0.0280, au *-0.0238, av * -0.0173
; Speaker 8 <0.2764,-0.8507,-0.4472>
achnl8 sum aw *0.1179, ax *0.0364, ay *-0.1119, az *-0.0589,ar *-0.0098,as *-0.0091, at *0.0280, au *-0.0238, av * -0.0173
; Speaker 9 <-0.2764,-0.8507,0.4472>
achnl9 sum aw *0.1179, ax *-0.0364, ay *-0.1119,az *0.0589, ar *-0.0098,as *-0.0091, at *-0.0280, au *-0.0238, av * 0.0173
; Speaker 10 <0.2764,0.8507,-0.4472>
achnl10 sum aw *0.1179, ax *0.0364, ay *0.1119, az *-0.0589, ar *-0.0098,as *-0.0091, at *-0.0280, au*-0.0238, av * 0.0173
; Speaker 11 <-0.8944,0.0000,0.4472>
achnl11 sum aw *0.1179,ax * -0.1177, az *0.0589, ar *-0.0098, as *-0.0295, au * 0.0295
; Speaker 12 <0.8944,0.0000,-0.4472>
achnl12 sum aw *0.1179,ax * 0.1177, az *-0.0589, ar *-0.0098,as *-0.0295, au * 0.0295
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
kpeak6 peak achnl6
kpeak7 peak achnl7
kpeak8 peak achnl8
kpeak9 peak achnl9
kpeak10 peak achnl10
kpeak11 peak achnl11
kpeak12 peak achnl12
printk p3, kpeak1,0
printk p3, kpeak2,3
printk p3, kpeak3,6
printk p3, kpeak4,9
printk p3, kpeak5,12
printk p3, kpeak6,15
printk p3, kpeak7,18
printk p3, kpeak8,21
printk p3, kpeak9,24
printk p3, kpeak10,27
printk p3, kpeak11,30
printk p3, kpeak12,33
; soundout achnl1, "$FILE.do1dec1.$HEADER.", giformat
; soundout achnl2, "$FILE.do1dec2.$HEADER.", giformat
; soundout achnl3, "$FILE.do1dec3.$HEADER.", giformat
; soundout achnl4, "$FILE.do1dec4.$HEADER.", giformat
; soundout achnl5, "$FILE.do1dec5.$HEADER.", giformat
; soundout achnl6, "$FILE.do1dec6.$HEADER.", giformat
; soundout achnl7, "$FILE.do1dec7.$HEADER.", giformat
; soundout achnl8, "$FILE.do1dec8.$HEADER.", giformat
; soundout achnl9, "$FILE.do1dec9.$HEADER.", giformat
; soundout achnl10, "$FILE.do1dec10.$HEADER.", giformat
; soundout achnl11, "$FILE.do1dec11.$HEADER.", giformat
; soundout achnl12, "$FILE.do1dec12.$HEADER.", giformat
fout "$FILE.do1dec1.$HEADER.", giformat, achnl1 ; output for soundfile with header
fout "$FILE.do1dec2.$HEADER.", giformat, achnl2 ; output for soundfile with header
fout "$FILE.do1dec3.$HEADER.", giformat, achnl3 ; output for soundfile with header
fout "$FILE.do1dec4.$HEADER.", giformat, achnl4 ; output for soundfile with header
fout "$FILE.do1dec5.$HEADER.", giformat, achnl5 ; output for soundfile with header
fout "$FILE.do1dec6.$HEADER.", giformat, achnl6 ; output for soundfile with header
fout "$FILE.do1dec7.$HEADER.", giformat, achnl7 ; output for soundfile with header
fout "$FILE.do1dec8.$HEADER.", giformat, achnl8 ; output for soundfile with header
fout "$FILE.do1dec9.$HEADER.", giformat, achnl9 ; output for soundfile with header
fout "$FILE.do1dec10.$HEADER.", giformat, achnl10 ; output for soundfile with header
fout "$FILE.do1dec11.$HEADER.", giformat, achnl11 ; output for soundfile with header
fout "$FILE.do1dec12.$HEADER.", giformat, achnl12 ; output for soundfile with header
goto skipend
; **************************************************************************************
dodecahedron2: ;Rig `Controlled Opposites' Decode Matrix (Second Order)
; **************************************************************************************
;This rig configuration produces an `in-phase' response and each speaker will have only a single maximum given a moving virtual sound source.
; w x y z r s t u v
; Speaker 1 <1.0000,0.0000,0.0000>
achnl1 sum aw *0.1179, ax * 0.1316, ar * -0.0246, au * 0.0368
; Speaker 2 <-1.0000,0.0000,0.0000>
achnl2 sum aw *0.1179, ax * -0.1316, ar * -0.0246, au * 0.0368
; Speaker 3 <0.4472,0.0000,-0.8944>
achnl3 sum aw *0.1179, ax * 0.0589, az *-0.1177, ar *0.0344, as * -0.0295, au * 0.0074
; Speaker 4 <-0.4472,0.0000,0.8944>
achnl4 sum aw *0.1179, ax * -0.0589, az *0.1177, ar *0.0344, as * -0.0295, au * 0.0074
; Speaker 5 <0.4472,0.8507,-0.2764>
achnl5 sum aw *0.1179, ax *0.0589, ay *0.1119, az *-0.0364, ar *-0.0189, as *-0.0091, at *-0.0173, au *-0.0193, av * 0.0280
; Speaker 6 <-0.4472,-0.8507,0.2764>
achnl6 sum aw *0.1179, ax *-0.0589, ay *-0.1119, az *0.0364, ar *-0.0189, as *-0.0091, at *-0.0173, au *-0.0193, av * 0.0280
; Speaker 7 <0.4472,-0.8507,-0.2764>
achnl7 sum aw *0.1179, ax *0.0589, ay *-0.1119, az *-0.0364, ar *-0.0189, as *-0.0091, at *0.0173, au *-0.0193, av * -0.0280
; Speaker 8 <-0.4472,0.8507,0.2764>
achnl8 sum aw *0.1179, ax *-0.0589, ay *0.1119, az *0.0364, ar *-0.0189, as *-0.0091, at *0.0173, au *-0.0193, av * -0.0280
; Speaker 9 <0.4472,0.5257,0.7236>
achnl9 sum aw *0.1179, ax *0.0589, ay *0.0692, az *0.0952, ar *0.014, as *0.0238, at *0.028, au *-0.0028, av * 0.0173
; Speaker 10 <-0.4472,-0.5257,-0.7236>
achnl10 sum aw *0.1179, ax *-0.0589, ay *-0.0692, az *-0.0952, ar *0.014, as *0.0238, at *0.028, au *-0.0028, av * 0.0173
; Speaker 11 <0.4472,-0.5257,0.7236>
achnl11 sum aw *0.1179, ax *0.0589, ay *-0.0692, az *0.0952, ar *0.014, as *0.0238, at *-0.028, au *-0.0028, av * -0.0173
; Speaker 12 <-0.4472,0.5257,-0.7236>
achnl12 sum aw *0.1179, ax *-0.0589, ay *0.0692, az *-0.0952, ar *0.014, as *0.0238, at-0.028, au *-0.0028, av * -0.0173
kpeak1 peak achnl1
kpeak2 peak achnl2
kpeak3 peak achnl3
kpeak4 peak achnl4
kpeak5 peak achnl5
kpeak6 peak achnl6
kpeak7 peak achnl7
kpeak8 peak achnl8
kpeak9 peak achnl9
kpeak10 peak achnl10
kpeak11 peak achnl11
kpeak12 peak achnl12
printk p3, kpeak1,0
printk p3, kpeak2,3
printk p3, kpeak3,6
printk p3, kpeak4,9
printk p3, kpeak5,12
printk p3, kpeak6,15
printk p3, kpeak7,18
printk p3, kpeak8,21
printk p3, kpeak9,24
printk p3, kpeak10,27
printk p3, kpeak11,30
printk p3, kpeak12,33
; soundout achnl1, "$FILE.do2dec1.$HEADER.", giformat
; soundout achnl2, "$FILE.do2dec2.$HEADER.", giformat
; soundout achnl3, "$FILE.do2dec3.$HEADER.", giformat
; soundout achnl4, "$FILE.do2dec4.$HEADER.", giformat
; soundout achnl5, "$FILE.do2dec5.$HEADER.", giformat
; soundout achnl6, "$FILE.do2dec6.$HEADER.", giformat
; soundout achnl7, "$FILE.do2dec7.$HEADER.", giformat
; soundout achnl8, "$FILE.do2dec8.$HEADER.", giformat
; soundout achnl9, "$FILE.do2dec9.$HEADER.", giformat
; soundout achnl10, "$FILE.do2dec10.$HEADER.", giformat
; soundout achnl11, "$FILE.do2dec11.$HEADER.", giformat
; soundout achnl12, "$FILE.do2dec12.$HEADER.", giformat
fout "$FILE.do2dec1.$HEADER.", giformat, achnl1 ; output for soundfile with header
fout "$FILE.do2dec2.$HEADER.", giformat, achnl2 ; output for soundfile with header
fout "$FILE.do2dec3.$HEADER.", giformat, achnl3 ; output for soundfile with header
fout "$FILE.do2dec4.$HEADER.", giformat, achnl4 ; output for soundfile with header
fout "$FILE.do2dec5.$HEADER.", giformat, achnl5 ; output for soundfile with header
fout "$FILE.do2dec6.$HEADER.", giformat, achnl6 ; output for soundfile with header
fout "$FILE.do2dec7.$HEADER.", giformat, achnl7 ; output for soundfile with header
fout "$FILE.do2dec8.$HEADER.", giformat, achnl8 ; output for soundfile with header
fout "$FILE.do2dec9.$HEADER.", giformat, achnl9 ; output for soundfile with header
fout "$FILE.do2dec10.$HEADER.", giformat, achnl10 ; output for soundfile with header
fout "$FILE.do2dec11.$HEADER.", giformat, achnl11 ; output for soundfile with header
fout "$FILE.do2dec12.$HEADER.", giformat, achnl12 ; output for soundfile with header
skipend:
endin
/*instr 81 9-CHNL DECODING UNIT, 2nd ORDER AMBISONICS */
i81 0 35
e
e
/*instr 40 x,y,z -READER */
/*instr 42 x, y, z -CONVERTER*/
/*instr 46 A,E,D - MOVEMENT SCORE READER*/
/*instr 47 AED- MODULATOR*/
/*instr 48 AED RANDOMIZER*/
/*instr 50 SOUNDFILE READER*/
/*instr 60 LOCAL ( TRACK APPLIED) REVERB*/
/*instr 66 GLOBAL REVERB ( W- CHANNEL APPLIED)*/
/*instr 70 HRTF ENCODE+IID+ITD*/
/*instr 71 READING, MIXING, OUTPUT*/
/*instr 72 9-CHNL ENCODING UNIT, 2nd ORDER AMBISONICS*/
/*instr 73 MIXING, OUTPUT & 9-CHNL DECODING UNIT, 2nd ORDER AMBISONICS */
Version: 3
Render: Real
Ask: Yes
SFDIR: /Users/janjacobhofmann/Documents/Audiofiles/Sound_Sample_Directory/Oscillating Fields/Oscillating 24-bit
Functions: None
Listing: ioObject
WindowBounds: 68 204 960 1049
CurrentView: orc
IOViewEdit: Off
Options: -b128 -A -s -m7 -R
ioView nobackground {65535, 65535, 65535}
ioListing {10, 10} {400, 500}