centroid

centroid — Calculate the spectral centroid of a signal.

Description

Calculate the spectral centroid of an audio signal on a given trigger.

Syntax

kcent centroid asig, ktrig, ifftsize

Initialization

ifftsize -- fftsize. Non pow-of-two values are converted to the next pow-of-two not smaller than ifftsize.

Performance

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).

Examples

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>


See Also

pvscent

Credits

Author: V Lazzarini;
August 2012