Explicitly include a boost "windows" folder even on linux
[supercollider.git] / HelpSource / Classes / SpecCentroid.schelp
blob76e3d37ff118ffdd6ee930a0fc7feef5e4872d3f
1 class:: SpecCentroid
2 summary:: Spectral centroid
3 categories:: UGens>FFT
4 related:: Classes/SpecFlatness, Classes/SpecPcile
6 description::
7 Given an link::Classes/FFT:: strong::chain::, this measures the emphasis::spectral:: centroid, which is the weighted mean frequency, or the "centre of mass" of the spectrum. (DC is ignored.)
9 This can be a useful indicator of the perceptual emphasis::brightness:: of a signal.
11 classmethods::
12 method:: kr
14 argument:: chain
15 an link::Classes/FFT:: chain.
17 examples::
19 A link::Classes/Blip:: oscillator is ideal for demonstrating this because the number of harmonics is directly manipulated: as the number of harmonics increases, the centroid is pushed higher. In the example, left-to-right changes the number of harmonics, but up-to-down changes the fundamental pitch; note the different effects of these two on the centroid.
21 code::
22 s.boot;
23 b = Buffer.alloc(s,2048,1);
25 x = {
26 var in, chain, freq, rq, centroid;
28 //freq = LFPar.kr(0.3).exprange(100, 1000);
29 freq = MouseY.kr(1000, 100, 1);
31 in = Blip.ar(freq, MouseX.kr(1, 100, 1));
33 chain = FFT(b, in);
35 centroid = SpecCentroid.kr(chain);
37 Out.ar(0, in.dup * 0.1);
38 centroid.poll(10);
39 }.play(s);
42 x.free;