F-em User Guide
Reverse
Subtracts
a
from 1 or from -1 if
a
is smaller than zero. Values close to 0
become close to 1 and vice versa.
Performs the following operation:
y = a < 0 ? (-1 - a) : (1 - a)
Threshold
Only returns
a
if
a
is greater or equal than
b
, else returns 0. Similar to
Switch, but returns
a
rather than 1.
Performs the following operation:
y = a < b ? 0 : a
Saturate
Drives
a
*
b
up very high and clips the result to the range of -1 .. +1. To
reduce clipping, just lower
a
or
b
.
Performs the following operation:
y = clip ( a • b • 100)
Filter
Filter applies a first-order low pass filter to the value changes of
a
with
b
as cutoff. Performs the following operation:
y = y1 •(1 - b) + a • b; y1 = y
Lag
Returns a linear ramp reaching value
a
with a rate of
b
. The ramp goes
up- or downwards depending on the value of
a
. If
y
reaches the value of
a
, it stays there.
Performs the following operation:
y = a > y1 ? y1 + |b| : a < y1 ? y1 - |b| : a; y1 = 1
Ramp
Returns a linear ramp from 0 to maximum with a rate of
b
if a crosses 0
positively. If the ramp is at its maximum value, it stays there. If
a
crosses
0 negatively, the ramp is reset back to 0.
Performs the following
operation:
y = a > 0 ? y1 + b : 0;
y = y > 1 ? 1 : y;
y1 = y;
S&H
(Sample & Hold)
Performs the following operation:
b = b * b * n;
if (t > b)
{
t = 0;
y1 = a; }
y = y1;
t++;
b
is multiplied by itself to allow finer adjustments in the lower value
range.
n
is the maximum hold time of 1 second.
t
is an incremental timer.
Upon note start,
t
is set to
n
+ 1 to ensure that
y
contains a valid value.
59