1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
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);
)
::
|