resony — A bank of second-order bandpass filters, connected in parallel.
inum -- number of filters
isepmode (optional, default=0) -- if isepmode = 0, the separation of center frequencies of each filter is generated logarithmically (using octave as unit of measure). If isepmode not equal to 0, the separation of center frequencies of each filter is generated linearly (using Hertz). Default value is 0.
iscl (optional, default=0) -- coded scaling factor for resonators. A value of 1 signifies a peak response factor of 1, i.e. all frequencies other than kcf are attenuated in accordance with the (normalized) response curve. A value of 2 raises the response factor so that its overall RMS value equals 1. (This intended equalization of input and output power assumes all frequencies are physically present; hence it is most applicable to white noise.) A zero value signifies no scaling of the signal, leaving that to some later adjustment (e.g. balance). The default value is 0.
iskip (optional, default=0) -- initial disposition of internal data space. Since filtering incorporates a feedback loop of previous output, the initial status of the storage space used is significant. A zero value will clear the space; a non-zero value will allow previous information to remain. The default value is 0.
asig -- audio input signal
kbf -- base frequency, i.e. center frequency of lowest filter in Hz
kbw -- bandwidth in Hz
ksep -- separation of the center frequency of filters in octaves
resony is a bank of second-order bandpass filters, with k-rate variant frequency separation, base frequency and bandwidth, connected in parallel (i.e. the resulting signal is a mix of the output of each filter). The center frequency of each filter depends of kbf and ksep variables. The maximum number of filters is set to 100.
Here is an example of the resony opcode. It uses the file resony.csd.
Example 903. Example of the resony 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 -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o resonx.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ; unfiltered noise kenv linseg 0, p3*.5, 1, p3*.5, 0 ;envelope asig rand 0.7 ;white noise outs asig*kenv, asig*kenv endin instr 2 ; filtered noise ksep = p4 ;vary seperation of center frequency of filters in octaves kenv linseg 0, p3*.5, 1, p3*.5, 0 ;envelope asig rand 0.7 kbf line 300, p3, 2000 ;vary base frequency afilt resony asig, kbf, 300, 4, ksep asig balance afilt, asig outs asig*kenv, asig*kenv endin </CsInstruments> <CsScore> i 1 0 2 i 2 3 2 1 i 2 6 2 3 e </CsScore> </CsoundSynthesizer>