RunningSum
A running sum over a user specified number of samples, useful for running RMS power windowing.
Class Methods
*ar(in, numsamp=40)
in- Input signal
numsamp- How many samples to take the running sum over (initialisation time only, not modulatable)
Examples
//overloads of course- would need scaling
{RunningSum.ar(AudioIn.ar)}.play
//Running Average over x samples
(
{
var x =100;
RunningSum.ar(LFSaw.ar,x)*(x.reciprocal)
}.play
)
//RMS Power
(
{
var input, numsamp;
input= LFSaw.ar;
numsamp=30;
(RunningSum.ar(input.squared,numsamp)/numsamp).sqrt
}.play
)
//shortcut in class
{RunningSum.rms(AudioIn.ar)}.play
//play around
(
{
var input, numsamp, power;
input= AudioIn.ar;
numsamp=500;
power= MouseX.kr(0.1,4);
(RunningSum.ar(input**power,numsamp)/numsamp)**(power.reciprocal)
}.play
)