follow2 — Another controllable envelope extractor.


A controllable envelope extractor using the algorithm attributed to Jean-Marc Jot.


ares follow2 asig, katt, krel


asig -- the input signal whose envelope is followed

katt -- the attack rate (60dB attack time in seconds)

krel -- the decay rate (60dB decay time in seconds)

The output tracks the amplitude envelope of the input signal. The rate at which the output grows to follow the signal is controlled by the katt, and the rate at which it decreases in response to a lower amplitude, is controlled by the krel. This gives a smoother envelope than follow.


Here is an example of the follow2 opcode. It uses the file follow2.csd, and drumsMlp.wav.

Example 371. Example of the follow2 opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; 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 follow2.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

asig soundin "drumsMlp.wav"
     outs asig, asig

instr 2 ;using follow2

as soundin "drumsMlp.wav"
af follow2 as, p4, p5
ar rand 44100	;noise
; "drumsMlp.wav" provides amplitude for noise
asig balance ar, af
     outs asig, asig


i 1 0 2
i 2 2 2 0.001 0.01 ;quick attack & deacy
i 2 5 2  0.1   0.5  ;slow attack & deacy	


See also

Sensing and Control: Envelope followers


Author: John ffitch
The algorithm for the follow2 is attributed to Jean-Marc Jot.
University of Bath, Codemist Ltd.
Bath, UK
February 2000

New in Csound version 4.03

Added notes by Rasmus Ekman on September 2002.