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.