The Alternative Csound Reference Manual
Previous |  | Next

# 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 */
    ; 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 */
    ; 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

Example written by Kevin Conder.

New in Csound version 4.03

Added notes by Rasmus Ekman on September 2002.

Previous | Home | Next
follow | Up | foscil