pvsbandwidth
Calculate the spectral bandwidth of a signal from its discrete Fourier transform.
Syntax
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 of the pvsbandwidth opcode. |
---|
| <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