From 8f21bdb35a25511e5fb2af38afaf79726c2536a3 Mon Sep 17 00:00:00 2001 From: Franz Zotter Date: Tue, 19 Dec 2006 10:16:47 +0000 Subject: mtx_sfread.pd: zexy list replaced by list length mtx_phon_curve.pd: calculation of phon curve magnitudes at given frequency vectors/matrices svn path=/trunk/externals/iem/iemmatrix/; revision=6967 --- abs/mtx_phon_curve-help.pd | 69 ++++++++++++++++++++++++++++++ abs/mtx_phon_curve.pd | 92 ++++++++++++++++++++++++++++++++++++++++ abs/mtx_sfread.pd | 102 ++++++++++++++++++++++----------------------- 3 files changed, 212 insertions(+), 51 deletions(-) create mode 100644 abs/mtx_phon_curve-help.pd create mode 100644 abs/mtx_phon_curve.pd 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; -- cgit v1.2.1