#N canvas 96 134 1063 614 10; #X obj 139 120 timer; #X obj 139 89 t b b; #X obj 139 33 key; #X obj 139 58 select 32; #X obj 139 354 /; #X floatatom 154 377 5 0 0 0 - - -; #X obj 458 261 list prepend 0; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-taps 8 float 0; #X coords 0 1000 7 50 200 140 1; #X restore 704 352 graph; #X obj 909 354 vsl 15 135 50 1000 0 0 empty \$0-gmean gm 0 -9 0 10 -262144 -1 -1 6571 1; #X obj 925 354 vsl 15 135 50 1000 0 0 empty \$0-mean mean 0 -9 0 10 -262144 -1 -1 6582 1; #X obj 303 376 cnv 15 100 60 empty \$0-quality Good 10 35 0 30 -191407 -1 0; #X obj 139 492 s \$0-quality; #X msg 213 456 label Good; #X obj 139 430 moses 0.99; #X text 219 430 <= adjust!; #N canvas 333 172 609 314 filter-range 0; #X obj 143 178 outlet; #X obj 210 178 outlet; #X obj 210 150 b; #X obj 143 81 moses 2000; #X text 248 83 filter viable range \, reset else (Handel \, 1989); #X obj 79 54 inlet; #X obj 79 80 moses 50; #X text 270 181 reset timer from here; #X connect 2 0 1 0; #X connect 3 0 0 0; #X connect 3 1 2 0; #X connect 5 0 6 0; #X connect 6 0 2 0; #X connect 6 1 3 0; #X restore 139 144 pd filter-range; #X text 220 58 tab with spacebar; #X obj 274 291 s \$0-mean; #X obj 148 312 s \$0-gmean; #X obj 139 212 t a a a; #X msg 139 456 label Bad; #X obj 157 395 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 12680 1; #X obj 458 284 s \$0-taps; #N canvas 534 229 450 300 show-bpm 0; #X floatatom 107 144 5 0 0 1 IOI_in_bpm - -; #X floatatom 107 126 5 0 0 1 IOI - -; #N canvas 0 0 450 300 ms2bpm 0; #X obj 93 50 inlet; #X obj 93 102 swap 60000; #X obj 93 131 /; #X obj 93 182 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 2 1; #X connect 2 0 3 0; #X restore 248 99 pd ms2bpm; #X obj 248 37 inlet; #X connect 2 0 0 0; #X connect 3 0 1 0; #X connect 3 0 2 0; #X coords 0 -1 1 1 125 60 1 100 100; #X restore 430 378 pd show-bpm; #N canvas 534 229 450 300 show-bpm 0; #X floatatom 107 144 5 0 0 1 IOI_in_bpm - -; #X floatatom 107 126 5 0 0 1 IOI - -; #N canvas 0 0 450 300 ms2bpm 0; #X obj 93 50 inlet; #X obj 93 102 swap 60000; #X obj 93 131 /; #X obj 93 182 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 2 1; #X connect 2 0 3 0; #X restore 248 99 pd ms2bpm; #X obj 248 37 inlet; #X connect 2 0 0 0; #X connect 3 0 1 0; #X connect 3 0 2 0; #X coords 0 -1 1 1 125 60 1 100 100; #X restore 566 378 pd show-bpm; #X obj 566 352 r \$0-mean; #X obj 430 352 r \$0-gmean; #X obj 65 179 s \$0-last; #N canvas 534 229 450 300 show-bpm 0; #X floatatom 107 144 5 0 0 1 IOI_in_bpm - -; #X floatatom 107 126 5 0 0 1 IOI - -; #N canvas 0 0 450 300 ms2bpm 0; #X obj 93 50 inlet; #X obj 93 102 swap 60000; #X obj 93 131 /; #X obj 93 182 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 2 1; #X connect 2 0 3 0; #X restore 248 99 pd ms2bpm; #X obj 248 37 inlet; #X connect 2 0 0 0; #X connect 3 0 1 0; #X connect 3 0 2 0; #X coords 0 -1 1 1 125 60 1 100 100; #X restore 432 172 pd show-bpm; #X obj 432 148 r \$0-last; #X obj 628 144 s \$0-taps; #X msg 628 120 resize \$1; #X obj 212 178 r \$0-buffer-size; #X obj 711 142 s \$0-buffer-size; #X floatatom 628 94 5 0 0 0 - - -; #X msg 628 68 8; #X msg 665 67 16; #X msg 573 282 510.839 464.399 534.059 510.839 505.034 510.839 522.449 574.694; #N canvas 0 0 566 431 geometric-mean 0; #X obj 127 69 inlet; #X obj 127 337 outlet; #X obj 146 138 list-drip; #X obj 146 164 route float; #X obj 127 274 f; #X obj 254 250 pow -1; #X obj 146 193 pow; #N canvas 370 313 450 300 product 0; #X obj 135 79 inlet; #X obj 182 79 inlet; #X obj 135 169 outlet; #X obj 168 138 f; #X obj 135 137 *; #X obj 182 102 1; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 3 0 4 1; #X connect 4 0 2 0; #X connect 4 0 3 0; #X connect 5 0 4 1; #X restore 146 225 pd product; #X obj 127 105 t b a b a; #X obj 254 222 list length; #X connect 0 0 8 0; #X connect 2 0 3 0; #X connect 3 0 6 0; #X connect 4 0 1 0; #X connect 5 0 6 1; #X connect 6 0 7 0; #X connect 7 0 4 1; #X connect 8 0 4 0; #X connect 8 1 2 0; #X connect 8 2 7 1; #X connect 8 3 9 0; #X connect 9 0 5 0; #X restore 139 270 pd geometric-mean; #N canvas 0 0 566 431 arithmetic-mean 0; #X obj 127 69 inlet; #X obj 127 337 outlet; #X obj 147 138 list-drip; #X obj 147 164 route float; #X obj 127 274 f; #N canvas 370 313 450 300 product 0; #X obj 135 79 inlet; #X obj 182 79 inlet; #X obj 135 169 outlet; #X obj 168 138 f; #X obj 182 102 0; #X obj 135 137 +; #X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 3 0 5 1; #X connect 4 0 5 1; #X connect 5 0 2 0; #X connect 5 0 3 0; #X restore 147 225 pd product; #X obj 127 105 t b a b a; #X obj 254 222 list length; #X obj 127 306 /; #X connect 0 0 6 0; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 4 0 8 0; #X connect 5 0 4 1; #X connect 6 0 4 0; #X connect 6 1 2 0; #X connect 6 2 5 1; #X connect 6 3 7 0; #X connect 7 0 8 1; #X connect 8 0 1 0; #X restore 274 269 pd arithmetic-mean; #N canvas 0 0 450 300 show 0; #X obj 41 39 inlet; #X obj 186 36 inlet; #X obj 41 124 outlet; #X msg 186 76 set; #X obj 41 59 list prepend set; #X obj 41 83 list trim; #X obj 186 57 b; #X connect 0 0 4 0; #X connect 1 0 6 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 5 0 2 0; #X connect 6 0 3 0; #X restore 573 258 pd show; #N canvas 0 0 778 583 last-x 0; #X obj 153 175 cnv 15 150 80 empty empty empty 20 12 0 14 -233017 -66577 0; #X floatatom 370 79 5 0 0 2 change-size - -; #X obj 326 112 t f b; #X text 378 110 first reset (b) \, then set new length (f).; #X text 311 195 Right outlet is responsible to first fill the list ; #X text 312 211 Left outlet then only lets the smaller list pass.; #X obj 180 183 list; #X obj 326 54 inlet; #X obj 180 149 inlet; #X obj 180 302 outlet; #X obj 180 228 list split \$1; #X obj 326 78 f \$1; #X connect 1 0 2 0; #X connect 2 0 10 1; #X connect 2 1 6 1; #X connect 6 0 10 0; #X connect 7 0 11 0; #X connect 8 0 6 0; #X connect 10 0 6 1; #X connect 10 0 9 0; #X connect 10 2 6 1; #X connect 11 0 2 0; #X restore 139 178 pd last-x; #X obj 628 43 loadbang; #X connect 0 0 15 0; #X connect 1 0 0 0; #X connect 1 1 0 1; #X connect 2 0 3 0; #X connect 3 0 1 0; #X connect 4 0 5 0; #X connect 4 0 13 0; #X connect 5 0 21 0; #X connect 6 0 22 0; #X connect 12 0 11 0; #X connect 13 0 20 0; #X connect 13 1 12 0; #X connect 15 0 27 0; #X connect 15 0 41 0; #X connect 15 1 0 0; #X connect 19 0 38 0; #X connect 19 1 39 0; #X connect 19 2 6 0; #X connect 19 2 40 0; #X connect 20 0 11 0; #X connect 25 0 24 0; #X connect 26 0 23 0; #X connect 29 0 28 0; #X connect 31 0 30 0; #X connect 32 0 41 1; #X connect 34 0 31 0; #X connect 34 0 33 0; #X connect 35 0 34 0; #X connect 36 0 34 0; #X connect 38 0 18 0; #X connect 38 0 4 0; #X connect 39 0 17 0; #X connect 39 0 4 1; #X connect 40 0 37 0; #X connect 41 0 19 0; #X connect 42 0 35 0;