aboutsummaryrefslogtreecommitdiff
path: root/help/help-ambi_decode2.pd
diff options
context:
space:
mode:
Diffstat (limited to 'help/help-ambi_decode2.pd')
-rw-r--r--help/help-ambi_decode2.pd97
1 files changed, 97 insertions, 0 deletions
diff --git a/help/help-ambi_decode2.pd b/help/help-ambi_decode2.pd
new file mode 100644
index 0000000..c1c998b
--- /dev/null
+++ b/help/help-ambi_decode2.pd
@@ -0,0 +1,97 @@
+#N canvas 82 3 844 643 10;
+#X obj 38 441 print;
+#X text 454 156 1.arg: <float> ambisonic order;
+#X obj 38 418 round_zero 1e-006;
+#X text 297 312 ambisonic-order = n_ao;
+#X text 485 387 ambisonic-order-group;
+#X text 273 428 -90 <= delta <= +90;
+#X text 273 440 -180 <= phi <= +180;
+#X text 214 387 input: <ambi_weight> one mul-factor for each;
+#X text 21 12 ambi_decode;
+#X text 105 12 calculates a decoder-matrix;
+#X obj 38 33 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246
+-1;
+#X text 214 336 input: <ls> index + phi [degree] .. 2-dimensional;
+#X text 214 346 input: <ls> index + delta + phi [degree] .. 3-dimensional
+;
+#X text 214 360 input: <phls> index + phi [degree .. 2-dimensional
+;
+#X text 214 371 input: <phls> index + delta + phi [degree] .. 3-dimensional
+;
+#X text 238 518 <float> n_col = (2*n_ao+1) = number of ambisonic-channels
+;
+#X text 226 527 + <float> n_row = (n_ls) = number of loudspeakers;
+#X text 466 313 number of loudspeakers = n_ls;
+#X text 229 587 + <float> n_row = (n_ls) = number of loudspeakers;
+#X text 214 568 output in case of 3d: <matrix> ((n_ao+1)*(n_ao+1)*n_ls+2)
+;
+#X text 212 507 output in case of 2d: <matrix> ((2*n_ao+1)*n_ls+2)
+;
+#X text 559 568 <float> :;
+#X text 516 506 <float> :;
+#X text 456 578 number of ambisonic-channels;
+#X text 241 578 <float> n_col = (n_ao+1)*(n_ao+1) =;
+#X text 427 597 <float> elements of a matrix;
+#X text 229 597 + (n_ao + 1) * (n_ao + 1) * n_ls;
+#X text 226 537 + (2*n_ao + 1) * n_ls <float> elements of a matrix
+;
+#X text 207 460 input: <pinv> calculates the pseudo-inverse of the
+encoded;
+#X text 263 471 loudspeaker-positions (+ the phantom-speakers);
+#X text 277 482 and output a matrix-message;
+#X text 288 417 1 <= index <= n_ao;
+#X text 544 268 a regular matrix to inverse it);
+#X text 375 399 to suppress the side-lobe-phenomena;
+#X text 467 258 (it is sometimes necessary to add phantom-ls. for achieving
+;
+#X msg 38 372 pseudo_inverse;
+#X msg 234 128 ambi_weight 1 1 1 0.3904;
+#X msg 108 129 ambi_weight 1 1 1 1;
+#X msg 123 104 mirror_weight 0.7;
+#X obj 94 178 pp ind_ls;
+#X msg 94 155 1 90 0 \, 2 45 45 \, 3 45 135 \, 4 45 225 \, 5 45 315
+;
+#X obj 38 396 ambi_decode2 3 3 5 8 1;
+#X obj 80 243 pp mrg_ls;
+#X msg 80 208 1 0 0 \, 2 0 45 \, 3 0 90 \, 4 0 135 \, 5 0 180 \, 6
+0 225 \, 7 0 270 \, 8 0 315;
+#X obj 66 300 pp mir_ls;
+#X msg 66 265 1 -45 0 \, 2 -45 45 \, 3 -45 90 \, 4 -45 135 \, 5 -45
+180 \, 6 -45 225 \, 7 -45 270 \, 8 -45 315;
+#X obj 52 346 pp pht_ls;
+#X msg 52 323 1 -90 0;
+#X obj 38 77 t b b b b b b b;
+#X text 469 174 (1 .. 5 in case of 3 dimensional);
+#X text 469 165 (1 .. 12 in case of 2 dimensional);
+#X text 455 196 3.arg: <float> number of independent loudspeakers;
+#X text 454 184 2.arg: <float> dimension (2 or 3);
+#X text 454 247 5.arg: <float> number of canceled phantom_loudspeakers
+;
+#X text 455 208 4.arg: <float> number of merged and mirrored loudspeakers
+;
+#X text 501 221 (the merged loudspeakers are at the border of the arc
+;
+#X text 514 233 or the hemisphere \, the mirrored loudspeakers are
+;
+#X connect 2 0 0 0;
+#X connect 10 0 48 0;
+#X connect 35 0 41 0;
+#X connect 36 0 41 0;
+#X connect 37 0 41 0;
+#X connect 38 0 41 0;
+#X connect 39 0 41 0;
+#X connect 40 0 39 0;
+#X connect 41 0 2 0;
+#X connect 42 0 41 0;
+#X connect 43 0 42 0;
+#X connect 44 0 41 0;
+#X connect 45 0 44 0;
+#X connect 46 0 41 0;
+#X connect 47 0 46 0;
+#X connect 48 0 35 0;
+#X connect 48 1 47 0;
+#X connect 48 2 45 0;
+#X connect 48 3 43 0;
+#X connect 48 4 40 0;
+#X connect 48 5 37 0;
+#X connect 48 6 38 0;