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
kcutoff -- filter cutoff frequency point
kresonance -- 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 files lowresx.orc, lowresx.sco, and beats.wav.
Example 15-1. Example of the lowresx opcode.
/* lowresx.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1 - play the sawtooth waveform through a
; stack of filters.
instr 1
; Use a nice sawtooth waveform.
asig vco 5000, 440, 1
; Vary the cutoff frequency from 30 to 300 Hz.
kcutoff line 30, p3, 300
kresonance = 3
inumlayer = 2
alr lowresx asig, kcutoff, kresonance, inumlayer
; It gets loud, so clip the output amplitude to 30,000.
a1 clip alr, 1, 30000
out a1
endin
/* lowresx.orc */
/* lowresx.sco */
; Table #1, a sine wave for the vco opcode.
f 1 0 16384 10 1
; Play Instrument #1 for two seconds.
i 1 0 2
e
/* lowresx.sco */