#N canvas 61 48 860 672 10; #X obj 374 243 ambi_encode 2; #X obj 374 288 print; #X text 478 247 1.arg: ambisonic order; #X text 489 259 (1 .. 12 for 2 dimensional use); #X msg 461 178 col 2 \$1; #X msg 425 97 row 1 \$1; #X msg 288 211 col 3 \$1 \$2; #X obj 288 188 pack 0 0; #X obj 306 166 t b f; #X obj 374 265 round_zero 1e-006; #X obj 184 193 pack 0 0; #X obj 202 171 t b f; #X floatatom 100 161 5 -180 180 0 - - -; #X floatatom 51 162 5 -90 90 0 - - -; #X obj 82 222 pack 0 0; #X obj 100 200 t b f; #X text 48 143 delta; #X text 102 142 phi; #X text 21 12 ambi_encode; #X text 34 291 ambisonic-order = n_ao; #X text 346 320 -> output: of (2*n_ao+1) ; #X text 346 331 -> output: of (n_ao+1)*(n_ao+1) ; #X text 387 356 -> output: + index + (2*n_ao+1) ; #X text 387 368 -> output: + index + (n_ao+1)*(n_ao+1) ; #X text 383 394 -> output: + index + (2*n_ao+1) ; #X text 383 406 -> output: + index + (n_ao+1)*(n_ao+1) ; #X text 432 424 for crossfading of 2 ambisonic-systems; #X msg 605 183 ambi_weight 1 1 1; #X msg 588 162 ambi_weight 1 1 0.3904; #X text 299 424 ambisonic-order-group; #X text 89 452 -90 <= delta <= +90; #X text 89 464 -180 <= phi <= +180; #X text 415 439 or for bluring a signal-source-direction; #X text 31 506 order of ambisonic-channels in 2d-case: W X1 Y1 X2 Y2 X3 Y3; #X text 391 506 X4 Y4 X5 Y5 ....; #X text 167 520 W := 1 \, X-term ... cos(i*phi) \, Y-term ... sin(i*phi) ; #X text 30 560 order of ambisonic-channels in 3d-case: W Z1X1 Z1Y1 Z1; #X text 358 560 Z2X2 Z2Y2 Z2X1 Z2Y1 Z2 Z3X3 Z3Y3 Z3X2 Z3Y2 Z3X1 Z3Y1 Z3 ...; #X text 166 574 W := 1 \, X-term ... cos(i*phi) \, Y-term ... sin(i*phi) \,; #X text 489 574 Z-term ... cos(j*delta)*sin(k*delta); #X text 33 318 input: phi [degree] .. 2-dimensional; #X text 33 331 input: delta + phi [degree] .. 3-dimensional ; #X text 33 356 input: index + phi [degree] .. 2-dimensional; #X text 34 368 input: index + delta + phi [degree] .. 3-dimensional ; #X text 31 395 input: index + phi [degree .. 2-dimensional; #X text 31 407 input: index + delta + phi [degree] .. 3-dimensional ; #X text 31 424 input: one mul-factor for each; #X text 267 492 |0| 1 | 2 | 3 | 4 | 5 |; #X text 687 549 |; #X text 263 547 |0| 1 | 2 | 3; #X floatatom 226 142 5 -180 180 0 - - -; #X floatatom 177 143 5 -90 90 0 - - -; #X text 174 124 delta; #X text 228 123 phi; #X floatatom 327 139 5 -180 180 0 - - -; #X floatatom 278 140 5 -90 90 0 - - -; #X text 275 121 delta; #X text 329 120 phi; #X floatatom 370 65 5 -180 180 0 - - -; #X text 372 46 phi; #X floatatom 425 79 5 -180 180 0 - - -; #X text 427 60 phi; #X floatatom 461 160 5 -180 180 0 - - -; #X text 463 141 phi; #X text 491 272 (1 .. 5 for 3 dimensional use); #X msg 184 218 row 4 \$1 \$2; #X text 112 12 calculates a row or column of a ambisonic-encoder-matrix ; #X text 82 849 "float"-message: azimuth-angle phi [degree] -> two-dimensional ambisonic-system -> output a of (2*n_ao + 1) elements; #X text 478 850 "list"-message: 1.item elevation-angle delta [degree] \, 2.item azimuth-angle phi [degree] -> three-dimensional ambisonic-system -> output a of (n_ao + 1)^2 elements ; #X text 87 914 "row"-message: row-index of ambisonic-encoder-matrix \, azimuth-angle phi [degree] -> two-dimensional ambisonic-system -> output a "row"-message + row-index + (2*n_ao + 1) elements; #X text 480 919 "row"-message: 1.item elevation-angle delta [degree] \, 2.item azimuth-angle phi [degree] -> three-dimensional ambisonic-system -> output a of (n_ao + 1)^2 elements ; #X text 105 441 1 <= index <= nr_sources; #N canvas 0 0 860 478 3D-5.Order-example 0; #X obj 78 97 pack 0 0; #X floatatom 78 55 5 -90 90 0 - - -; #X floatatom 121 56 5 -180 180 0 - - -; #X text 63 24 delta; #X text 44 38 -90 .. +90; #X text 147 26 phi; #X text 120 40 -180 .. +180; #X obj 96 76 t b f; #X obj 97 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 9439 1; #X obj 107 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 6442 1; #X obj 117 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 3208 1; #X obj 127 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 137 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 147 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 157 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 167 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 177 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 187 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 197 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 207 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 217 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 227 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 237 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 247 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 257 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 267 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 277 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 287 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 297 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 307 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 317 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 327 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 87 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 10000 1; #X obj 422 89 ambi_encode 4; #X floatatom 422 68 5 -180 180 0 - - -; #X text 434 31 phi; #X text 407 45 -180 .. +180; #X obj 142 202 print 3d; #X obj 422 132 print 2d; #X obj 78 201 route row; #X obj 142 180 round_zero 1e-006; #X floatatom 42 244 5 0 0 0 - - -; #X obj 78 124 pp row 7; #X text 13 254 row-index; #X obj 422 111 round_zero 1e-006; #X text 448 260 +1; #X text 448 360 -1; #X text 451 311 0; #X obj 78 151 ambi_encode 5; #X obj 78 222 unpack 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; #X obj 337 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 347 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 357 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 367 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 377 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 387 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 397 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 407 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 417 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 427 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X obj 437 268 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280 -1109 -1 5000 1; #X msg 260 57 ambi_weight 1 1 1 1 1 1; #X msg 260 95 ambi_weight 1 1 1 1 0 0; #X msg 260 114 ambi_weight 1 1 1 0 0 0; #X msg 260 134 ambi_weight 1 1 0 0 0 0; #X msg 260 154 ambi_weight 1 0 0 0 0 0; #X msg 260 76 ambi_weight 1 1 1 1 1 0; #X connect 0 0 42 0; #X connect 1 0 0 0; #X connect 2 0 7 0; #X connect 7 0 0 0; #X connect 7 1 0 1; #X connect 33 0 44 0; #X connect 34 0 33 0; #X connect 39 0 49 0; #X connect 40 0 37 0; #X connect 42 0 48 0; #X connect 44 0 38 0; #X connect 48 0 39 0; #X connect 48 0 40 0; #X connect 49 0 41 0; #X connect 49 1 32 0; #X connect 49 2 8 0; #X connect 49 3 9 0; #X connect 49 4 10 0; #X connect 49 5 11 0; #X connect 49 6 12 0; #X connect 49 7 13 0; #X connect 49 8 14 0; #X connect 49 9 15 0; #X connect 49 10 16 0; #X connect 49 11 17 0; #X connect 49 12 18 0; #X connect 49 13 19 0; #X connect 49 14 20 0; #X connect 49 15 21 0; #X connect 49 16 22 0; #X connect 49 17 23 0; #X connect 49 18 24 0; #X connect 49 19 25 0; #X connect 49 20 26 0; #X connect 49 21 27 0; #X connect 49 22 28 0; #X connect 49 23 29 0; #X connect 49 24 30 0; #X connect 49 25 31 0; #X connect 49 26 50 0; #X connect 49 27 51 0; #X connect 49 28 52 0; #X connect 49 29 53 0; #X connect 49 30 54 0; #X connect 49 31 55 0; #X connect 49 32 56 0; #X connect 49 33 57 0; #X connect 49 34 58 0; #X connect 49 35 59 0; #X connect 49 36 60 0; #X connect 61 0 48 0; #X connect 62 0 48 0; #X connect 63 0 48 0; #X connect 64 0 48 0; #X connect 65 0 48 0; #X connect 66 0 48 0; #X restore 538 61 pd 3D-5.Order-example; #X connect 0 0 9 0; #X connect 4 0 0 0; #X connect 5 0 0 0; #X connect 6 0 0 0; #X connect 7 0 6 0; #X connect 8 0 7 0; #X connect 8 1 7 1; #X connect 9 0 1 0; #X connect 10 0 65 0; #X connect 11 0 10 0; #X connect 11 1 10 1; #X connect 12 0 15 0; #X connect 13 0 14 0; #X connect 14 0 0 0; #X connect 15 0 14 0; #X connect 15 1 14 1; #X connect 27 0 0 0; #X connect 28 0 0 0; #X connect 50 0 11 0; #X connect 51 0 10 0; #X connect 54 0 8 0; #X connect 55 0 7 0; #X connect 58 0 0 0; #X connect 60 0 5 0; #X connect 62 0 4 0; #X connect 65 0 0 0;