follow2

follow2 --  Another controllable envelope extractor.

Description

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

Syntax

ar follow2 asig, katt, krel

Performance

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.

Examples

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

Example 1. Example of the follow2 opcode.

/* follow2.orc */
/* Written by Kevin Conder */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; Instrument #1 - play a WAV file.
instr 1
  a1 soundin "beats.wav"
  out a1
endin

; Instrument #2 - have another waveform follow the WAV file.
instr 2
  ; Follow the WAV file.
  as soundin "beats.wav"
  af follow2 as, 0.01, 0.1

  ; Use a noise waveform.
  ar rand 44100
  ; Have it use the amplitude of the followed WAV file.
  a1 balance ar, af

  out a1
endin
/* follow2.orc */
        
/* follow2.sco */
/* Written by Kevin Conder */
; Play Instrument #1 for two seconds.
i 1 0 2
; Play Instrument #2 for two seconds.
i 2 2 2
e
/* follow2.sco */
        

Credits

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.