class:: PV_JensenAndersen
summary:: FFT feature detector for onset detection.
related:: Classes/PV_HainsworthFoote
categories::  UGens>FFT


Description::

FFT feature detector for onset detection based on work described in
emphasis::
Jensen, K. & Andersen, T. H. (2003). Real-time Beat Estimation
Using Feature Extraction. In Proceedings of the Computer Music Modeling
and Retrieval Symposium, Lecture Notes in Computer Science. Springer
Verlag.
::

First order derivatives of the features are taken.
code::threshold::  may need to be set low to pick up on
changes.


classmethods::
private:: categories
method::ar

argument::buffer

FFT buffer.


argument::propsc

Proportion of spectral centroid feature.


argument::prophfe

Proportion of high frequency energy feature.


argument::prophfc

Proportion of high frequency content feature.


argument::propsf

Proportion of spectral flux feature.


argument::threshold

Threshold level for allowing a detection.


argument::waittime

If triggered, minimum wait until a further frame can cause
another spot (useful to stop multiple detects on heavy signals).


Examples::

code::
(
SynthDef(\fftod, { |out|
	var source1, detect, chain;
	source1 = SoundIn.ar(0);
	chain = FFT(LocalBuf(2048), source1);
	detect = PV_JensenAndersen.ar(chain, threshold:MouseX.kr(0.1, 1.0));
	Out.ar(out, SinOsc.ar([440, 445], 0, Decay.ar(0.1 * detect, 0.1)));
}).play(s);
)
::
