pvsbandp — A band pass filter working in the spectral domain.
Filter the pvoc frames, passing 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 passed. 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 yield and exponential shape:
(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-pass filter with a spectral envelope shaped like
klowfull __________________________ khighfull
/ \
/ \
/ \
/ \
/ \
________/ \______________
klowcut khighcut
Here is an example of the pvsbandp opcode. It uses the file pvsbandp.csd.
Example 809. Example of the pvsbandp 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 pvsbandp.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 pvsbandp fftin, klowcut, klowfull, khighfull, khighcut ; band pass 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>