view examples/puredata/subframe-test.pd @ 214:f28f66faa016

Add "stateful" feature type with initial feature "last n" Stateful feature extraction functions are functions that require state to be maintained between successive calls. This is necessary, for example when an accumulation of values is required, or changes need to be measured over time. The initial xtract_last_n() function accumulates the last N (single) values from *data and writes them to *result
author Jamie Bullock <jamie@jamiebullock.com>
date Tue, 03 Jun 2014 21:17:07 +0100
parents 6c5ece9cba3a
children
line wrap: on
line source
#N canvas 667 51 613 639 10;
#X obj 263 -160 xtract~ subframe windowed 64;
#X obj 473 -126 tabsend~ windowed;
#N canvas 0 0 450 300 (subpatch) 0;
#X array windowed 64 float 5;
#A 0 0 -0.00539658 -0.0365654 -0.0889249 -0.119512 -0.0710801 0.0849429
0.314014 0.517949 0.575413 0.405857 0.0231818 -0.452978 -0.839845 -0.971146
-0.775526 -0.314544 0.24085 0.684547 0.864859 0.746131 0.414296 0.0268876
-0.264158 -0.377502 -0.324844 -0.185212 -0.0511399 0.0208516 0.0292007
0.0100387 7.11504e-15 0 0.000585724 -0.0198747 -0.079146 -0.154996
-0.187268 -0.111695 0.0928308 0.373338 0.611529 0.674151 0.482276 0.0628278
-0.447978 -0.856285 -0.995151 -0.80163 -0.347457 0.191996 0.616082
0.785785 0.677697 0.381243 0.044994 -0.197483 -0.283735 -0.235181 -0.126292
-0.0330596 0.00773548 0.00706581 7.42552e-15;
#X coords 0 1 63 -1 200 140 1;
#X restore 46 -552 graph;
#X obj 264 -125 xtract~ subframe spectrum 64;
#N canvas 0 0 450 300 (subpatch) 0;
#X array sf_mags1 16 float 5;
#A 0 0.00796987 0.144169 0.24068 0.109756 0.00127541 0.000110428 0.000122432
0.000120516 0.000102996 8.516e-05 6.88438e-05 5.77259e-05 4.7595e-05
4.13114e-05 3.56295e-05 1.33207e-06;
#X coords 0 1 15 -1 200 140 1;
#X restore 261 -551 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array sf_mags2 32 float 5;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00902428 0.143577 0.241043 0.109515
0.001105 0.000101461 0.000191993 0.000175226 0.000143044 0.000113519
8.72515e-05 6.69791e-05 4.84639e-05 3.34907e-05 1.99719e-05 2.52196e-07
;
#X coords 0 1 31 -1 200 140 1;
#X restore 259 -389 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array both 35 float 5;
#A 0 0.00796987 0.144169 0.24068 0.109756 0.00127541 0.000110428 0.000122432
0.000120516 0.000102996 8.516e-05 6.88438e-05 5.77259e-05 4.7595e-05
4.13114e-05 3.56295e-05 1.33207e-06 0.00902428 0.143577 0.241043 0.109515
0.001105 0.000101461 0.000191993 0.000175226 0.000143044 0.000113519
8.72515e-05 6.69791e-05 4.84639e-05 3.34907e-05 1.99719e-05 2.52196e-07
0 0 0;
#X coords 0 1 34 -1 200 140 1;
#X restore 46 -393 graph;
#N canvas 18 175 447 500 get_mags 0;
#X obj 71 265 +~;
#X obj 72 233 tabreceive~ sf_mags1;
#X obj 221 233 tabreceive~ sf_mags2;
#X obj 101 30 tabsend~ sf_mags1;
#X obj 70 86 tabsend~ temp;
#X obj 69 124 tabreceive~ temp;
#X obj 70 175 tabsend~ sf_mags2;
#X obj 70 302 outlet~;
#X obj 70 -10 inlet~;
#X obj 70 59 a_blockswap~ 64;
#X obj 69 151 a_blockswap~ 32;
#N canvas 0 0 450 300 (subpatch) 0;
#X array temp 16 float 5;
#A 0 0.00902428 0.143577 0.241043 0.109515 0.001105 0.000101461 0.000191993
0.000175226 0.000143044 0.000113519 8.72515e-05 6.69791e-05 4.84639e-05
3.34907e-05 1.99719e-05 2.52196e-07;
#X coords 0 1 15 -1 200 140 1;
#X restore 226 -6 graph;
#X connect 0 0 7 0;
#X connect 1 0 0 0;
#X connect 2 0 0 1;
#X connect 5 0 10 0;
#X connect 8 0 3 0;
#X connect 8 0 9 0;
#X connect 9 0 4 0;
#X connect 10 0 6 0;
#X restore 263 -94 pd get_mags;
#N canvas 0 0 450 300 (subpatch) 0;
#X array diff 16 float 5;
#A 0 -0.00105441 0.000592396 -0.000363603 0.000240721 0.00017041 8.96674e-06
-6.95604e-05 -5.47096e-05 -4.00485e-05 -2.83591e-05 -1.84077e-05 -9.25315e-06
-8.68906e-07 7.82074e-06 1.56576e-05 1.07988e-06;
#X coords 0 1 15 -1 200 140 1;
#X restore 46 -234 graph;
#N canvas 6 433 450 300 diff 0;
#X obj 134 136 tabsend~ diff;
#X obj 134 49 tabreceive~ both;
#X obj 135 78 xtract~ difference_vector 32;
#X obj 348 10 block~ 32;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 260 -43 pd diff;
#N canvas 3 50 450 300 flux 0;
#X obj 143 17 tabreceive~ diff;
#X obj 371 -13 block~ 16;
#X obj 144 53 xtract~ flux 16;
#X obj 144 90 outlet;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X restore 262 -16 pd flux;
#X obj 262 -70 tabsend~ both;
#N canvas 9 100 467 310 source 0;
#X obj 162 -117 noise~;
#X obj 100 -40 *~;
#X obj 105 140 hsl 100 10 0 1 0 0 vol vol-set empty -2 -6 0 10 -204786
-1 -1 9900 1;
#X msg 212 -58 1;
#X obj 115 -94 r vol;
#X obj 161 -40 *~;
#X obj 212 -89 t b f;
#X obj 225 -30 -;
#X obj 101 20 outlet~;
#X text 111 118 noise <-> sine;
#X obj 336 -87 loadbang;
#X obj 100 -115 osc~ 4000;
#X msg 336 -61 \; vol 1 \; vol-set 1;
#X connect 0 0 5 0;
#X connect 1 0 8 0;
#X connect 3 0 7 0;
#X connect 4 0 1 1;
#X connect 4 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 3 0;
#X connect 6 1 7 1;
#X connect 7 0 5 1;
#X connect 10 0 12 0;
#X connect 11 0 1 0;
#X coords 0 -1 1 1 110 60 1 100 100;
#X restore 263 -231 pd source;
#X floatatom 262 40 5 0 0 0 spectral_flux - -;
#X obj 262 7 a_bavg 128;
#X connect 0 0 1 0;
#X connect 0 0 3 0;
#X connect 3 0 7 0;
#X connect 7 0 11 0;
#X connect 10 0 14 0;
#X connect 12 0 0 0;
#X connect 14 0 13 0;