lowresx

lowresx --  Simulates layers of serially connected resonant lowpass filters.

Description

lowresx is equivalent to more layers of lowres with the same arguments serially connected.

Syntax

ar lowresx asig, kcutoff, kresonance [, inumlayer] [, iskip]

Initialization

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.

Performance

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

Examples

Here is an example of the lowresx opcode. It uses the files lowresx.orc, lowresx.sco, and beats.wav.

Example 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 */
        

See Also

lowres

Credits

Author: Gabriel Maldonado (adapted by John ffitch)
Italy

New in Csound version 3.49