aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--abs/mtx_phon_curve-help.pd69
-rw-r--r--abs/mtx_phon_curve.pd92
-rw-r--r--abs/mtx_sfread.pd102
3 files changed, 212 insertions, 51 deletions
diff --git a/abs/mtx_phon_curve-help.pd b/abs/mtx_phon_curve-help.pd
new file mode 100644
index 0000000..ab92144
--- /dev/null
+++ b/abs/mtx_phon_curve-help.pd
@@ -0,0 +1,69 @@
+#N canvas 276 123 849 390 10;
+#X obj 247 206 mtx_* 0.5;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array phon_curve 31 float 1;
+#A 0 83.0956 69.3994 57.9927 48.4958 40.591 34.0127 28.5391 23.985
+20.1961 17.0438 14.4208 12.2374 10.4185 8.90086 7.62984 6.55604 5.62926
+4.78645 3.92454 2.8461 1.20451 -1.26109 -3.41784 -1.95161 2.02311 3.88731
+6.19619 12.1587 27.3273 65.5882 161.827;
+#X coords 0 120 30 0 200 140 1;
+#X restore 36 187 graph;
+#N canvas 0 0 450 300 mtx2tablemsg 0;
+#X obj 155 57 inlet;
+#X obj 220 253 outlet;
+#X obj 157 79 list split 3;
+#X obj 198 98 t l l;
+#X obj 232 141 change;
+#X msg 235 164 resize \$1;
+#X obj 198 218 list prepend 0;
+#X obj 230 119 list length;
+#X connect 0 0 2 0;
+#X connect 2 1 3 0;
+#X connect 3 0 6 0;
+#X connect 3 1 7 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 4 0;
+#X restore 247 230 pd mtx2tablemsg;
+#X obj 356 210 loadbang;
+#X obj 247 165 mtx_rmstodb;
+#X obj 247 125 mtx_logspace;
+#X text 30 331 20;
+#X text 70 331 80;
+#X text 105 331 340;
+#X msg 247 103 20 20000 31;
+#X text 144 331 1360;
+#X text 186 331 5440;
+#X text 226 331 21760;
+#X msg 356 230 bounds 0 120 30 0 \, xticks 0 1 3 \, yticks 0 20 1 \,
+ylabel 0 0 20 40 60 80 100 120;
+#X floatatom 246 48 5 0 0 0 - - -;
+#X obj 247 66 t b f f;
+#X obj 413 142 - 100;
+#X obj 247 186 mtx_+ -100;
+#X text 290 47 dial Phon-curve;
+#X obj 247 275 s phon_curve;
+#X text 482 26 part of iemmatrix;
+#X text 469 113 inletA: row/col frequency vector;
+#X text 469 131 inletB: phon value;
+#X text 470 155 outletA: row/col vector with phone curve at specified
+frequencies;
+#X text 385 258 note: the "0" phon curve corresponds to the absolute
+threshold of hearing;
+#X text 44 32 [mtx_phon_curve];
+#X obj 247 145 mtx_phon_curve 0;
+#X connect 0 0 2 0;
+#X connect 2 0 19 0;
+#X connect 3 0 13 0;
+#X connect 4 0 17 0;
+#X connect 5 0 26 0;
+#X connect 9 0 5 0;
+#X connect 13 0 19 0;
+#X connect 14 0 15 0;
+#X connect 15 0 9 0;
+#X connect 15 1 26 1;
+#X connect 15 2 16 0;
+#X connect 16 0 17 1;
+#X connect 17 0 0 0;
+#X connect 26 0 4 0;
diff --git a/abs/mtx_phon_curve.pd b/abs/mtx_phon_curve.pd
new file mode 100644
index 0000000..72a66b8
--- /dev/null
+++ b/abs/mtx_phon_curve.pd
@@ -0,0 +1,92 @@
+#N canvas 832 0 743 796 10;
+#X obj 78 35 inlet;
+#X obj 237 345 mtx_exp;
+#X obj 237 281 mtx_- 3.3;
+#X obj 141 471 mtx_+;
+#X obj 53 676 outlet;
+#X obj 139 275 mtx_.^ -0.8;
+#X obj 319 281 mtx_.^ 4;
+#X obj 139 417 mtx_* 3.64;
+#X obj 237 301 mtx_.^ 2;
+#X obj 237 321 mtx_* -0.6;
+#X obj 237 418 mtx_* -6.5;
+#X obj 193 451 mtx_+;
+#X text 94 53 freq;
+#X obj 78 104 mtx_* 0.001;
+#X obj 319 311 mtx_* 0.001;
+#X text 246 30 calculates the threshold of hearing for an arbitrary
+frequency vector/matrix;
+#X obj 79 133 t a a a a;
+#X obj 53 503 mtx_+;
+#X obj 53 477 mtx_* 0;
+#X obj 139 450 mtx_* 1;
+#X obj 158 350 / 100;
+#X obj 182 37 inlet;
+#X text 189 59 phon;
+#X obj 158 370 expr 1-$f1;
+#X floatatom 463 234 5 0 0 0 - - -;
+#X floatatom 493 300 5 0 0 0 - - -;
+#X obj 419 267 expr $f3*exp($f1*log(1000/$f2));
+#X floatatom 525 241 5 0 0 0 - - -;
+#X floatatom 619 245 5 0 0 0 - - -;
+#X msg 470 208 -0.8;
+#X msg 459 186 -0.9;
+#X obj 56 275 mtx_.^ -0.9;
+#X obj 53 418 mtx_* 1.183;
+#X text 509 200 fitting;
+#X obj 263 68 loadbang;
+#X obj 197 81 \$1;
+#X obj 78 76 mtx_max2 0.1;
+#X text 185 108 3.64*f^(-.8) - 6.5* exp(-.6*(f-3.3)^2)+10^(-3)*f^4
+;
+#X obj 53 525 mtx_* 0.1;
+#X obj 53 653 mtx_.^;
+#X obj 53 547 t a a;
+#X obj 53 568 mtx_size;
+#X obj 53 608 mtx_ones;
+#X obj 53 589 pack;
+#X obj 53 630 mtx_* 10;
+#X connect 0 0 36 0;
+#X connect 1 0 10 0;
+#X connect 2 0 8 0;
+#X connect 3 0 17 1;
+#X connect 5 0 7 0;
+#X connect 6 0 14 0;
+#X connect 7 0 19 0;
+#X connect 8 0 9 0;
+#X connect 9 0 1 0;
+#X connect 10 0 11 0;
+#X connect 11 0 3 1;
+#X connect 13 0 16 0;
+#X connect 14 0 11 1;
+#X connect 16 0 31 0;
+#X connect 16 1 5 0;
+#X connect 16 2 2 0;
+#X connect 16 3 6 0;
+#X connect 17 0 38 0;
+#X connect 18 0 17 0;
+#X connect 19 0 3 0;
+#X connect 20 0 18 1;
+#X connect 20 0 23 0;
+#X connect 21 0 35 0;
+#X connect 23 0 19 1;
+#X connect 24 0 26 0;
+#X connect 26 0 25 0;
+#X connect 27 0 26 1;
+#X connect 28 0 26 2;
+#X connect 29 0 24 0;
+#X connect 30 0 24 0;
+#X connect 31 0 32 0;
+#X connect 32 0 18 0;
+#X connect 34 0 35 0;
+#X connect 35 0 20 0;
+#X connect 36 0 13 0;
+#X connect 38 0 40 0;
+#X connect 39 0 4 0;
+#X connect 40 0 41 0;
+#X connect 40 1 39 1;
+#X connect 41 0 43 0;
+#X connect 41 1 43 1;
+#X connect 42 0 44 0;
+#X connect 43 0 42 0;
+#X connect 44 0 39 0;
diff --git a/abs/mtx_sfread.pd b/abs/mtx_sfread.pd
index f8b76d3..9b616c2 100644
--- a/abs/mtx_sfread.pd
+++ b/abs/mtx_sfread.pd
@@ -34,7 +34,6 @@
#X text 571 87 pd >=0.39-2;
#X msg 267 633 row \$1;
#X obj 267 652 list append;
-#X obj 349 671 length;
#X obj 349 652 spigot;
#X obj 388 632 == 1;
#X obj 267 508 t f f f;
@@ -83,9 +82,10 @@
#X text 329 506 stepping through the subpatch-tables;
#X text 92 20 name/bang;
#X text 286 30 reading multichannel audiofiles into matrix rows;
-#X connect 0 0 50 0;
-#X connect 1 0 63 0;
-#X connect 2 0 63 1;
+#X obj 349 671 list length;
+#X connect 0 0 49 0;
+#X connect 1 0 62 0;
+#X connect 2 0 62 1;
#X connect 3 0 4 0;
#X connect 4 0 9 1;
#X connect 5 0 6 0;
@@ -94,9 +94,9 @@
#X connect 8 0 9 0;
#X connect 8 1 18 0;
#X connect 9 0 20 0;
-#X connect 10 0 48 0;
+#X connect 10 0 47 0;
#X connect 11 0 19 0;
-#X connect 12 0 53 0;
+#X connect 12 0 52 0;
#X connect 13 0 18 1;
#X connect 14 0 13 0;
#X connect 14 1 18 1;
@@ -105,58 +105,58 @@
#X connect 17 0 10 0;
#X connect 18 0 15 0;
#X connect 18 0 16 1;
-#X connect 19 0 60 0;
-#X connect 20 0 50 0;
+#X connect 19 0 59 0;
+#X connect 20 0 49 0;
#X connect 21 0 1 0;
-#X connect 21 1 62 0;
+#X connect 21 1 61 0;
#X connect 21 2 0 0;
-#X connect 22 0 68 0;
-#X connect 23 0 68 1;
+#X connect 22 0 67 0;
+#X connect 23 0 67 1;
#X connect 24 0 25 0;
#X connect 25 0 29 0;
#X connect 26 0 31 0;
-#X connect 27 0 52 0;
+#X connect 27 0 51 0;
#X connect 28 0 30 0;
#X connect 28 1 27 0;
#X connect 29 0 22 0;
-#X connect 29 1 67 0;
-#X connect 30 0 43 0;
-#X connect 31 0 46 0;
-#X connect 31 1 44 0;
+#X connect 29 1 66 0;
+#X connect 30 0 42 0;
+#X connect 31 0 45 0;
+#X connect 31 1 43 0;
#X connect 33 0 34 0;
-#X connect 34 0 47 0;
-#X connect 35 0 41 0;
-#X connect 36 0 35 0;
-#X connect 37 0 36 1;
-#X connect 38 0 33 0;
-#X connect 38 1 26 0;
-#X connect 38 2 37 0;
-#X connect 39 0 34 1;
-#X connect 39 1 36 0;
-#X connect 40 0 30 1;
-#X connect 41 0 42 0;
-#X connect 41 1 42 1;
-#X connect 42 0 40 0;
+#X connect 34 0 46 0;
+#X connect 35 0 72 0;
+#X connect 36 0 35 1;
+#X connect 37 0 33 0;
+#X connect 37 1 26 0;
+#X connect 37 2 36 0;
+#X connect 38 0 34 1;
+#X connect 38 1 35 0;
+#X connect 39 0 30 1;
+#X connect 40 0 41 0;
+#X connect 40 1 41 1;
+#X connect 41 0 39 0;
+#X connect 43 0 44 0;
#X connect 44 0 45 0;
-#X connect 45 0 46 0;
-#X connect 46 0 39 0;
-#X connect 47 0 30 0;
-#X connect 48 0 49 0;
-#X connect 49 0 61 0;
-#X connect 53 0 55 0;
-#X connect 54 0 50 1;
-#X connect 55 0 56 0;
-#X connect 56 0 54 0;
-#X connect 59 0 7 0;
-#X connect 59 1 3 0;
-#X connect 60 0 16 0;
-#X connect 60 1 5 0;
-#X connect 60 2 14 0;
-#X connect 61 0 28 0;
-#X connect 61 1 24 0;
-#X connect 62 0 63 1;
-#X connect 63 0 2 0;
-#X connect 63 0 59 0;
-#X connect 67 0 68 1;
-#X connect 68 0 23 0;
-#X connect 68 0 38 0;
+#X connect 45 0 38 0;
+#X connect 46 0 30 0;
+#X connect 47 0 48 0;
+#X connect 48 0 60 0;
+#X connect 52 0 54 0;
+#X connect 53 0 49 1;
+#X connect 54 0 55 0;
+#X connect 55 0 53 0;
+#X connect 58 0 7 0;
+#X connect 58 1 3 0;
+#X connect 59 0 16 0;
+#X connect 59 1 5 0;
+#X connect 59 2 14 0;
+#X connect 60 0 28 0;
+#X connect 60 1 24 0;
+#X connect 61 0 62 1;
+#X connect 62 0 2 0;
+#X connect 62 0 58 0;
+#X connect 66 0 67 1;
+#X connect 67 0 23 0;
+#X connect 67 0 37 0;
+#X connect 72 0 40 0;