aboutsummaryrefslogtreecommitdiff
path: root/doc/mtx_mul~-help.pd
diff options
context:
space:
mode:
Diffstat (limited to 'doc/mtx_mul~-help.pd')
-rw-r--r--doc/mtx_mul~-help.pd101
1 files changed, 101 insertions, 0 deletions
diff --git a/doc/mtx_mul~-help.pd b/doc/mtx_mul~-help.pd
new file mode 100644
index 0000000..54c6efa
--- /dev/null
+++ b/doc/mtx_mul~-help.pd
@@ -0,0 +1,101 @@
+#N canvas 48 0 889 615 12;
+#X obj 116 339 osc~ 100;
+#X obj 116 360 *~ 0.2;
+#X obj 166 381 osc~ 1000;
+#X obj 166 403 *~ 1.5;
+#X obj 212 356 osc~ 432;
+#X obj 68 471 env~;
+#X floatatom 68 495 4 0 0 0 - - -;
+#X obj 127 470 env~;
+#X floatatom 127 494 4 0 0 0 - - -;
+#X obj 187 470 env~;
+#X floatatom 187 494 4 0 0 0 - - -;
+#X floatatom 286 402 4 0 0 0 - - -;
+#X text 332 413 fade time in [ms];
+#X msg 48 140 bang;
+#X msg 170 140 bang;
+#X msg 69 219 bang;
+#X msg 190 218 bang;
+#X text 174 24 matrix-multiply m IN~signals to n OUT~signals;
+#X text 173 41 matrices are interpolated a la line~;
+#X text 304 170 matrix-messages to control the gains;
+#X text 303 183 of the matrix~;
+#X text 334 380 the last inlet gets the fade-time between two matrix-messages.
+;
+#X obj 98 32 mtx_*~;
+#X obj 69 431 mtx_*~ 4 3 100 .......;
+#X obj 253 471 env~;
+#X floatatom 253 495 4 0 0 0 - - -;
+#X obj 69 301 t a;
+#X obj 70 539 mtx_*~;
+#X text 147 536 creation: "mtx_*~ [<#out> [<#in> [<fade_time>] [<...>]]
+;
+#X text 302 154 the first inlet eats;
+#X text 316 314 the 2nd...one-before-last inlets get the signals to
+be multiplied.;
+#X text 328 487 Output signals;
+#X text 207 68 OUT~^ = A * IN~^;
+#X obj 48 167 mtx_eye 4 3;
+#X obj 170 167 mtx_egg 4 3;
+#X obj 190 245 mtx_zeros 4 3;
+#X obj 69 246 mtx_ones 4 3;
+#X msg 699 33 \; pd dsp 1;
+#X text 127 96 or \, with dimensions: OUT~^[1*n] = A[n*m] * IN~^[m*1]
+;
+#N canvas 34 69 925 425 LEGACY 0;
+#X obj 51 160 sig~;
+#X floatatom 180 166 5 0 0 0 - - -;
+#X text 286 127 this object \, accepted the signals at the first inputs
+\, then the matrix (and finally the fade-time);
+#X text 295 163 OUT~^[n] = IN~^[m] * B[m*x];
+#X obj 192 307 sig~;
+#X msg 97 303 time 100;
+#X obj 93 160 sig~;
+#X obj 50 188 matrix~ 2 3 100;
+#X obj 136 138 mtx 2 3;
+#X obj 25 346 matrix_mul_line~ 2 3 100;
+#X obj 235 307 sig~;
+#X text 288 262 this object \, accepted the signals at the inlets \;
+all! messages went to the 1st inlet;
+#X obj 25 304 mtx 3 2;
+#X text 297 298 OUT~^[n] = B[n*m] * IN~^[m];
+#X text 288 183 this is a _very_ unusual way to notate signal matrix
+multiplications;
+#X text 290 318 this conforms to the way how signal matrix multiplications
+is usually notated \, however \, we didn't like that the incoming matrix
+had different dimensions than the object ([mtx N M] vs [matrix_mul_line~
+M N]) \; and the 1st inlet was a bit overloaded.;
+#X text 84 18 [mtx_*~] is the successor of 2 similar objects \, which
+we believe to have had some design flaws:;
+#X connect 0 0 7 0;
+#X connect 1 0 7 3;
+#X connect 4 0 9 0;
+#X connect 5 0 9 0;
+#X connect 6 0 7 1;
+#X connect 8 0 7 2;
+#X connect 10 0 9 1;
+#X connect 12 0 9 0;
+#X restore 231 585 pd LEGACY;
+#X connect 0 0 1 0;
+#X connect 1 0 23 1;
+#X connect 2 0 3 0;
+#X connect 3 0 23 2;
+#X connect 4 0 23 3;
+#X connect 5 0 6 0;
+#X connect 7 0 8 0;
+#X connect 9 0 10 0;
+#X connect 11 0 23 4;
+#X connect 13 0 33 0;
+#X connect 14 0 34 0;
+#X connect 15 0 36 0;
+#X connect 16 0 35 0;
+#X connect 23 0 5 0;
+#X connect 23 1 7 0;
+#X connect 23 2 9 0;
+#X connect 23 3 24 0;
+#X connect 24 0 25 0;
+#X connect 26 0 23 0;
+#X connect 33 0 26 0;
+#X connect 34 0 26 0;
+#X connect 35 0 26 0;
+#X connect 36 0 26 0;