centroid — Calculate the spectral centroid of a signal.
kcent -- the spectral centroid in Hz
asig -- an input audio signal
ktrig -- 1 to calculate a new centroid, 0 to skip the process (and output previous value).
Here is an example of the centroid opcode. Play centroid.csd
Example 125. Example of the centroid opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o centroid.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 giSine ftgen 0, 0, 16384, 10, 1 instr 1 ktrig init 1 ;calculate centroid a1 oscil3 0.5, p4, giSine ;of the sine wave k1 centroid a1, ktrig, 16384 asig oscil3 0.5, k1, giSine printk2 k1 ;print & compare: outs a1, asig ;left = original, right = centroid signal endin </CsInstruments> <CsScore> i1 0 2 20 i1 + 2 200 i1 + 2 2000 e </CsScore> </CsoundSynthesizer>