adc => OnePole p => blackhole; // basic patch 3 => p.op; adc => p; // now we have a squarer 0.999 => p.pole; 0.0 => float myRMS; spork ~ RMS(0.05); // setup a 50 ms. update loop while (1) { // do stuff if you like here 0.5 :: second => now; <<< "RMS = ", myRMS >>>; } fun void RMS(float howoften) { while (1) { howoften :: second => now; Math.sqrt(p.last()) => myRMS; } }