moogladder2 — Moog ladder lowpass filter.
Moogladder2 is an new digital implementation of the Moog ladder filter based on the work of Antti Huovilainen, described in the paper "Non-Linear Digital Implementation of the Moog Ladder Filter" (Proceedings of DaFX04, Univ of Napoli). This implementation uses approximations to the tanh function and so is faster but less accurate than moogladder.
asig moogladder2 ain, kcf, kres[, istor]
asig moogladder2 ain, acf, kres[, istor]
asig moogladder2 ain, kcf, ares[, istor]
asig moogladder2 ain, acf, ares[, istor]
istor --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 -- input signal.
kcf/acf -- filter cutoff frequency
kres/ares -- resonance, generally < 1, but not limited to it. Higher than 1 resonance values might cause aliasing, analogue synths generally allow resonances to be above 1.
Here is an example of the moogladder2 opcode. It uses the file moogladder2.csd.
Example 631. Example of the moogladder2 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 moogladder2.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kfe expseg 500, p3*0.9, 1800, p3*0.1, 3000 asig buzz 1, 100, 20, 1 kres line .1, p3, .99 ;increase resonance afil moogladder2 asig, kfe, kres outs afil, afil endin </CsInstruments> <CsScore> f 1 0 4096 10 1 i 1 0 10 e </CsScore> </CsoundSynthesizer>