pvscent
Prev | Orchestra Opcodes and Operators | Next

## pvscent

pvscent — Calculate the spectral centroid of a signal.

## Description

Calculate the spectral centroid of a signal from its discrete Fourier transform.

## Syntax

    kcent pvscent fsig

    acent pvscent fsig

## Performance

kcent -- the spectral centroid

acent -- the spectral centroid

fsig -- an input pv stream

## Examples

Here is an example of the use of the pvscent opcode. It uses the file pvscent.csd.

Example 825. Example of the pvscent 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
    ; Audio out   Audio in
    -odac    ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o pvscent.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    ;; example written by joachim heintz 2009

    giSine		ftgen		0, 0, 4096, 10, 1

    instr 1
    irefrtm     = p4; time for generating new values for the spectral centroid
    ifftsize	= 1024
    ioverlap	= ifftsize / 4
    iwinsize	= ifftsize
    iwinshape	= 1; von-Hann window
    ;Sfile		= "flute-C-octave0.wav"
    Sfile		= "fox.wav"
    ain		soundin	Sfile
    fftin		pvsanal	ain, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of the audio-signal
    ktrig		metro	1 / irefrtm
    if ktrig == 1 then
    kcenter	pvscent	fftin; spectral center
    endif
    aout		oscil	.2, kcenter, giSine
    outs		aout, aout
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 2.757 .3
    i 1 3 2.757 .05
    i 1 6 2.757 .005
    i 1 9 2.757 .001
    e
    </CsScore>
    </CsoundSynthesizer>

## See also

Tools for Real-time Spectral Processing (pvs opcodes)

## Credits

Author: John ffitch
March 2005

New plugin in version 5

March 2005.

Prev | Up | Next
pvscale | Home | pvsceps