#N canvas 702 99 640 571 10; #X msg 134 504 disconnect; #X obj 23 471 packOSC; #X obj 23 533 udpsend; #X floatatom 62 501 5 0 0 0 - - -; #X msg 134 479 connect localhost 2223; #X obj 6 20 adc~ 1 2; #X obj 6 55 +~; #X obj 6 91 /~ 2; #X obj -54 181 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 6 116 aubioonset~ 0.2; #X obj 49 67 dac~ 1 2; #X obj 23 140 env~; #X obj 23 169 / 100; #X floatatom 23 246 5 0 0 0 - - -; #X msg 23 221 set \$1; #X msg 23 446 sendtyped /event/onset f \$1; #X floatatom 93 249 5 0 0 0 - - -; #X floatatom 176 249 5 0 0 0 - - -; #X obj 23 272 range; #X msg -74 233 0; #X msg -38 233 1; #X floatatom 23 301 5 0 0 0 - - -; #X obj 93 273 + 0.0001; #X obj 176 273 - 0.0001; #X obj 23 195 history 10; #X obj 176 224 max 0.7; #X obj 93 224 min 0.5; #X text 117 100 This audio filter detects an onset using aubio. If one is detected \, it uses a continually calculated envelope with a 10ms history-based filter to eliminate spikes to control the brightness. The brightness is then scaled according to a running min/max calculation. However \, the min/max function constantly moves back out towards the defined absolute minimum min and minimum max so that it can dynamically autoscale.; #X connect 0 0 2 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 4 0 2 0; #X connect 5 0 6 0; #X connect 5 0 10 0; #X connect 5 1 6 1; #X connect 5 1 10 1; #X connect 6 0 7 0; #X connect 7 0 9 0; #X connect 7 0 11 0; #X connect 8 0 19 0; #X connect 8 0 20 0; #X connect 9 0 8 0; #X connect 9 0 13 0; #X connect 11 0 12 0; #X connect 12 0 24 0; #X connect 13 0 18 0; #X connect 14 0 13 0; #X connect 15 0 1 0; #X connect 16 0 18 1; #X connect 16 0 22 0; #X connect 17 0 18 2; #X connect 17 0 23 0; #X connect 18 0 21 0; #X connect 19 0 18 3; #X connect 20 0 18 4; #X connect 21 0 15 0; #X connect 22 0 26 1; #X connect 23 0 25 1; #X connect 24 0 14 0; #X connect 24 0 25 0; #X connect 24 0 26 0; #X connect 25 0 17 0; #X connect 26 0 16 0;