Update of /cvsroot/pure-data/abstractions/puremeasurement/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5442/tools
Added Files:
pm_filters_44100Hz.pd pm_scope.pd
Log Message:
initial commit of PureMeasurement
--- NEW FILE: pm_filters_44100Hz.pd ---
#N canvas 526 235 729 701 10;
#X obj 171 34 hradio 20 1 1 26 empty empty empty 0 -6 0 8 -262144 -1
-1 1;
#X text 668 17 16k;
#X text 630 17 10k;
#X text 553 17 4k;
#X text 613 56 8k;
#X text 495 56 2k;
#X text 433 17 1k;
#X text 410 56 800;
#X text 445 56 1.25k;
#X text 468 17 1.6k;
#X text 508 17 2.5k;
#X text 524 56 3.15k;
#X text 589 17 6.3k;
#X text 644 56 12.5k;
#X text 389 17 630;
#X text 370 56 500;
#X text 349 17 400;
[...1692 lines suppressed...]
filters commonly used in acoustical measurements.;
#X text 16 314 The octave and third octave band-pass filters use exact
mid frequencies based on the 2^i and 2^(i/3) formulae \, respectively
(see IEC 1260).;
#X text 16 364 Please note that if you use adjacent octave or third
octave filters in parallel for synthesis purposes \, the resulting
frequency response will not have a flat passband behavior. You *can*
build analysis filter banks though.;
#X obj 17 445 cnv 15 236 65 empty empty empty 20 12 0 14 -262144 -66577
0;
#X text 23 463 matthias.blau AT fh-oldenburg.de;
#X text 21 477 IHA FH-OOW \, Oldenburg \, Germany;
#X text 16 437 ------------------------------------------------------------
;
#X text 16 255 ------------------------------------------------------------
;
#X text 19 449 (c) M. Blau 2004-2006;
#X text 22 491 updated for version v28II06;
#X connect 0 0 27 1;
#X connect 28 0 37 1;
--- NEW FILE: pm_scope.pd ---
#N canvas 180 170 640 735 10;
#X obj 68 45 cnv 10 200 130 empty empty empty 0 0 1 16 -225280 -42246
0;
#X obj 252 97 bng 12 250 50 0 \$0-scope1_y+ empty + 1 -10 1 14 -262144
-1 -1;
#X obj 252 114 bng 12 250 50 0 \$0-scope1_y- empty - 3 16 1 18 -262144
-1 -1;
#X obj 71 19 r~ i1;
#X obj 147 48 cnv 15 120 24 empty \$0-scope1_ovldstr OVERLOAD! 2 11
1 14 -225280 -225280 0;
#X obj 121 18 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 132 157 nbx 3 14 0 250 0 0 \$0-scope1_xtime \$0-set_scope1_xtime
msec 35 8 1 8 -262144 -1 -1 100 256;
#N canvas 352 0 832 750 scope1 0;
#X obj -2 -51 cnv 15 140 24 empty empty scope1 20 12 1 18 -233017 -1109
0;
#X obj 113 -51 cnv 15 120 24 empty empty subpatch 0 12 1 18 -233017
-1109 0;
#X obj 391 100 loadbang;
#X obj 263 374 delay 1000;
#X obj 15 102 inlet~;
#X obj 580 615 cnv 15 60 25 empty empty empty 20 12 0 14 -261681 -66577
0;
#X obj 286 596 cnv 15 60 40 empty empty empty 20 12 0 14 -261681 -66577
0;
#X obj 339 344 div 2;
#X obj 339 421 pow 0;
#X msg 339 398 10;
#X obj 382 375 select 0 1;
#X msg 382 404 1;
#X msg 414 404 3;
#X obj 366 448 * 1;
#X floatatom 346 300 5 0 0 0 - - -;
#X msg 309 224 1;
#X msg 392 224 1;
#X obj 309 249 + 1;
#X obj 392 249 - 1;
#X obj 392 274 * -1;
#X msg 346 224 0;
#X obj 396 495 / 10;
#X obj 375 530 * -1;
#X obj 292 161 cnv 15 90 25 empty empty empty 20 12 0 14 -262131 -66577
0;
#X obj 405 161 cnv 15 90 25 empty empty empty 20 12 0 14 -262131 -66577
0;
#X obj 561 63 cnv 15 115 20 empty empty empty 20 12 0 14 -261681 -66577
0;
#X text -4 136 ------------------------------------------------------------
;
#X text 416 136 ----------------------------------;
#X obj 42 478 cnv 15 125 20 empty empty empty 20 12 0 14 -228992 -66577
0;
#X msg 45 335 0;
#X obj 45 360 metro 1000;
#X obj 79 392 delay 500;
#X obj 83 101 inlet;
#X text 129 99 <-- bang to reset;
#X text 157 112 overload;
#X msg 45 414 14;
#X obj 80 238 cnv 15 125 20 empty empty empty 20 12 0 14 -228992 -66577
0;
#X obj 366 471 t b f;
#X obj 339 375 t b f;
#X obj 382 344 mod 2;
#X obj 346 320 t f f;
#X obj 2 314 threshold~ 0.98 100 -0.98 100;
#X obj 88 283 cnv 15 115 25 empty empty empty 20 12 0 14 -261681 -66577
0;
#X obj 520 373 phasor~;
#X obj 521 351 sig~;
#X obj 521 306 samplerate~;
#X obj 589 461 cnv 15 120 25 empty empty empty 20 12 0 14 -261681 -66577
0;
#X obj 594 369 cnv 15 110 25 empty empty empty 20 12 0 14 -262131 -66577
0;
#X obj 488 228 metro 400;
#X obj 511 588 clip~ -1 1;
#X obj 521 87 block~ 1024;
#X obj 521 328 / 1024;
#X obj 582 396 / 1000;
#X obj 582 418 * 44100;
#X obj 521 442 *~ 4410;
#X obj 153 -7 cnv 15 80 15 empty empty empty 20 12 0 14 -261681 -66577
0;
#X text 155 -8 arrays;
#X obj 153 9 cnv 15 80 15 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 155 9 symbols;
#X obj 153 25 cnv 15 80 15 empty empty empty 20 12 0 14 -262131 -66577
0;
#X text 154 25 floats;
#X text 30 -9 global variables:;
#X msg 597 164 100;
#X obj 608 184 cnv 15 140 25 empty empty empty 20 12 0 14 -262131 -66577
0;
#X msg 488 203 1;
#X msg 79 414 7;
#X obj 83 190 f \$0;
#X msg 83 226 \; \$1-scope1_ovldstr color 7 7;
#X obj 83 166 t b b;
#X obj 16 287 tabwrite~ \$0-scope1_buffer;
#X obj 279 165 r \$0-scope1_y-;
#X obj 392 165 r \$0-scope1_y+;
#X obj 521 65 table \$0-scope1_buffer 11050;
#X obj 597 189 s \$0-set_scope1_xtime;
#X obj 582 373 r \$0-scope1_xtime;
#X obj 522 465 tabread4~ \$0-scope1_buffer;
#X obj 511 619 tabwrite~ \$0-meas1;
#X obj 289 555 pack 0.1 1 -1 \$0;
#X obj 45 442 pack 7 7 \$0;
#X msg 45 464 \; \$3-scope1_ovldstr color \$2 \$1;
#X msg 289 582 \; \$4-meas1 bounds 0 \$2 1023 \$3 \; \$4-meas1 yticks
0 \$1 5 \; \$4-meas1 ylabel 1140 \$3 0 \$2;
#X text 243 -8 \$0-scope1_buffer \, \$0-meas1;
#X text 243 9 \$0-scope1_ovldstr;
#X text 243 25 \$0-scope1_y- \, \$0-scope1_y+ \, \$0-scope1_xtime \,
\$0-set_scope1_xtime;
#X connect 2 0 3 0;
#X connect 2 0 20 0;
#X connect 2 0 45 0;
#X connect 2 0 62 0;
#X connect 2 0 64 0;
#X connect 3 0 77 0;
#X connect 4 0 41 0;
#X connect 4 0 69 0;
#X connect 7 0 38 0;
#X connect 8 0 13 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 11 0 13 1;
#X connect 12 0 13 1;
#X connect 13 0 37 0;
#X connect 14 0 17 1;
#X connect 14 0 18 1;
#X connect 14 0 40 0;
#X connect 15 0 17 0;
#X connect 16 0 18 0;
#X connect 17 0 14 0;
#X connect 18 0 19 0;
#X connect 19 0 14 0;
#X connect 20 0 14 0;
#X connect 21 0 77 0;
#X connect 22 0 49 1;
#X connect 22 0 77 2;
#X connect 29 0 30 0;
#X connect 30 0 35 0;
#X connect 30 0 31 0;
#X connect 31 0 65 0;
#X connect 32 0 68 0;
#X connect 35 0 78 0;
#X connect 37 0 77 0;
#X connect 37 1 21 0;
#X connect 37 1 22 0;
#X connect 37 1 49 2;
#X connect 37 1 77 1;
#X connect 38 0 9 0;
#X connect 38 1 8 1;
#X connect 39 0 10 0;
#X connect 40 0 7 0;
#X connect 40 1 39 0;
#X connect 41 0 30 0;
#X connect 41 1 30 0;
#X connect 43 0 54 0;
#X connect 44 0 43 0;
#X connect 45 0 51 0;
#X connect 45 0 53 1;
#X connect 48 0 69 0;
#X connect 48 0 76 0;
#X connect 49 0 76 0;
#X connect 51 0 44 0;
#X connect 52 0 53 0;
#X connect 53 0 54 1;
#X connect 54 0 75 0;
#X connect 62 0 73 0;
#X connect 64 0 48 0;
#X connect 65 0 78 0;
#X connect 66 0 67 0;
#X connect 68 0 66 0;
#X connect 68 1 29 0;
#X connect 70 0 15 0;
#X connect 71 0 16 0;
#X connect 74 0 52 0;
#X connect 75 0 49 0;
#X connect 77 0 80 0;
#X connect 78 0 79 0;
#X coords 0 0 0.00222222 0.00333333 200 140 0;
#X restore 72 49 pd scope1;
#X text 70 156 x range:;
#X text 72 202 The pm oscilloscope.;
#X text 143 22 <--reset overload;
#X text 73 310 Note that the processing is done in the "scope1" subpatch
(click on it to view/edit).;
#X text 73 520 Note also that there is a scope~ object in the cyclone
library \, which you may prefer over the simple one presented here.
;
#X obj 73 588 cnv 15 236 65 empty empty empty 20 12 0 14 -262144 -66577
0;
#X text 75 592 (c) M. Blau 2004-2005;
#X text 79 606 matthias.blau AT fh-oldenburg.de;
#X text 77 620 IHA FH-OOW \, Oldenburg \, Germany;
#X text 72 580 ------------------------------------------------------------
;
#X text 72 212 ------------------------------------------------------------
;
#N canvas 0 0 450 300 graph14 0;
#X array \$0-meas1 1024 float 0;
#X coords 0 1 1023 -1 150 80 1;
#X restore 72 72 graph;
#X text 73 440 If you change the size of the display \, you will probably
have to adjust the position of the y-axis labels. To do so \, you have
to change the last line in the message box at the center bottom of
the subpatch: Substitute the 1140 in "$4-meas1 ylabel 1140 \$3 0 \$2"
by a more suitable value.;
#X text 73 350 If you want to use multiple scopes at the same time
\, you can simply copy the scope above. In addition \, you will have
to change the names of all global variables to contain e.g. "scope2"
instead of "scope1". Also the array that is displayed must be changed
from "$0-meas1" to e.g. "$0-meas2". (Hint: use a text editor to do
this).;
#X text 73 230 Principle of operation: the incoming signal (i1 in the
example above) is written to a buffer ($0-scope1_buffer) which is then
resampled using 4-point interpolation (1024 values via tabread4~).
The resampled values are written to the "meas1" array (which is displayed)
every 400ms.;
#X text 78 634 updated for version v28II06;
#X connect 3 0 7 0;
#X connect 5 0 7 1;