ELECTRIC OPRPHEUS ACADEMY
SPILLING THE BEANS #12 KEX
A passion of mine is to look at established things from a different perspective and to discover new methods and applications thereby.
For a long time I was missing something like an envelope
curve generator. (In my older pieces I adjusted
envelope curves manually when needed, with a switch and a fader...). The
usual devices solve such a thing with attack-sustain-release, or something
like that. That was not organic enough for me, so I came to the following
solution.
kex (complementary
exponential functions)
One imagines two exponentially decreasing envelope
curves, both beginning with full amplitude; one of them decreasing more
slowly, the other quicker:
If one subtracts them from each other, the result is a progression that
begins at zero, initially rises continually, in order to then peter out
again exponentially:
The shorter curve thereby acts as an attack, the longer one as a decay.
If both curves are very different, the attack becomes steeper; if they
are very similar, the progression becomes flatter:
An interesting, organic side effect is that the flatter curve progressions
are also quieter. One could naturally counteract that by a standardization;
however, it definitely makes (hearable) sense to work with it this way.
Here are the three variants as listening examples. A freeze from a cut
of 'Watersong' by Limpe Fuchs serves as the sound. (I have already described
how such a freeze can be constructed. >> SPILLING THE BEANS
#1 Reverberation).
kex_kurz.mp3
kex.mittel.mp3
kex.lang.mp3
A further interesting aspect is that such envelope curves allow themselves
to be layered. A new attack can, so to say, be set upon an already existing
progression, making very dynamic, rhythmic patterns possible.
A motif: the same freeze, now in a series with tempo transposition and frequency shift and various settings of the exponential functions.
akex01.mp3
Already at the beginning of the 1980s I used an analog envelope curve
generator according to this principle. Wolfgang
and Thomas Musil built this device. It can be
heard very well in the pieces LANDSCHAFT, EVE and KLEINE FUGE (>>
Werke 4, ccr 404).
In VASP it is the routine env.kex,
in AMP the core module env.kex
that can be run in the sequencer. For the workshop, Wolfgang Musil has
engineered such an envelope curve generator also as a MAX patch.
* * *
I personally love such simple, organic functions. However, such an envelope
curve generator could also be crafted in a more sophisticated manner.
Combinations of several functions would be possible, also complexly (with
pulses of different frequency). A complex exponential function could,
for instance, look like this in the xy representation (in VASP gen.cexp):
* * *
The exponential function is the prototype of an energetic behavior, such
as with a dulled pendulum or with a damped string – and it is extremely
simple to have (a multiplication with a decay factor sample for sample).
However, there are definitely still other elementary
functions that are also not much more elaborate
– the Gauss function, for example, an exponential function according
the square of time, flatter at the beginning, but then fading more rapidly
(env.gauss):
[In one of my newest generators I use a
combination of complementary exponential and Gauss functions]
Or a function that simulates
a decrease of amplitude as through growing distance, first steeply sustaining,
but then only slowly fading:
(The violet lines mark equal intervals in which the curve decreases reciprocally
: 1/2, 1/3, 1/4, 1/5 ...)
env.fade
is the name of the function in VASP and it exists in several interesting
variants.
[That perhaps also explains why I only use the term 'fade' reluctantly if simply a banal cut is meant. What is elsewhere called fade in and fade out is therefore called bevel (bev) in VASP – as a rule, a brief cut in and blank out so that the edges do not crackle].
If nothing else, one can also furnish different
spectral areas with various envelope curves or provide variable filters.
One thing at a time...
akueto
G.R.
(c) Günther Rabl 2011
------------------------------------------------
AMP script for the motif above
i1=limpe6_freeze.wav (m,vsp=flt)
k1=env.kex (m,*i1)
k2=fshift (m,*k1)
out=akex01.wav (m,*k2,opt)
seg=24
time: / [[1],0,[8],1.5,[15],2.6,[22],3.1,[23],4.2,[24],5.3]
dur: [RAND(.09,.11),[7],4,[14,21,22,23],6,[24],6]
k1.att: [RAND(.01,.1),[21,22,23],6,[24],8,[],decay]
k1.dec: 2 [[7,14],4,[21],8,[22,23,24],10,[],decay]
k1.ini: 1
k1.iniamp: 1
i1.pos: / [[1,22,23,24],0]
i1.vsp: 1 [[csz/7=1],.5,[csz/7=2],.25,[22,23],.125,[24],.125]
k2.freq: 100 [csz/7=1],300,[csz/7=2],0,[22],2000,[23],2400,[24],0]