pvsbandr — A band reject filter working in the spectral domain.
Filter the pvoc frames, rejecting bins whose frequency is within a band, and with linear interpolation for transitional bands.
fsig -- output pv stream
fsigin -- input pv stream.
xlowcut, xlowfull, xhighfull, xhighcut -- define a trapezium shape for the band that is rejected. The a-rate versions only apply to the sliding case.
ktype -- specifies the shape of the transitional band. If at the default value of zero the shape is as below, with linear transition in amplitude. Other values give an exponential curve
(1 - exp( r*type )) / (1 - exp(type))
This includes a linear dB shape when ktype is log(10) or about 2.30.
The opcode performs a band-reject filter with a spectral envelope shaped like
klowcut khighcut
________ ______________
\ /
\ /
\ /
\ /
\ /
klowfull\__________________________/ khighfull
Here is an example of the pvsbandr opcode. Play pvsbandr.csd
Example 810. Example of the pvsbandr 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 pvsbandr.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 ;; example written by joachim heintz 2009 instr 1 Sfile = "fox.wav" klowcut = 100 klowfull = p4 khighfull = p5 khighcut = 2000 ain soundin Sfile fftin pvsanal ain, 1024, 256, 1024, 1; fft-analysis of the audio-signal fftbp pvsbandr fftin, klowcut, klowfull, khighfull, khighcut ; band reject abp pvsynth fftbp; resynthesis outs abp, abp endin </CsInstruments> <CsScore> ; lowfull highfull i 1 0 3 200 1900 i 1 + 3 100 1500 e </CsScore> </CsoundSynthesizer>