lowresx — Simulates layers of serially connected resonant lowpass filters.
lowresx is equivalent to more layers of lowres with the same arguments serially connected.
inumlayer -- number of elements in a lowresx stack. Default value is 4. There is no maximum.
iskip -- initial disposition of internal data space. A zero value will clear the space; a non-zero value will allow previous information to remain. The default value is 0.
asig -- input signal
xcutoff -- filter cutoff frequency point
xresonance -- resonance amount
lowresx is equivalent to more layer of lowres with the same arguments serially connected. Using a stack of a larger number of filters allows a sharper cutoff. This is faster than using a larger number of instances of lowres in a Csound orchestra because only one initialization and k cycle are needed at time and the audio loop falls entirely inside the cache memory of processor. Based on an orchestra by Hans Mikelson
Here is an example of the lowresx opcode. It uses the file lowresx.csd.
Example 545. Example of the lowresx 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 lowresx.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kres = p4 inumlayer = 4 kenv linseg 0, p3*.1, 1, p3*.8, 1, p3*.1, 0 ;envelope asig vco .3 * kenv, 220, 1 ;sawtooth kcut line 30, p3, 1000 ;note: kcut is not in Hz alx lowresx asig, kcut, kres, inumlayer ;note: kres is not in dB aout balance alx, asig ;avoid very loud sounds outs aout, aout endin </CsInstruments> <CsScore> ;sine wave f 1 0 16384 10 1 i 1 0 5 1 i 1 + 5 3 i 1 + 5 20 e </CsScore> </CsoundSynthesizer>