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

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

pvsanal, pvsynth, pvsadsyn, pvspitch

Credits

Author: Victor Lazzarini
March 2020