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}