From e5a3c99d0f46d825a5550e88a0906f900e31be52 Mon Sep 17 00:00:00 2001 From: musil Date: Thu, 9 Mar 2006 17:05:43 +0000 Subject: initial version JAN_06 with all sources svn path=/trunk/externals/iem/iem_ambi/; revision=4668 --- help/help-ambi_decode3.pd | 150 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 help/help-ambi_decode3.pd (limited to 'help/help-ambi_decode3.pd') diff --git a/help/help-ambi_decode3.pd b/help/help-ambi_decode3.pd new file mode 100644 index 0000000..acc1c6d --- /dev/null +++ b/help/help-ambi_decode3.pd @@ -0,0 +1,150 @@ +#N canvas 4 4 856 655 10; +#X obj 60 572 print; +#X text 513 156 1.arg: ambisonic order; +#X obj 60 549 round_zero 1e-006; +#X text 348 312 ambisonic-order = n_ao; +#X text 536 387 ambisonic-order-group; +#X text 324 428 -90 <= delta <= +90; +#X text 324 440 -180 <= phi <= +180; +#X text 265 387 input: 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 265 336 input: index + phi [degree] .. 2-dimensional; +#X text 265 346 input: index + delta + phi [degree] .. 3-dimensional +; +#X text 265 360 input: index + phi [degree .. 2-dimensional +; +#X text 265 371 input: index + delta + phi [degree] .. 3-dimensional +; +#X text 289 518 n_col = (2*n_ao+1) = number of ambisonic-channels +; +#X text 277 527 + n_row = (n_ls) = number of loudspeakers; +#X text 517 313 number of loudspeakers = n_ls; +#X text 280 587 + n_row = (n_ls) = number of loudspeakers; +#X text 265 568 output in case of 3d: ((n_ao+1)*(n_ao+1)*n_ls+2) +; +#X text 263 507 output in case of 2d: ((2*n_ao+1)*n_ls+2) +; +#X text 610 568 :; +#X text 567 506 :; +#X text 507 578 number of ambisonic-channels; +#X text 292 578 n_col = (n_ao+1)*(n_ao+1) =; +#X text 478 597 elements of a matrix; +#X text 280 597 + (n_ao + 1) * (n_ao + 1) * n_ls; +#X text 277 537 + (2*n_ao + 1) * n_ls elements of a matrix +; +#X text 258 460 input: calculates the pseudo-inverse of the +encoded; +#X text 314 471 loudspeaker-positions (+ the phantom-speakers); +#X text 328 482 and output a matrix-message; +#X text 339 417 1 <= index <= n_ao; +#X text 603 268 a regular matrix to inverse it); +#X text 426 399 to suppress the side-lobe-phenomena; +#X text 526 258 (it is sometimes necessary to add phantom-ls. for achieving +; +#X msg 272 130 ambi_weight 1 1 1 0.3904; +#X msg 123 129 ambi_weight 1 1 1 1; +#X msg 138 106 mirror_weight 0.7; +#X obj 94 237 pp pht_ls; +#X obj 38 77 t b b b b b b b; +#X text 528 174 (1 .. 5 in case of 3 dimensional); +#X text 528 165 (1 .. 12 in case of 2 dimensional); +#X text 514 196 3.arg: number of independent loudspeakers; +#X text 513 184 2.arg: dimension (2 or 3); +#X text 513 247 5.arg: number of canceled phantom_loudspeakers +; +#X text 514 208 4.arg: number of merged and mirrored loudspeakers +; +#X text 560 221 (the merged loudspeakers are at the border of the arc +; +#X text 573 233 or the hemisphere \, the mirrored loudspeakers are +; +#X obj 742 385 pp ind_ls; +#X msg 742 362 1 90 0 \, 2 45 45 \, 3 45 135 \, 4 45 225 \, 5 45 315 +; +#X obj 728 450 pp mrg_ls; +#X msg 728 415 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 714 507 pp mir_ls; +#X msg 714 472 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 700 553 pp pht_ls; +#X msg 700 530 1 -90 0; +#X msg 108 155 1 90 0 \, 2 45 45 \, 3 45 135 \, 4 45 225 \, 5 45 315 +\, 6 0 0 \, 7 0 45 \, 8 0 90 \, 9 0 135 \, 10 0 180 \, 11 0 225 \, +12 0 270 \, 13 0 315; +#X obj 108 190 pp real_ls; +#X msg 80 263 begin_pseudo_inverse; +#X obj 60 527 ambi_decode3 3 3 13 6; +#X msg 30 501 end_pseudo_inverse; +#X msg 94 215 1 -45 0 \, 2 -45 90 \, 3 -45 180 \, 4 -45 270 \, 6 -90 +0; +#X msg 47 476 ipht_ireal_muladd \$1 \$2 \$3; +#N canvas 337 146 559 509 /SUBPATCH/ 0; +#X msg 142 186 1 6 \$1; +#X obj 102 58 inlet; +#X obj 101 441 outlet; +#X obj 162 59 inlet; +#X obj 71 135 f; +#X obj 103 135 f; +#X obj 157 106 * 0.25; +#X obj 214 106 * 0.5; +#X msg 163 211 2 8 \$1; +#X msg 40 187 1 13 \$1 \, 1 7 \$1; +#X msg 61 212 2 7 \$1 \, 2 9 \$1; +#X msg 179 241 3 10 \$1; +#X msg 77 242 3 9 \$1 \, 3 11 \$1; +#X msg 199 271 4 12 \$1; +#X msg 87 271 4 11 \$1 \, 4 13 \$1; +#X obj 162 81 route mirror_weight; +#X connect 0 0 2 0; +#X connect 1 0 4 0; +#X connect 1 0 5 0; +#X connect 3 0 15 0; +#X connect 4 0 9 0; +#X connect 4 0 10 0; +#X connect 4 0 12 0; +#X connect 4 0 14 0; +#X connect 5 0 0 0; +#X connect 5 0 8 0; +#X connect 5 0 11 0; +#X connect 5 0 13 0; +#X connect 6 0 4 1; +#X connect 7 0 5 1; +#X connect 8 0 2 0; +#X connect 9 0 2 0; +#X connect 10 0 2 0; +#X connect 11 0 2 0; +#X connect 12 0 2 0; +#X connect 13 0 2 0; +#X connect 14 0 2 0; +#X connect 15 0 7 0; +#X connect 15 0 6 0; +#X restore 47 436 pd; +#X connect 2 0 0 0; +#X connect 10 0 39 0; +#X connect 35 0 59 0; +#X connect 36 0 59 0; +#X connect 37 0 63 1; +#X connect 38 0 59 0; +#X connect 39 0 60 0; +#X connect 39 1 63 0; +#X connect 39 2 58 0; +#X connect 39 3 61 0; +#X connect 39 4 56 0; +#X connect 39 5 36 0; +#X connect 39 6 37 0; +#X connect 49 0 48 0; +#X connect 51 0 50 0; +#X connect 53 0 52 0; +#X connect 55 0 54 0; +#X connect 56 0 57 0; +#X connect 57 0 59 0; +#X connect 58 0 59 0; +#X connect 59 0 2 0; +#X connect 60 0 59 0; +#X connect 61 0 38 0; +#X connect 62 0 59 0; +#X connect 63 0 62 0; -- cgit v1.2.1