moogvcf2 — A digital emulation of the Moog diode ladder filter configuration.
iscale (optional, default=0dBfs) -- internal scaling factor, as the operation of the code requires the signal to be in the range +/-1. Input is first divided by iscale, then output is mutliplied by iscale.
iskip (optional, default=0) -- if non zero skip the initialisation of the filter.
asig -- input signal
xfco -- filter cut-off frequency in Hz. which may be i-,k-, or a-rate.
xres -- amount of resonance. Self-oscillation occurs when xres is approximately one. May be a-rate, i-rate, or k-rate.
moogvcf2 is a digital emulation of the Moog diode ladder filter configuration. This emulation is based loosely on the paper “Analyzing the Moog VCF with Considerations for Digital Implemnetation” by Stilson and Smith (CCRMA). This version was originally coded in Csound by Josep Comajuncosas. Some modifications and conversion to C were done by Hans Mikelson and then adjusted.
moogvcf2 is identical to moogvcf, except that the
iscale parameter defaults to 0dbfs instead of 0, guaranteeing that amplitude will usually be OK.Here is an example of the moogvcf2 opcode. It uses the file moogvcf2.csd.
Example 268. Example of the moogvcf2 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 ; Audio out Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o moogvcf.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 ; Use a nice sawtooth waveform. asig vco 32000, 220, 1 ; Vary the filter-cutoff frequency from .2 to 2 KHz. kfco line 200, p3, 2000 ; Set the resonance amount to one. krez init 1 a1 moogvcf2 asig, kfco, krez out a1 endin </CsInstruments> <CsScore> ; Table #1, a sine wave for the vco opcode. f 1 0 16384 10 1 ; Play Instrument #1 for three seconds. i 1 0 3 e </CsScore> </CsoundSynthesizer>