SuperCollider CLASSES (extension)

BeatStatistics
ExtensionExtension

Extracts statistics on a beat histogram

Description

A beat histogram is formed using a perceptual onset detection frontend, then leaky integrators for each of 100 periodicities. On the ensuing histogram, statistics are taken.

Class Methods

*kr (fft, leak: 0.995, numpreviousbeats: 4)

Operate feature extraction at control rate

Arguments:

fft

Output of FFT UGen

Returns:

[0] entropy of beat histogram

[1] ratio of the largest to the second largest entries in the beat histogram

[2] diversity (Simpson's D measure) of beat histogram

[3] metricity (consistency of high energy histogram entries to integer multiples or divisors of strongest entry)

Inherited class methods

Instance Methods

Inherited instance methods

Examples

b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav")

//minimal example
(
{
    //var source = SoundIn.ar;

    var source = PlayBuf.ar(1,b,loop:1);

    var analysis =
    BeatStatistics.kr(FFT(LocalBuf(1024),source));

    analysis.poll(100);

    source
}.play;
)