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. Play pvscent.csd

Example 820. 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

pvsanal, pvsynth, pvsadsyn, pvspitch

Credits

Author: John ffitch
March 2005

New plugin in version 5

March 2005.