centroid
Prev | Orchestra Opcodes and Operators | Next

## 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. It uses the file 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

Sensing and Control: Tempo and Pitch estimation

## Credits

Author: V Lazzarini;
August 2012

Prev | Up | Next
cent | Home | ceps