From 3abd9be124f79895a9bfb39e2bd8b9dfcd289fcb Mon Sep 17 00:00:00 2001 From: musil Date: Fri, 10 Nov 2006 14:51:34 +0000 Subject: copyright svn path=/trunk/externals/iem/iem_ambi/; revision=6258 --- Ambisonic_2d_example.pd | 10 +- help/ambi_decode3-help.pd | 110 +++++++++-------- help/ambi_rot-help.pd | 294 +++++++++++++++++++++++----------------------- 3 files changed, 216 insertions(+), 198 deletions(-) diff --git a/Ambisonic_2d_example.pd b/Ambisonic_2d_example.pd index e4255f0..0e57494 100644 --- a/Ambisonic_2d_example.pd +++ b/Ambisonic_2d_example.pd @@ -1,4 +1,4 @@ -#N canvas 26 2 871 686 10; +#N canvas 26 2 875 690 10; #X obj 20 44 dsp; #X obj 20 24 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 1 ; @@ -8,7 +8,7 @@ #X obj 469 102 mtx_*~ 5 1 100; #X obj 509 11 noise~; #X obj 509 32 rbpq2~ 1000 2 100; -#X obj 33 563 mtx_print; +#X obj 225 591 mtx_print; #X obj 230 140 mtx 5 1; #X msg 230 51 col 1 \$1; #X obj 230 109 t b a; @@ -169,6 +169,12 @@ #X text 587 90 gain; #X text 24 119 iemmatrix \, iem_ambi \, iemgui; #X text 17 108 we need iemlib1 \, iemlib2 \,; +#X text 78 596 IEM KUG; +#X text 62 584 musil; +#X text 92 584 @; +#X text 98 584 iem.at; +#X text 61 606 Graz \, Austria; +#X text 13 573 (c) Thomas Musil 2000 - 2006; #X connect 0 0 2 0; #X connect 0 1 3 0; #X connect 1 0 0 0; diff --git a/help/ambi_decode3-help.pd b/help/ambi_decode3-help.pd index 66c93f6..e91c90d 100644 --- a/help/ambi_decode3-help.pd +++ b/help/ambi_decode3-help.pd @@ -1,4 +1,4 @@ -#N canvas 12 5 961 699 10; +#N canvas 12 5 965 703 10; #X text 27 436 1.arg: ambisonic order; #X text 794 41 -180 <= phi <= +180; #X text 494 172 input: one mul-factor for each; @@ -16,12 +16,12 @@ #X text 42 454 (1 .. 5 in case of 3 dimensional); #X text 42 445 (1 .. 12 in case of 2 dimensional); #X text 27 464 2.arg: dimension (2 or 3); -#X text 106 564 IEM KUG; -#X text 90 552 musil; -#X text 120 552 @; -#X text 126 552 iem.at; -#X text 89 574 Graz \, Austria; -#X text 41 541 (c) Thomas Musil 2000 - 2006; +#X text 78 645 IEM KUG; +#X text 62 633 musil; +#X text 92 633 @; +#X text 98 633 iem.at; +#X text 61 655 Graz \, Austria; +#X text 13 622 (c) Thomas Musil 2000 - 2006; #X obj 109 347 cnv 15 126 15 empty empty empty 20 12 0 14 -260818 -66577 0; #X obj 108 368 round_zero 1e-006; @@ -119,24 +119,30 @@ part of; #X obj 221 601 cnv 15 228 15 empty empty empty 20 12 0 14 -260818 -66577 0; #X text 537 255 Otherwise we say \, this matrix is singular.; -#N canvas 149 60 405 450 real_speaker_example 0; -#X obj 65 32 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 +#N canvas 149 60 409 545 real_speaker_example 0; +#X obj 124 33 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 -1; -#X obj 84 216 cnv 15 120 15 empty empty empty 20 12 0 14 -260818 -66577 +#X obj 143 217 cnv 15 120 15 empty empty empty 20 12 0 14 -260818 -66577 0; -#X obj 83 260 print; -#X obj 83 237 round_zero 1e-006; -#X obj 102 120 pp real_ls; -#X msg 83 143 begin_pseudo_inverse; -#X msg 65 166 end_pseudo_inverse; -#X obj 83 215 ambi_decode3 2 2 5 0; -#X obj 65 74 t b b b; -#X msg 102 97 1 5 \, 2 2.5 \, 3 0 \, 4 -2.5 \, 5 -5; -#X text 51 299 ambisonic system 2.order; -#X text 78 312 2 dimensional; -#X text 76 326 5 real speakers; -#X text 41 346 arranged in a very small arc between; -#X text 58 359 +5 degrees and -5 degrees; +#X obj 142 261 print; +#X obj 142 238 round_zero 1e-006; +#X obj 161 121 pp real_ls; +#X msg 142 144 begin_pseudo_inverse; +#X msg 124 167 end_pseudo_inverse; +#X obj 142 216 ambi_decode3 2 2 5 0; +#X obj 124 75 t b b b; +#X msg 161 98 1 5 \, 2 2.5 \, 3 0 \, 4 -2.5 \, 5 -5; +#X text 110 300 ambisonic system 2.order; +#X text 137 313 2 dimensional; +#X text 135 327 5 real speakers; +#X text 100 347 arranged in a very small arc between; +#X text 117 360 +5 degrees and -5 degrees; +#X text 82 490 IEM KUG; +#X text 66 478 musil; +#X text 96 478 @; +#X text 102 478 iem.at; +#X text 65 500 Graz \, Austria; +#X text 17 467 (c) Thomas Musil 2000 - 2006; #X connect 0 0 8 0; #X connect 3 0 2 0; #X connect 4 0 7 0; @@ -148,34 +154,40 @@ part of; #X connect 8 2 9 0; #X connect 9 0 4 0; #X restore 220 575 pd real_speaker_example singular; -#N canvas 250 68 390 499 phantom_speaker_example 0; -#X obj 38 31 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 +#N canvas 250 68 433 605 phantom_speaker_example 0; +#X obj 79 30 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246 -1; -#X obj 143 251 cnv 15 132 15 empty empty empty 20 12 0 14 -260818 -66577 +#X obj 184 250 cnv 15 132 15 empty empty empty 20 12 0 14 -260818 -66577 0; -#X obj 142 300 print; -#X obj 142 275 round_zero 1e-006; -#X obj 161 165 pp real_ls; -#X msg 142 188 begin_pseudo_inverse; -#X msg 124 211 end_pseudo_inverse; -#X obj 124 119 t b b b; -#X msg 161 142 1 5 \, 2 2.5 \, 3 0 \, 4 -2.5 \, 5 -5; -#X text 110 344 ambisonic system 2.order; -#X text 137 357 2 dimensional; -#X text 135 371 5 real speakers; -#X obj 38 191 pp pht_ls; -#X obj 38 72 for++ 0 138; -#X obj 38 95 t f f; -#X obj 38 126 + 1; -#X obj 63 117 * 2.5; -#X obj 63 139 + 7.5; -#X obj 38 169 pack 0 0; -#X obj 142 250 ambi_decode3 2 2 5 139; -#X text 116 396 -5 degrees and +5 degrees; -#X text 125 411 139 phantom speakers; -#X text 99 383 arranged on a very small arc between; -#X text 109 423 arranged on an arc between; -#X text 113 437 +7.5 degrees and -7.5 degrees; +#X obj 183 299 print; +#X obj 183 274 round_zero 1e-006; +#X obj 202 164 pp real_ls; +#X msg 183 187 begin_pseudo_inverse; +#X msg 165 210 end_pseudo_inverse; +#X obj 165 118 t b b b; +#X msg 202 141 1 5 \, 2 2.5 \, 3 0 \, 4 -2.5 \, 5 -5; +#X text 151 343 ambisonic system 2.order; +#X text 178 356 2 dimensional; +#X text 176 370 5 real speakers; +#X obj 79 190 pp pht_ls; +#X obj 79 71 for++ 0 138; +#X obj 79 94 t f f; +#X obj 79 125 + 1; +#X obj 104 116 * 2.5; +#X obj 104 138 + 7.5; +#X obj 79 168 pack 0 0; +#X obj 183 249 ambi_decode3 2 2 5 139; +#X text 157 395 -5 degrees and +5 degrees; +#X text 166 410 139 phantom speakers; +#X text 140 382 arranged on a very small arc between; +#X text 150 422 arranged on an arc between; +#X text 154 436 +7.5 degrees and -7.5 degrees; +#X text 86 558 IEM KUG; +#X text 70 546 musil; +#X text 100 546 @; +#X text 106 546 iem.at; +#X text 69 568 Graz \, Austria; +#X text 21 535 (c) Thomas Musil 2000 - 2006; #X connect 0 0 13 0; #X connect 3 0 2 0; #X connect 4 0 19 0; diff --git a/help/ambi_rot-help.pd b/help/ambi_rot-help.pd index c7ec4e9..597dcd4 100644 --- a/help/ambi_rot-help.pd +++ b/help/ambi_rot-help.pd @@ -1,156 +1,156 @@ -#N canvas 277 -7 864 706 10; -#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 +#N canvas 50 9 838 665 10; +#X floatatom 50 76 6 -180 180 0 - - -; +#X obj 27 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 16 11 ambi_rot; -#X text 130 8 AMBISONIC ROTATION; -#X text 112 32 up to 12.Order 2-dimensional; -#X text 109 20 up to 4.Order 3-dimensional or; -#X text 617 153 o-; -#X text 625 148 _____; -#X text 655 153 > +y; -#X text 617 146 |; -#X text 617 140 |; -#X text 617 134 |; -#X text 617 128 |; -#X text 617 124 ^; -#X text 613 114 +z; -#X text 605 158 +x; -#X text 616 139 +; -#X text 621 139 -; -#X text 613 139 -; -#X text 625 140 -; -#X text 566 139 +rho_x <; +#X floatatom 126 76 6 -180 180 0 - - -; +#X text 127 59 rho_y; +#X text 52 59 rho_z; +#X floatatom 193 76 6 -180 180 0 - - -; +#X text 195 59 rho_x; +#X obj 125 149 pack 0 0 0; +#X obj 193 120 t b f; +#X obj 126 120 t b f; +#X obj 50 93 deg2rad; +#X obj 126 94 deg2rad; +#X obj 193 95 deg2rad; +#X text 14 11 ambi_rot; +#X text 128 8 AMBISONIC ROTATION; +#X text 110 32 up to 12.Order 2-dimensional; +#X text 107 20 up to 4.Order 3-dimensional or; +#X text 615 153 o-; +#X text 623 148 _____; +#X text 653 153 > +y; +#X text 615 146 |; +#X text 615 140 |; +#X text 615 134 |; +#X text 615 128 |; +#X text 615 124 ^; +#X text 611 114 +z; +#X text 603 158 +x; +#X text 614 139 +; +#X text 619 139 -; +#X text 611 139 -; +#X text 623 140 -; +#X text 564 139 +rho_x <; +#X text 626 139 .; +#X text 627 139 .; #X text 628 139 .; -#X text 629 139 .; -#X text 630 139 .; -#X text 631 140 .; -#X text 632 140 .; -#X text 633 141 .; -#X text 634 142 .; -#X text 635 143 .; -#X text 439 148 _____; -#X text 471 140 |; -#X text 471 146 |; -#X text 471 134 |; -#X text 471 128 |; -#X text 471 124 ^; -#X text 467 114 +z; -#X text 470 136 +; -#X text 475 136 -; -#X text 461 136 .; -#X text 465 153 -o; -#X text 414 153 +x <; -#X text 482 136 > +rho_y; -#X text 476 158 +y; -#X text 467 136 -; -#X text 463 137 -; -#X text 460 136 .; +#X text 629 140 .; +#X text 630 140 .; +#X text 631 141 .; +#X text 632 142 .; +#X text 633 143 .; +#X text 437 148 _____; +#X text 469 140 |; +#X text 469 146 |; +#X text 469 134 |; +#X text 469 128 |; +#X text 469 124 ^; +#X text 465 114 +z; +#X text 468 136 +; +#X text 473 136 -; #X text 459 136 .; -#X text 458 137 .; -#X text 457 137 .; -#X text 456 138 .; -#X text 455 139 .; -#X text 454 140 .; -#X text 310 148 _____; -#X text 342 140 |; -#X text 342 146 |; -#X text 342 134 |; -#X text 342 128 |; -#X text 342 124 ^; -#X text 336 153 -o; -#X text 338 114 +x; -#X text 285 153 +y <; -#X text 347 158 +z; -#X text 341 136 +; -#X text 346 136 -; -#X text 338 136 -; -#X text 350 137 -; +#X text 463 153 -o; +#X text 412 153 +x <; +#X text 480 136 > +rho_y; +#X text 474 158 +y; +#X text 465 136 -; +#X text 461 137 -; +#X text 458 136 .; +#X text 457 136 .; +#X text 456 137 .; +#X text 455 137 .; +#X text 454 138 .; +#X text 453 139 .; +#X text 452 140 .; +#X text 308 148 _____; +#X text 340 140 |; +#X text 340 146 |; +#X text 340 134 |; +#X text 340 128 |; +#X text 340 124 ^; +#X text 334 153 -o; +#X text 336 114 +x; +#X text 283 153 +y <; +#X text 345 158 +z; +#X text 339 136 +; +#X text 344 136 -; +#X text 336 136 -; +#X text 348 137 -; +#X text 351 136 .; +#X text 352 136 .; #X text 353 136 .; -#X text 354 136 .; -#X text 355 136 .; -#X text 356 137 .; -#X text 357 137 .; -#X text 358 138 .; -#X text 359 139 .; -#X text 360 140 .; -#X text 291 136 +rho_z <; -#X text 302 60 rho_z ... rotation angle resp. z-axe; -#X text 302 71 rho_y ... rotation angle resp. y-axe; -#X text 302 82 rho_x ... rotation angle resp. x-axe; -#X obj 84 250 cnv 15 60 15 empty empty empty 20 12 0 14 -260818 -66577 +#X text 354 137 .; +#X text 355 137 .; +#X text 356 138 .; +#X text 357 139 .; +#X text 358 140 .; +#X text 289 136 +rho_z <; +#X text 300 60 rho_z ... rotation angle resp. z-axe; +#X text 300 71 rho_y ... rotation angle resp. y-axe; +#X text 300 82 rho_x ... rotation angle resp. x-axe; +#X obj 82 250 cnv 15 60 15 empty empty empty 20 12 0 14 -260818 -66577 0; -#X obj 153 250 cnv 15 60 15 empty empty empty 20 12 0 14 -260818 -66577 +#X obj 151 250 cnv 15 60 15 empty empty empty 20 12 0 14 -260818 -66577 0; -#X obj 83 299 mtx_mul; -#X obj 152 229 pack 0 0 0; -#X obj 152 189 unpack 0 0 0; -#X obj 152 209 * -1; -#X obj 127 169 t l l; -#X obj 101 320 mtx_mul; -#X obj 119 340 mtx_mul; -#X obj 138 360 mtx_mul; -#X obj 185 209 * -1; -#X obj 219 209 * -1; -#X obj 152 249 ambi_rot 4; -#X obj 83 249 ambi_rot 4; -#X obj 357 476 round_zero 0.0001; -#X obj 357 418 round_zero 0.0001; -#X obj 351 359 round_zero 0.0001; -#X obj 355 299 round_zero 0.0001; -#X symbolatom 475 309 0 0 0 0 - - -; -#X symbolatom 475 344 0 0 0 0 - - -; -#X symbolatom 476 423 0 0 0 0 - - -; -#X symbolatom 476 536 0 0 0 0 - - -; -#X obj 357 496 mergefilename blank; -#X obj 355 321 mergefilename blank; -#X obj 351 380 mergefilename blank; -#X obj 357 438 mergefilename blank; -#X text 382 282 1st order; -#X text 385 341 2nd order; -#X text 380 400 3rd order; -#X text 378 456 4th order; -#X text 327 6 calculates a matrix message; -#X text 331 17 for each ambisonic order; -#X text 235 250 1.arg.: ambisonic order; -#X text 285 190 inlet: rotation angle in degree for 2-D; -#X text 324 204 or a list of 3 floats in degree for 3-D:; -#X text 336 216 1.) rotation angle of z-axe; -#X text 336 236 3.) rotation angle of x-axe; -#X text 336 226 2.) rotation angle of y-axe; -#X obj 749 134 ambi_rot 4; -#X obj 749 44 ambi_rot 1; -#X obj 749 74 ambi_rot 2; -#X obj 749 104 ambi_rot 3; -#X obj 749 164 ambi_rot 5; -#X obj 749 194 ambi_rot 6; -#X obj 749 224 ambi_rot 7; -#X obj 709 254 ambi_rot 12 ________; -#X text 13 437 with "matrix" \, followed by number; -#X text 13 449 of rows and columns and the >float> elements.; -#X text 25 462 1.outlet is the ambisonic rotation matrix; -#X text 14 474 for the components of 1.order ambisonc domain.; -#X text 25 487 2.outlet is the ambisonic rotation matrix; -#X text 14 499 for the components of 2.order ambisonc domain.; -#X text 107 513 aso.; -#X text 12 425 outlets: matrix message beginning; -#X text 90 632 IEM KUG; -#X text 74 620 musil; -#X text 104 620 @; -#X text 110 620 iem.at; -#X text 73 642 Graz \, Austria; -#X text 25 609 (c) Thomas Musil 2000 - 2006; +#X obj 81 299 mtx_mul; +#X obj 150 229 pack 0 0 0; +#X obj 150 189 unpack 0 0 0; +#X obj 150 209 * -1; +#X obj 125 169 t l l; +#X obj 99 320 mtx_mul; +#X obj 117 340 mtx_mul; +#X obj 136 360 mtx_mul; +#X obj 183 209 * -1; +#X obj 217 209 * -1; +#X obj 150 249 ambi_rot 4; +#X obj 81 249 ambi_rot 4; +#X obj 355 476 round_zero 0.0001; +#X obj 355 418 round_zero 0.0001; +#X obj 349 359 round_zero 0.0001; +#X obj 353 299 round_zero 0.0001; +#X symbolatom 473 309 0 0 0 0 - - -; +#X symbolatom 473 344 0 0 0 0 - - -; +#X symbolatom 474 423 0 0 0 0 - - -; +#X symbolatom 474 536 0 0 0 0 - - -; +#X obj 355 496 mergefilename blank; +#X obj 353 321 mergefilename blank; +#X obj 349 380 mergefilename blank; +#X obj 355 438 mergefilename blank; +#X text 380 282 1st order; +#X text 383 341 2nd order; +#X text 378 400 3rd order; +#X text 376 456 4th order; +#X text 325 6 calculates a matrix message; +#X text 329 17 for each ambisonic order; +#X text 233 250 1.arg.: ambisonic order; +#X text 283 190 inlet: rotation angle in degree for 2-D; +#X text 322 204 or a list of 3 floats in degree for 3-D:; +#X text 334 216 1.) rotation angle of z-axe; +#X text 334 236 3.) rotation angle of x-axe; +#X text 334 226 2.) rotation angle of y-axe; +#X obj 709 136 ambi_rot 4; +#X obj 709 46 ambi_rot 1; +#X obj 709 76 ambi_rot 2; +#X obj 709 106 ambi_rot 3; +#X obj 709 166 ambi_rot 5; +#X obj 709 196 ambi_rot 6; +#X obj 709 226 ambi_rot 7; +#X obj 669 256 ambi_rot 12 ________; +#X text 11 437 with "matrix" \, followed by number; +#X text 11 449 of rows and columns and the >float> elements.; +#X text 23 462 1.outlet is the ambisonic rotation matrix; +#X text 12 474 for the components of 1.order ambisonc domain.; +#X text 23 487 2.outlet is the ambisonic rotation matrix; +#X text 12 499 for the components of 2.order ambisonc domain.; +#X text 105 513 aso.; +#X text 10 425 outlets: matrix message beginning; +#X text 79 603 IEM KUG; +#X text 63 591 musil; +#X text 93 591 @; +#X text 99 591 iem.at; +#X text 62 613 Graz \, Austria; +#X text 14 580 (c) Thomas Musil 2000 - 2006; #X connect 0 0 10 0; #X connect 1 0 0 0; #X connect 2 0 11 0; -- cgit v1.2.1