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 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 diskin "beats.wav", 1
out a1
endin
; Instrument #2 - have another waveform follow the WAV file.
instr 2
; Follow the WAV file.
as diskin "beats.wav", 1
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 */