From 4609252fd810cb6146b0b019ba79003a20a00091 Mon Sep 17 00:00:00 2001 From: musil Date: Fri, 10 Mar 2006 01:54:50 +0000 Subject: help to the end of names of help-patches svn path=/trunk/externals/iem/iem_ambi/; revision=4680 --- help/ambi_decode-help.pd | 247 ++++++++++++++++++++++++++++++++++++++++ help/ambi_decode2-help.pd | 97 ++++++++++++++++ help/ambi_decode3-help.pd | 150 ++++++++++++++++++++++++ help/ambi_encode-help.pd | 283 ++++++++++++++++++++++++++++++++++++++++++++++ help/ambi_rot-help.pd | 80 +++++++++++++ help/help-ambi_decode.pd | 247 ---------------------------------------- help/help-ambi_decode2.pd | 97 ---------------- help/help-ambi_decode3.pd | 150 ------------------------ help/help-ambi_encode.pd | 283 ---------------------------------------------- help/help-ambi_rot.pd | 80 ------------- help/test-ambi_rot.pd | 80 ------------- 11 files changed, 857 insertions(+), 937 deletions(-) create mode 100644 help/ambi_decode-help.pd create mode 100644 help/ambi_decode2-help.pd create mode 100644 help/ambi_decode3-help.pd create mode 100644 help/ambi_encode-help.pd create mode 100644 help/ambi_rot-help.pd delete mode 100644 help/help-ambi_decode.pd delete mode 100644 help/help-ambi_decode2.pd delete mode 100644 help/help-ambi_decode3.pd delete mode 100644 help/help-ambi_encode.pd delete mode 100644 help/help-ambi_rot.pd delete mode 100644 help/test-ambi_rot.pd diff --git a/help/ambi_decode-help.pd b/help/ambi_decode-help.pd new file mode 100644 index 0000000..93ce8e3 --- /dev/null +++ b/help/ambi_decode-help.pd @@ -0,0 +1,247 @@ +#N canvas 117 18 719 674 10; +#X obj 47 249 print; +#X text 291 171 1.arg: ambisonic order; +#X text 306 180 (1 .. 12 for 2 dimensional use); +#X obj 47 226 round_zero 1e-006; +#X text 117 310 ambisonic-order = n_ao; +#X msg 150 170 ambi_weight 1 1 1; +#X msg 133 149 ambi_weight 1 1 0.3904; +#X text 305 385 ambisonic-order-group; +#X text 98 416 -90 <= delta <= +90; +#X text 98 428 -180 <= phi <= +180; +#X text 34 385 input: one mul-factor for each; +#X text 21 12 ambi_decode; +#X text 105 12 calculates a decoder-matrix; +#X obj 47 204 ambi_decode 2 2 5 0; +#X text 291 199 2.arg: dimension; +#X text 440 199 (2 or 3); +#X text 291 211 3.arg: number of real loudspeakers; +#X text 305 222 (best results \, if n_ls = n_ambi_channels); +#X text 316 232 (could be more or less); +#X text 292 243 4.arg: number of phantom_loudspeakers; +#X text 334 254 (optional \, default 0); +#X msg 46 116 pinv; +#X obj 59 90 t b b; +#X obj 59 46 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 +-1; +#X text 34 334 input: index + phi [degree] .. 2-dimensional; +#X text 34 344 input: index + delta + phi [degree] .. 3-dimensional +; +#X text 34 358 input: index + phi [degree .. 2-dimensional; +#X text 34 369 input: index + delta + phi [degree] .. 3-dimensional +; +#X text 63 525 n_col = (2*n_ao+1) = number of ambisonic-channels +; +#X text 51 534 + n_row = (n_ls) = number of loudspeakers; +#X text 286 311 number of loudspeakers = n_ls; +#X text 51 594 + n_row = (n_ls) = number of loudspeakers; +#X text 36 575 output in case of 3d: ((n_ao+1)*(n_ao+1)*n_ls+2) +; +#X text 37 514 output in case of 2d: ((2*n_ao+1)*n_ls+2); +#X text 384 575 :; +#X text 341 513 :; +#X text 281 585 number of ambisonic-channels; +#X text 63 585 n_col = (n_ao+1)*(n_ao+1) =; +#X text 252 604 elements of a matrix; +#X text 51 604 + (n_ao + 1) * (n_ao + 1) * n_ls; +#X text 51 544 + (2*n_ao + 1) * n_ls elements of a matrix; +#X text 34 458 input: calculates the pseudo-inverse of the encoded +; +#X text 90 469 loudspeaker-positions (+ the phantom-speakers); +#X text 104 480 and output a matrix-message; +#X text 306 189 (1 .. 5 for 3 dimensional use); +#X msg 95 116 ls 1 0 \, ls 2 72 \, ls 3 144 \, ls 4 216 \, ls 5 288 +; +#X text 113 405 1 <= index <= n_ao; +#X text 340 275 a regular matrix to inverse it); +#X text 437 384 to suppress the side-lobe-phenomena; +#X text 308 265 (it is sometimes necessary to add phantom-ls. for achieving +; +#N canvas 0 0 812 677 phantom_example 0; +#X obj 57 631 print; +#X obj 57 608 round_zero 1e-006; +#X msg 57 94 pinv; +#X obj 70 24 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 +-1; +#X msg 198 72 ls 1 5 \, ls 2 2.5 \, ls 3 0 \, ls 4 -2.5 \, ls 5 -5 +; +#X msg 92 176 phls 5 -17.5 \, phls 6 -20 \, phls 7 -22.5 \, phls 8 +-25; +#X msg 92 200 phls 9 -27.5 \, phls 10 -30 \, phls 11 -32.5 \, phls +12 -35; +#X msg 92 223 phls 13 -37.5 \, phls 14 -40 \, phls 15 -42.5 \, phls +16 -45; +#X msg 92 247 phls 17 -47.5 \, phls 18 -50 \, phls 19 -52.5 \, phls +20 -55; +#X msg 92 270 phls 21 -57.5 \, phls 22 -60 \, phls 23 -62.5 \, phls +24 -65; +#X msg 92 294 phls 25 -67.5 \, phls 26 -70 \, phls 27 -72.5 \, phls +28 -75; +#X msg 92 317 phls 29 -77.5 \, phls 30 -80 \, phls 31 -82.5 \, phls +32 -85; +#X msg 92 340 phls 33 -87.5 \, phls 34 -90 \, phls 35 -92.5 \, phls +36 -95; +#X msg 92 364 phls 37 -97.5 \, phls 38 -100 \, phls 39 -102.5 \, phls +40 -105; +#X msg 92 387 phls 41 -107.5 \, phls 42 -110 \, phls 43 -112.5 \, phls +44 -115; +#X msg 92 411 phls 45 -117.5 \, phls 46 -120 \, phls 47 -122.5 \, phls +48 -125; +#X msg 92 434 phls 49 -127.5 \, phls 50 -130 \, phls 51 -132.5 \, phls +52 -135; +#X msg 92 456 phls 53 -137.5 \, phls 54 -140 \, phls 55 -142.5 \, phls +56 -145; +#X msg 92 480 phls 57 -147.5 \, phls 58 -150 \, phls 59 -152.5 \, phls +60 -155; +#X msg 92 503 phls 61 -157.5 \, phls 62 -160 \, phls 63 -162.5 \, phls +64 -165; +#X msg 92 527 phls 65 -167.5 \, phls 66 -170 \, phls 67 -172.5 \, phls +68 -175; +#X msg 92 550 phls 69 -177.5 \, phls 70 -180 \, phls 71 177.5 \, phls +72 175; +#X msg 497 228 phls 73 172.5 \, phls 74 170 \, phls 75 167.5 \, phls +76 165; +#X msg 497 249 phls 77 162.5 \, phls 78 160 \, phls 79 157.5 \, phls +80 155; +#X msg 497 270 phls 81 152.5 \, phls 82 150 \, phls 83 147.5 \, phls +84 145; +#X msg 497 290 phls 85 142.5 \, phls 86 140 \, phls 87 137.5 \, phls +88 135; +#X msg 497 312 phls 89 132.5 \, phls 90 130 \, phls 91 127.5 \, phls +92 125; +#X msg 497 333 phls 93 122.5 \, phls 94 120 \, phls 95 117.5 \, phls +96 115; +#X msg 497 354 phls 97 112.5 \, phls 98 110 \, phls 99 107.5 \, phls +100 105; +#X msg 497 375 phls 101 102.5 \, phls 102 100 \, phls 103 97.5 \, phls +104 95; +#X msg 497 396 phls 105 92.5 \, phls 106 90 \, phls 107 87.5 \, phls +108 85; +#X msg 497 418 phls 109 82.5 \, phls 110 80 \, phls 111 77.5 \, phls +112 75; +#X msg 497 439 phls 113 72.5 \, phls 114 70 \, phls 115 67.5 \, phls +116 65; +#X msg 497 460 phls 117 62.5 \, phls 118 60 \, phls 119 57.5 \, phls +120 55; +#X msg 497 481 phls 121 52.5 \, phls 122 50 \, phls 123 47.5 \, phls +124 45; +#X msg 497 502 phls 125 42.5 \, phls 126 40 \, phls 127 37.5 \, phls +128 35; +#X msg 497 524 phls 129 32.5 \, phls 130 30 \, phls 131 27.5 \, phls +132 25; +#X msg 497 545 phls 133 22.5 \, phls 134 20 \, phls 135 17.5 \, phls +136 15; +#X msg 497 566 phls 137 12.5 \, phls 138 10 \, phls 139 7.5; +#X obj 70 68 t b b b b; +#X obj 92 127 t b; +#X obj 497 206 t b; +#X obj 57 586 ambi_decode 2 2 5 139; +#X msg 92 152 phls 1 -7.5 \, phls 2 -10 \, phls 3 -12.5 \, phls 4 -15 +; +#X connect 1 0 0 0; +#X connect 2 0 42 0; +#X connect 3 0 39 0; +#X connect 4 0 42 0; +#X connect 5 0 42 0; +#X connect 6 0 42 0; +#X connect 7 0 42 0; +#X connect 8 0 42 0; +#X connect 9 0 42 0; +#X connect 10 0 42 0; +#X connect 11 0 42 0; +#X connect 12 0 42 0; +#X connect 13 0 42 0; +#X connect 14 0 42 0; +#X connect 15 0 42 0; +#X connect 16 0 42 0; +#X connect 17 0 42 0; +#X connect 18 0 42 0; +#X connect 19 0 42 0; +#X connect 20 0 42 0; +#X connect 21 0 42 0; +#X connect 22 0 42 0; +#X connect 23 0 42 0; +#X connect 24 0 42 0; +#X connect 25 0 42 0; +#X connect 26 0 42 0; +#X connect 27 0 42 0; +#X connect 28 0 42 0; +#X connect 29 0 42 0; +#X connect 30 0 42 0; +#X connect 31 0 42 0; +#X connect 32 0 42 0; +#X connect 33 0 42 0; +#X connect 34 0 42 0; +#X connect 35 0 42 0; +#X connect 36 0 42 0; +#X connect 37 0 42 0; +#X connect 38 0 42 0; +#X connect 39 0 2 0; +#X connect 39 1 41 0; +#X connect 39 2 40 0; +#X connect 39 3 4 0; +#X connect 40 0 43 0; +#X connect 40 0 5 0; +#X connect 40 0 6 0; +#X connect 40 0 7 0; +#X connect 40 0 8 0; +#X connect 40 0 9 0; +#X connect 40 0 10 0; +#X connect 40 0 11 0; +#X connect 40 0 12 0; +#X connect 40 0 13 0; +#X connect 40 0 14 0; +#X connect 40 0 15 0; +#X connect 40 0 16 0; +#X connect 40 0 17 0; +#X connect 40 0 18 0; +#X connect 40 0 19 0; +#X connect 40 0 20 0; +#X connect 40 0 21 0; +#X connect 41 0 22 0; +#X connect 41 0 23 0; +#X connect 41 0 24 0; +#X connect 41 0 25 0; +#X connect 41 0 26 0; +#X connect 41 0 27 0; +#X connect 41 0 28 0; +#X connect 41 0 29 0; +#X connect 41 0 30 0; +#X connect 41 0 31 0; +#X connect 41 0 32 0; +#X connect 41 0 33 0; +#X connect 41 0 34 0; +#X connect 41 0 35 0; +#X connect 41 0 36 0; +#X connect 41 0 37 0; +#X connect 41 0 38 0; +#X connect 42 0 1 0; +#X connect 43 0 42 0; +#X restore 421 117 pd phantom_example regular; +#N canvas 0 0 814 679 real_example 0; +#X obj 58 293 print; +#X obj 58 270 round_zero 1e-006; +#X msg 57 94 pinv; +#X obj 70 24 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 +-1; +#X msg 103 115 ls 1 5 \, ls 2 2.5 \, ls 3 0 \, ls 4 -2.5 \, ls 5 -5 +; +#X obj 70 68 t b b; +#X obj 58 248 ambi_decode 2 2 5 0; +#X connect 1 0 0 0; +#X connect 2 0 6 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 5 1 4 0; +#X connect 6 0 1 0; +#X restore 421 90 pd real_example singular; +#X connect 3 0 0 0; +#X connect 5 0 13 0; +#X connect 6 0 13 0; +#X connect 13 0 3 0; +#X connect 21 0 13 0; +#X connect 22 0 21 0; +#X connect 22 1 45 0; +#X connect 23 0 22 0; +#X connect 45 0 13 0; diff --git a/help/ambi_decode2-help.pd b/help/ambi_decode2-help.pd new file mode 100644 index 0000000..c1c998b --- /dev/null +++ b/help/ambi_decode2-help.pd @@ -0,0 +1,97 @@ +#N canvas 82 3 844 643 10; +#X obj 38 441 print; +#X text 454 156 1.arg: 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: 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: index + phi [degree] .. 2-dimensional; +#X text 214 346 input: index + delta + phi [degree] .. 3-dimensional +; +#X text 214 360 input: index + phi [degree .. 2-dimensional +; +#X text 214 371 input: index + delta + phi [degree] .. 3-dimensional +; +#X text 238 518 n_col = (2*n_ao+1) = number of ambisonic-channels +; +#X text 226 527 + n_row = (n_ls) = number of loudspeakers; +#X text 466 313 number of loudspeakers = n_ls; +#X text 229 587 + n_row = (n_ls) = number of loudspeakers; +#X text 214 568 output in case of 3d: ((n_ao+1)*(n_ao+1)*n_ls+2) +; +#X text 212 507 output in case of 2d: ((2*n_ao+1)*n_ls+2) +; +#X text 559 568 :; +#X text 516 506 :; +#X text 456 578 number of ambisonic-channels; +#X text 241 578 n_col = (n_ao+1)*(n_ao+1) =; +#X text 427 597 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 elements of a matrix +; +#X text 207 460 input: 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: number of independent loudspeakers; +#X text 454 184 2.arg: dimension (2 or 3); +#X text 454 247 5.arg: number of canceled phantom_loudspeakers +; +#X text 455 208 4.arg: 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; diff --git a/help/ambi_decode3-help.pd b/help/ambi_decode3-help.pd new file mode 100644 index 0000000..acc1c6d --- /dev/null +++ b/help/ambi_decode3-help.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; diff --git a/help/ambi_encode-help.pd b/help/ambi_encode-help.pd new file mode 100644 index 0000000..b5e1632 --- /dev/null +++ b/help/ambi_encode-help.pd @@ -0,0 +1,283 @@ +#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; diff --git a/help/ambi_rot-help.pd b/help/ambi_rot-help.pd new file mode 100644 index 0000000..1d3baae --- /dev/null +++ b/help/ambi_rot-help.pd @@ -0,0 +1,80 @@ +#N canvas 44 25 730 500 10; +#X text 230 40 phi ... azimut \, positiv direction from nose to left +ear; +#X text 228 18 delta ... elevation \, positiv direction from nose to +top of the head; +#X floatatom 52 76 6 -180 180 0 - - -; +#X obj 29 76 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 128 76 6 -180 180 0 - - -; +#X text 129 59 rho_y; +#X text 54 59 rho_z; +#X floatatom 195 76 6 -180 180 0 - - -; +#X text 197 59 rho_x; +#X obj 127 149 pack 0 0 0; +#X obj 195 120 t b f; +#X obj 128 120 t b f; +#X obj 52 93 deg2rad; +#X obj 128 94 deg2rad; +#X obj 195 95 deg2rad; +#X text 241 6 AMBISONIC Encoder 4.Order 3-Dimensional; +#X text 254 73 umkehrung der matrizen multiplikation: funktioniert +nicht; +#X obj 63 393 print r1; +#X obj 174 390 print r2; +#X obj 292 389 print r3; +#X obj 407 387 print r4; +#X obj 63 342 mtx_mul; +#X obj 389 275 pack 0 0 0; +#X obj 389 214 unpack 0 0 0; +#X obj 389 237 * -1; +#X obj 126 172 t l l; +#X obj 174 341 mtx_mul; +#X obj 292 339 mtx_mul; +#X obj 407 338 mtx_mul; +#X obj 422 238 * -1; +#X obj 455 237 * -1; +#X obj 389 300 ambi_rot 4; +#X obj 63 244 ambi_rot 4; +#X text 10 8 ambi_rot; +#X obj 407 362 round_zero 0.0001; +#X obj 292 365 round_zero 0.0001; +#X obj 174 364 round_zero 0.0001; +#X obj 63 365 round_zero 0.0001; +#X connect 2 0 12 0; +#X connect 3 0 2 0; +#X connect 4 0 13 0; +#X connect 7 0 14 0; +#X connect 9 0 25 0; +#X connect 10 0 9 0; +#X connect 10 1 9 2; +#X connect 11 0 9 0; +#X connect 11 1 9 1; +#X connect 12 0 9 0; +#X connect 13 0 11 0; +#X connect 14 0 10 0; +#X connect 21 0 37 0; +#X connect 22 0 31 0; +#X connect 23 0 24 0; +#X connect 23 1 29 0; +#X connect 23 2 30 0; +#X connect 24 0 22 0; +#X connect 25 0 32 0; +#X connect 25 1 23 0; +#X connect 26 0 36 0; +#X connect 27 0 35 0; +#X connect 28 0 34 0; +#X connect 29 0 22 1; +#X connect 30 0 22 2; +#X connect 31 0 21 1; +#X connect 31 1 26 1; +#X connect 31 2 27 1; +#X connect 31 3 28 1; +#X connect 32 0 21 0; +#X connect 32 1 26 0; +#X connect 32 2 27 0; +#X connect 32 3 28 0; +#X connect 34 0 20 0; +#X connect 35 0 19 0; +#X connect 36 0 18 0; +#X connect 37 0 17 0; diff --git a/help/help-ambi_decode.pd b/help/help-ambi_decode.pd deleted file mode 100644 index 93ce8e3..0000000 --- a/help/help-ambi_decode.pd +++ /dev/null @@ -1,247 +0,0 @@ -#N canvas 117 18 719 674 10; -#X obj 47 249 print; -#X text 291 171 1.arg: ambisonic order; -#X text 306 180 (1 .. 12 for 2 dimensional use); -#X obj 47 226 round_zero 1e-006; -#X text 117 310 ambisonic-order = n_ao; -#X msg 150 170 ambi_weight 1 1 1; -#X msg 133 149 ambi_weight 1 1 0.3904; -#X text 305 385 ambisonic-order-group; -#X text 98 416 -90 <= delta <= +90; -#X text 98 428 -180 <= phi <= +180; -#X text 34 385 input: one mul-factor for each; -#X text 21 12 ambi_decode; -#X text 105 12 calculates a decoder-matrix; -#X obj 47 204 ambi_decode 2 2 5 0; -#X text 291 199 2.arg: dimension; -#X text 440 199 (2 or 3); -#X text 291 211 3.arg: number of real loudspeakers; -#X text 305 222 (best results \, if n_ls = n_ambi_channels); -#X text 316 232 (could be more or less); -#X text 292 243 4.arg: number of phantom_loudspeakers; -#X text 334 254 (optional \, default 0); -#X msg 46 116 pinv; -#X obj 59 90 t b b; -#X obj 59 46 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 --1; -#X text 34 334 input: index + phi [degree] .. 2-dimensional; -#X text 34 344 input: index + delta + phi [degree] .. 3-dimensional -; -#X text 34 358 input: index + phi [degree .. 2-dimensional; -#X text 34 369 input: index + delta + phi [degree] .. 3-dimensional -; -#X text 63 525 n_col = (2*n_ao+1) = number of ambisonic-channels -; -#X text 51 534 + n_row = (n_ls) = number of loudspeakers; -#X text 286 311 number of loudspeakers = n_ls; -#X text 51 594 + n_row = (n_ls) = number of loudspeakers; -#X text 36 575 output in case of 3d: ((n_ao+1)*(n_ao+1)*n_ls+2) -; -#X text 37 514 output in case of 2d: ((2*n_ao+1)*n_ls+2); -#X text 384 575 :; -#X text 341 513 :; -#X text 281 585 number of ambisonic-channels; -#X text 63 585 n_col = (n_ao+1)*(n_ao+1) =; -#X text 252 604 elements of a matrix; -#X text 51 604 + (n_ao + 1) * (n_ao + 1) * n_ls; -#X text 51 544 + (2*n_ao + 1) * n_ls elements of a matrix; -#X text 34 458 input: calculates the pseudo-inverse of the encoded -; -#X text 90 469 loudspeaker-positions (+ the phantom-speakers); -#X text 104 480 and output a matrix-message; -#X text 306 189 (1 .. 5 for 3 dimensional use); -#X msg 95 116 ls 1 0 \, ls 2 72 \, ls 3 144 \, ls 4 216 \, ls 5 288 -; -#X text 113 405 1 <= index <= n_ao; -#X text 340 275 a regular matrix to inverse it); -#X text 437 384 to suppress the side-lobe-phenomena; -#X text 308 265 (it is sometimes necessary to add phantom-ls. for achieving -; -#N canvas 0 0 812 677 phantom_example 0; -#X obj 57 631 print; -#X obj 57 608 round_zero 1e-006; -#X msg 57 94 pinv; -#X obj 70 24 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 --1; -#X msg 198 72 ls 1 5 \, ls 2 2.5 \, ls 3 0 \, ls 4 -2.5 \, ls 5 -5 -; -#X msg 92 176 phls 5 -17.5 \, phls 6 -20 \, phls 7 -22.5 \, phls 8 --25; -#X msg 92 200 phls 9 -27.5 \, phls 10 -30 \, phls 11 -32.5 \, phls -12 -35; -#X msg 92 223 phls 13 -37.5 \, phls 14 -40 \, phls 15 -42.5 \, phls -16 -45; -#X msg 92 247 phls 17 -47.5 \, phls 18 -50 \, phls 19 -52.5 \, phls -20 -55; -#X msg 92 270 phls 21 -57.5 \, phls 22 -60 \, phls 23 -62.5 \, phls -24 -65; -#X msg 92 294 phls 25 -67.5 \, phls 26 -70 \, phls 27 -72.5 \, phls -28 -75; -#X msg 92 317 phls 29 -77.5 \, phls 30 -80 \, phls 31 -82.5 \, phls -32 -85; -#X msg 92 340 phls 33 -87.5 \, phls 34 -90 \, phls 35 -92.5 \, phls -36 -95; -#X msg 92 364 phls 37 -97.5 \, phls 38 -100 \, phls 39 -102.5 \, phls -40 -105; -#X msg 92 387 phls 41 -107.5 \, phls 42 -110 \, phls 43 -112.5 \, phls -44 -115; -#X msg 92 411 phls 45 -117.5 \, phls 46 -120 \, phls 47 -122.5 \, phls -48 -125; -#X msg 92 434 phls 49 -127.5 \, phls 50 -130 \, phls 51 -132.5 \, phls -52 -135; -#X msg 92 456 phls 53 -137.5 \, phls 54 -140 \, phls 55 -142.5 \, phls -56 -145; -#X msg 92 480 phls 57 -147.5 \, phls 58 -150 \, phls 59 -152.5 \, phls -60 -155; -#X msg 92 503 phls 61 -157.5 \, phls 62 -160 \, phls 63 -162.5 \, phls -64 -165; -#X msg 92 527 phls 65 -167.5 \, phls 66 -170 \, phls 67 -172.5 \, phls -68 -175; -#X msg 92 550 phls 69 -177.5 \, phls 70 -180 \, phls 71 177.5 \, phls -72 175; -#X msg 497 228 phls 73 172.5 \, phls 74 170 \, phls 75 167.5 \, phls -76 165; -#X msg 497 249 phls 77 162.5 \, phls 78 160 \, phls 79 157.5 \, phls -80 155; -#X msg 497 270 phls 81 152.5 \, phls 82 150 \, phls 83 147.5 \, phls -84 145; -#X msg 497 290 phls 85 142.5 \, phls 86 140 \, phls 87 137.5 \, phls -88 135; -#X msg 497 312 phls 89 132.5 \, phls 90 130 \, phls 91 127.5 \, phls -92 125; -#X msg 497 333 phls 93 122.5 \, phls 94 120 \, phls 95 117.5 \, phls -96 115; -#X msg 497 354 phls 97 112.5 \, phls 98 110 \, phls 99 107.5 \, phls -100 105; -#X msg 497 375 phls 101 102.5 \, phls 102 100 \, phls 103 97.5 \, phls -104 95; -#X msg 497 396 phls 105 92.5 \, phls 106 90 \, phls 107 87.5 \, phls -108 85; -#X msg 497 418 phls 109 82.5 \, phls 110 80 \, phls 111 77.5 \, phls -112 75; -#X msg 497 439 phls 113 72.5 \, phls 114 70 \, phls 115 67.5 \, phls -116 65; -#X msg 497 460 phls 117 62.5 \, phls 118 60 \, phls 119 57.5 \, phls -120 55; -#X msg 497 481 phls 121 52.5 \, phls 122 50 \, phls 123 47.5 \, phls -124 45; -#X msg 497 502 phls 125 42.5 \, phls 126 40 \, phls 127 37.5 \, phls -128 35; -#X msg 497 524 phls 129 32.5 \, phls 130 30 \, phls 131 27.5 \, phls -132 25; -#X msg 497 545 phls 133 22.5 \, phls 134 20 \, phls 135 17.5 \, phls -136 15; -#X msg 497 566 phls 137 12.5 \, phls 138 10 \, phls 139 7.5; -#X obj 70 68 t b b b b; -#X obj 92 127 t b; -#X obj 497 206 t b; -#X obj 57 586 ambi_decode 2 2 5 139; -#X msg 92 152 phls 1 -7.5 \, phls 2 -10 \, phls 3 -12.5 \, phls 4 -15 -; -#X connect 1 0 0 0; -#X connect 2 0 42 0; -#X connect 3 0 39 0; -#X connect 4 0 42 0; -#X connect 5 0 42 0; -#X connect 6 0 42 0; -#X connect 7 0 42 0; -#X connect 8 0 42 0; -#X connect 9 0 42 0; -#X connect 10 0 42 0; -#X connect 11 0 42 0; -#X connect 12 0 42 0; -#X connect 13 0 42 0; -#X connect 14 0 42 0; -#X connect 15 0 42 0; -#X connect 16 0 42 0; -#X connect 17 0 42 0; -#X connect 18 0 42 0; -#X connect 19 0 42 0; -#X connect 20 0 42 0; -#X connect 21 0 42 0; -#X connect 22 0 42 0; -#X connect 23 0 42 0; -#X connect 24 0 42 0; -#X connect 25 0 42 0; -#X connect 26 0 42 0; -#X connect 27 0 42 0; -#X connect 28 0 42 0; -#X connect 29 0 42 0; -#X connect 30 0 42 0; -#X connect 31 0 42 0; -#X connect 32 0 42 0; -#X connect 33 0 42 0; -#X connect 34 0 42 0; -#X connect 35 0 42 0; -#X connect 36 0 42 0; -#X connect 37 0 42 0; -#X connect 38 0 42 0; -#X connect 39 0 2 0; -#X connect 39 1 41 0; -#X connect 39 2 40 0; -#X connect 39 3 4 0; -#X connect 40 0 43 0; -#X connect 40 0 5 0; -#X connect 40 0 6 0; -#X connect 40 0 7 0; -#X connect 40 0 8 0; -#X connect 40 0 9 0; -#X connect 40 0 10 0; -#X connect 40 0 11 0; -#X connect 40 0 12 0; -#X connect 40 0 13 0; -#X connect 40 0 14 0; -#X connect 40 0 15 0; -#X connect 40 0 16 0; -#X connect 40 0 17 0; -#X connect 40 0 18 0; -#X connect 40 0 19 0; -#X connect 40 0 20 0; -#X connect 40 0 21 0; -#X connect 41 0 22 0; -#X connect 41 0 23 0; -#X connect 41 0 24 0; -#X connect 41 0 25 0; -#X connect 41 0 26 0; -#X connect 41 0 27 0; -#X connect 41 0 28 0; -#X connect 41 0 29 0; -#X connect 41 0 30 0; -#X connect 41 0 31 0; -#X connect 41 0 32 0; -#X connect 41 0 33 0; -#X connect 41 0 34 0; -#X connect 41 0 35 0; -#X connect 41 0 36 0; -#X connect 41 0 37 0; -#X connect 41 0 38 0; -#X connect 42 0 1 0; -#X connect 43 0 42 0; -#X restore 421 117 pd phantom_example regular; -#N canvas 0 0 814 679 real_example 0; -#X obj 58 293 print; -#X obj 58 270 round_zero 1e-006; -#X msg 57 94 pinv; -#X obj 70 24 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 --1; -#X msg 103 115 ls 1 5 \, ls 2 2.5 \, ls 3 0 \, ls 4 -2.5 \, ls 5 -5 -; -#X obj 70 68 t b b; -#X obj 58 248 ambi_decode 2 2 5 0; -#X connect 1 0 0 0; -#X connect 2 0 6 0; -#X connect 3 0 5 0; -#X connect 4 0 6 0; -#X connect 5 0 2 0; -#X connect 5 1 4 0; -#X connect 6 0 1 0; -#X restore 421 90 pd real_example singular; -#X connect 3 0 0 0; -#X connect 5 0 13 0; -#X connect 6 0 13 0; -#X connect 13 0 3 0; -#X connect 21 0 13 0; -#X connect 22 0 21 0; -#X connect 22 1 45 0; -#X connect 23 0 22 0; -#X connect 45 0 13 0; diff --git a/help/help-ambi_decode2.pd b/help/help-ambi_decode2.pd deleted file mode 100644 index c1c998b..0000000 --- a/help/help-ambi_decode2.pd +++ /dev/null @@ -1,97 +0,0 @@ -#N canvas 82 3 844 643 10; -#X obj 38 441 print; -#X text 454 156 1.arg: 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: 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: index + phi [degree] .. 2-dimensional; -#X text 214 346 input: index + delta + phi [degree] .. 3-dimensional -; -#X text 214 360 input: index + phi [degree .. 2-dimensional -; -#X text 214 371 input: index + delta + phi [degree] .. 3-dimensional -; -#X text 238 518 n_col = (2*n_ao+1) = number of ambisonic-channels -; -#X text 226 527 + n_row = (n_ls) = number of loudspeakers; -#X text 466 313 number of loudspeakers = n_ls; -#X text 229 587 + n_row = (n_ls) = number of loudspeakers; -#X text 214 568 output in case of 3d: ((n_ao+1)*(n_ao+1)*n_ls+2) -; -#X text 212 507 output in case of 2d: ((2*n_ao+1)*n_ls+2) -; -#X text 559 568 :; -#X text 516 506 :; -#X text 456 578 number of ambisonic-channels; -#X text 241 578 n_col = (n_ao+1)*(n_ao+1) =; -#X text 427 597 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 elements of a matrix -; -#X text 207 460 input: 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: number of independent loudspeakers; -#X text 454 184 2.arg: dimension (2 or 3); -#X text 454 247 5.arg: number of canceled phantom_loudspeakers -; -#X text 455 208 4.arg: 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; diff --git a/help/help-ambi_decode3.pd b/help/help-ambi_decode3.pd deleted file mode 100644 index acc1c6d..0000000 --- a/help/help-ambi_decode3.pd +++ /dev/null @@ -1,150 +0,0 @@ -#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; diff --git a/help/help-ambi_encode.pd b/help/help-ambi_encode.pd deleted file mode 100644 index b5e1632..0000000 --- a/help/help-ambi_encode.pd +++ /dev/null @@ -1,283 +0,0 @@ -#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; diff --git a/help/help-ambi_rot.pd b/help/help-ambi_rot.pd deleted file mode 100644 index 1d3baae..0000000 --- a/help/help-ambi_rot.pd +++ /dev/null @@ -1,80 +0,0 @@ -#N canvas 44 25 730 500 10; -#X text 230 40 phi ... azimut \, positiv direction from nose to left -ear; -#X text 228 18 delta ... elevation \, positiv direction from nose to -top of the head; -#X floatatom 52 76 6 -180 180 0 - - -; -#X obj 29 76 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 128 76 6 -180 180 0 - - -; -#X text 129 59 rho_y; -#X text 54 59 rho_z; -#X floatatom 195 76 6 -180 180 0 - - -; -#X text 197 59 rho_x; -#X obj 127 149 pack 0 0 0; -#X obj 195 120 t b f; -#X obj 128 120 t b f; -#X obj 52 93 deg2rad; -#X obj 128 94 deg2rad; -#X obj 195 95 deg2rad; -#X text 241 6 AMBISONIC Encoder 4.Order 3-Dimensional; -#X text 254 73 umkehrung der matrizen multiplikation: funktioniert -nicht; -#X obj 63 393 print r1; -#X obj 174 390 print r2; -#X obj 292 389 print r3; -#X obj 407 387 print r4; -#X obj 63 342 mtx_mul; -#X obj 389 275 pack 0 0 0; -#X obj 389 214 unpack 0 0 0; -#X obj 389 237 * -1; -#X obj 126 172 t l l; -#X obj 174 341 mtx_mul; -#X obj 292 339 mtx_mul; -#X obj 407 338 mtx_mul; -#X obj 422 238 * -1; -#X obj 455 237 * -1; -#X obj 389 300 ambi_rot 4; -#X obj 63 244 ambi_rot 4; -#X text 10 8 ambi_rot; -#X obj 407 362 round_zero 0.0001; -#X obj 292 365 round_zero 0.0001; -#X obj 174 364 round_zero 0.0001; -#X obj 63 365 round_zero 0.0001; -#X connect 2 0 12 0; -#X connect 3 0 2 0; -#X connect 4 0 13 0; -#X connect 7 0 14 0; -#X connect 9 0 25 0; -#X connect 10 0 9 0; -#X connect 10 1 9 2; -#X connect 11 0 9 0; -#X connect 11 1 9 1; -#X connect 12 0 9 0; -#X connect 13 0 11 0; -#X connect 14 0 10 0; -#X connect 21 0 37 0; -#X connect 22 0 31 0; -#X connect 23 0 24 0; -#X connect 23 1 29 0; -#X connect 23 2 30 0; -#X connect 24 0 22 0; -#X connect 25 0 32 0; -#X connect 25 1 23 0; -#X connect 26 0 36 0; -#X connect 27 0 35 0; -#X connect 28 0 34 0; -#X connect 29 0 22 1; -#X connect 30 0 22 2; -#X connect 31 0 21 1; -#X connect 31 1 26 1; -#X connect 31 2 27 1; -#X connect 31 3 28 1; -#X connect 32 0 21 0; -#X connect 32 1 26 0; -#X connect 32 2 27 0; -#X connect 32 3 28 0; -#X connect 34 0 20 0; -#X connect 35 0 19 0; -#X connect 36 0 18 0; -#X connect 37 0 17 0; diff --git a/help/test-ambi_rot.pd b/help/test-ambi_rot.pd deleted file mode 100644 index e859374..0000000 --- a/help/test-ambi_rot.pd +++ /dev/null @@ -1,80 +0,0 @@ -#N canvas 44 25 726 496 10; -#X text 230 40 phi ... azimut \, positiv direction from nose to left -ear; -#X text 228 18 delta ... elevation \, positiv direction from nose to -top of the head; -#X floatatom 52 76 6 -180 180 0 - - -; -#X obj 29 76 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X floatatom 128 76 6 -180 180 0 - - -; -#X text 129 59 rho_y; -#X text 54 59 rho_z; -#X floatatom 195 76 6 -180 180 0 - - -; -#X text 197 59 rho_x; -#X obj 127 149 pack 0 0 0; -#X obj 195 120 t b f; -#X obj 128 120 t b f; -#X obj 52 93 deg2rad; -#X obj 128 94 deg2rad; -#X obj 195 95 deg2rad; -#X text 241 6 AMBISONIC Encoder 4.Order 3-Dimensional; -#X text 254 73 umkehrung der matrizen multiplikation: funktioniert -nicht; -#X obj 63 393 print r1; -#X obj 174 390 print r2; -#X obj 292 389 print r3; -#X obj 407 387 print r4; -#X text 10 8 test-ambi_rot.pd; -#X obj 63 342 mtx_mul; -#X obj 389 275 pack 0 0 0; -#X obj 389 214 unpack 0 0 0; -#X obj 389 237 * -1; -#X obj 126 172 t l l; -#X obj 174 341 mtx_mul; -#X obj 292 339 mtx_mul; -#X obj 407 338 mtx_mul; -#X obj 422 238 * -1; -#X obj 455 237 * -1; -#X obj 389 300 ambi_rot 4; -#X obj 63 244 ambi_rot 4; -#X obj 63 365 round_zero 1e-007; -#X obj 174 364 round_zero 1e-007; -#X obj 292 365 round_zero 1e-007; -#X obj 407 362 round_zero 1e-007; -#X connect 2 0 12 0; -#X connect 3 0 2 0; -#X connect 4 0 13 0; -#X connect 7 0 14 0; -#X connect 9 0 26 0; -#X connect 10 0 9 0; -#X connect 10 1 9 2; -#X connect 11 0 9 0; -#X connect 11 1 9 1; -#X connect 12 0 9 0; -#X connect 13 0 11 0; -#X connect 14 0 10 0; -#X connect 22 0 34 0; -#X connect 23 0 32 0; -#X connect 24 0 25 0; -#X connect 24 1 30 0; -#X connect 24 2 31 0; -#X connect 25 0 23 0; -#X connect 26 0 33 0; -#X connect 26 1 24 0; -#X connect 27 0 35 0; -#X connect 28 0 36 0; -#X connect 29 0 37 0; -#X connect 30 0 23 1; -#X connect 31 0 23 2; -#X connect 32 0 22 1; -#X connect 32 1 27 1; -#X connect 32 2 28 1; -#X connect 32 3 29 1; -#X connect 33 0 22 0; -#X connect 33 1 27 0; -#X connect 33 2 28 0; -#X connect 33 3 29 0; -#X connect 34 0 17 0; -#X connect 35 0 18 0; -#X connect 36 0 19 0; -#X connect 37 0 20 0; -- cgit v1.2.1