pvsbandwidth

pvsbandwidth — Calculate the spectral bandwidth of a signal.

Description

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

Syntax

kbnd pvsbandwidth fsig

Performance

kbnd -- the spectral bandwidth

fsig -- an input pv stream

Examples

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

Example 816. Example of the pvsbandwidth 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 pvsbandwidth.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
   kbw		pvsbandwidth fftin; spectral center
   printks2   	"--**spectral center frequency = %f\n", kbw
 endif
 aout	vco2	.2, 130
 asig   butterbp  aout,kcenter,kbw
 	outs asig, asig
 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: Victor Lazzarini
March 2020