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. It uses the file centroid.csd.
Example 106. 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>