NewsWorksSoftwareTextBioContact
background image

Multichannel audio signals in Max

April 17, 2006

multicable

I recently go the idea of how to pack several audio signals into one multichannel signal or a multicable. It does not work well when transported into or out of the poly~ objects but for other tasks it is straight forward. We are contemplating the possibility of using this solution in Jamoma in order to reduce the number of audio signals that have to be passed from one module to the next but I believe there are still a few wrinckles that needs to be ironed out before making the decision. Anyway it won’t happen before we have finished of the 0.300 release.

Lately I have been working on a number of modules for dealing with ambisonic signals in Jamoma. These modules tend to have 4 9 or 16 inlets and/or outlets depending on what order of ambisonic signal we use. This might be the first place were we start using this solution.

The patch itself can be found below.

#P user ezdac~ 111 679 155 712 0
#P window setfont “Sans Serif” 9.000
#P window linecount 1
#P newex 184 585 41 196617 *~ 0.200
#P newex 111 585 41 196617 *~ 0.200
#P newex 184 552 61 196617 cycle~ 440
#P newex 111 553 61 196617 cycle~ 220
#N vpatcher 43 74 595 314
#P outlet 353 129 15 0
#P outlet 252 129 15 0
#P outlet 151 129 15 0
#P outlet 50 129 15 0
#P window setfont “Sans Serif” 9.000
#P newex 353 84 81 196617 route /signal/4
#P newex 252 84 81 196617 route /signal/3
#P newex 151 84 81 196617 route /signal/2
#P newex 50 84 81 196617 route /signal/1
#P inlet 50 30 15 0
#P connect 0 0 1 0
#P connect 1 0 5 0
#P connect 0 0 2 0
#P connect 2 0 6 0
#P connect 0 0 3 0
#P connect 3 0 7 0
#P connect 0 0 4 0
#P connect 4 0 8 0
#P pop
#P newobj 111 652 113 196617 p multicable.out
#N vpatcher 43 74 591 292
#P window setfont “Sans Serif” 9.000
#P newex 353 50 92 196617 prepend /signal/4
#P newex 252 50 92 196617 prepend /signal/3
#P newex 151 50 92 196617 prepend /signal/2
#P newex 50 50 92 196617 prepend /signal/1
#P inlet 50 30 15 0
#P inlet 151 30 15 0
#P inlet 252 30 15 0
#P inlet 353 30 15 0
#P outlet 50 125 15 0
#P connect 4 0 5 0
#P connect 5 0 0 0
#P connect 6 0 0 0
#P connect 7 0 0 0
#P connect 8 0 0 0
#P connect 3 0 6 0
#P connect 2 0 7 0
#P connect 1 0 8 0
#P pop
#P newobj 111 619 230 196617 p multicable.in
#P newex 241 250 55 196617 phasor~ 2
#P user scope~ 266 387 366 437 256 3 128 -1.000 1.000 0 0.000 0 0.000 102 255 51 135 135 135 0
#P user scope~ 160 387 260 437 256 3 128 -1.000 1.000 0 0.000 0 0.000 102 255 51 135 135 135 0
#P user scope~ 213 442 313 492 256 3 128 -1.000 1.000 0 0.000 0 0.000 102 255 51 135 135 135 0
#P user scope~ 107 442 207 492 256 3 128 -1.000 1.000 0 0.000 0 0.000 102 255 51 135 135 135 0
#P window linecount 2
#P newex 241 274 51 196617 triangle~ 0.500
#P window linecount 1
#P newex 174 274 55 196617 phasor~ 2
#P newex 107 274 49 196617 cycle~ 2
#N vpatcher 43 74 565 312
#P outlet 353 129 15 0
#P outlet 252 129 15 0
#P outlet 151 129 15 0
#P outlet 50 129 15 0
#P window setfont “Sans Serif” 9.000
#P newex 353 84 81 196617 route /signal/4
#P newex 252 84 81 196617 route /signal/3
#P newex 151 84 81 196617 route /signal/2
#P newex 50 84 81 196617 route /signal/1
#P inlet 50 30 15 0
#P connect 0 0 1 0
#P connect 1 0 5 0
#P connect 0 0 2 0
#P connect 2 0 6 0
#P connect 0 0 3 0
#P connect 3 0 7 0
#P connect 0 0 4 0
#P connect 4 0 8 0
#P pop
#P newobj 107 362 169 196617 p multicable.out
#N vpatcher 43 74 600 309
#P window setfont “Sans Serif” 9.000
#P newex 353 50 92 196617 prepend /signal/4
#P newex 252 50 92 196617 prepend /signal/3
#P newex 151 50 92 196617 prepend /signal/2
#P newex 50 50 92 196617 prepend /signal/1
#P inlet 50 30 15 0
#P inlet 151 30 15 0
#P inlet 252 30 15 0
#P inlet 353 30 15 0
#P outlet 50 125 15 0
#P connect 4 0 5 0
#P connect 8 0 0 0
#P connect 7 0 0 0
#P connect 6 0 0 0
#P connect 5 0 0 0
#P connect 3 0 6 0
#P connect 2 0 7 0
#P connect 1 0 8 0
#P pop
#P newobj 107 329 213 196617 p multicable.in
#P user number~ 239 177 278 192 9 3 3 2 0.000 0.000 0 0.000 250 0.000 0 0 0 221 221 221 222 222 222 0 0 0
#P user number~ 194 177 233 192 9 3 3 2 0.000 0.000 0 0.000 250 0.000 0 0 0 221 221 221 222 222 222 0 0 0
#P user number~ 149 177 188 192 9 3 3 2 0.000 0.000 0 0.000 250 0.000 0 0 0 221 221 221 222 222 222 0 0 0
#P user number~ 104 177 143 192 9 3 3 2 0.000 0.000 0 0.000 250 0.000 0 0 0 221 221 221 222 222 222 0 0 0
#N vpatcher 43 74 603 295
#P outlet 353 129 15 0
#P outlet 252 129 15 0
#P outlet 151 129 15 0
#P outlet 50 129 15 0
#P window setfont “Sans Serif” 9.000
#P newex 353 84 81 196617 route /signal/4
#P newex 252 84 81 196617 route /signal/3
#P newex 151 84 81 196617 route /signal/2
#P newex 50 84 81 196617 route /signal/1
#P inlet 50 30 15 0
#P connect 0 0 1 0
#P connect 1 0 5 0
#P connect 0 0 2 0
#P connect 2 0 6 0
#P connect 0 0 3 0
#P connect 3 0 7 0
#P connect 0 0 4 0
#P connect 4 0 8 0
#P pop
#P newobj 104 148 145 196617 p multicable.out
#N vpatcher 43 74 579 316
#P window setfont “Sans Serif” 9.000
#P newex 353 50 92 196617 prepend /signal/4
#P newex 252 50 92 196617 prepend /signal/3
#P newex 151 50 92 196617 prepend /signal/2
#P newex 50 50 92 196617 prepend /signal/1
#P inlet 50 30 15 0
#P inlet 151 30 15 0
#P inlet 252 30 15 0
#P inlet 353 30 15 0
#P outlet 50 125 15 0
#P connect 4 0 5 0
#P connect 5 0 0 0
#P connect 6 0 0 0
#P connect 7 0 0 0
#P connect 8 0 0 0
#P connect 3 0 6 0
#P connect 2 0 7 0
#P connect 1 0 8 0
#P pop
#P newobj 104 121 145 196617 p multicable.in
#P newex 239 90 38 196617 sig~ 8
#P newex 194 90 38 196617 sig~ 4
#P newex 149 90 38 196617 sig~ 2
#P newex 104 90 38 196617 sig~ 1
#P newex 308 274 44 196617 rect~ 2
#P connect 0 0 11 3
#P connect 12 3 19 0
#P connect 15 0 11 2
#P connect 20 0 15 0
#P connect 6 3 10 0
#P connect 4 0 5 3
#P connect 12 2 17 0
#P connect 6 2 9 0
#P connect 3 0 5 2
#P connect 26 0 21 1
#P connect 24 0 26 0
#P connect 14 0 11 1
#P connect 12 1 18 0
#P connect 6 1 8 0
#P connect 2 0 5 1
#P connect 22 1 27 1
#P connect 22 0 27 0
#P connect 21 0 22 0
#P connect 25 0 21 0
#P connect 23 0 25 0
#P connect 12 0 16 0
#P connect 11 0 12 0
#P connect 13 0 11 0
#P connect 6 0 7 0
#P connect 5 0 6 0
#P connect 1 0 5 0
#P window clipboard copycount 28