ELECTRIC OPRPHEUS ACADEMY
SPILLING THE BEANS #12 KEX
Eine Leidenschaft von mir ist, bekannte Dinge aus einer
anderen Perspektive zu betrachten und neue Methoden und Anwendungen dabei
zu entdecken.
Lange Zeit fehlte mir soetwas wie ein Hüllkurvengenerator.
(In meinen älteren Stücken
hatte ich Hüllkurven
bei Bedarf händisch geregelt, mit einem switch und einem fader...).
Die üblichen
devices lösen soetwas mit attack-sustain-release,
oder so ähnlich. Das war mir zu wenig organisch und ich kam zu folgender
Lösung.
kex (komplementäre Exponetialfunktionen)
Man stelle sich zwei exponentiell abnehmende Hüllkurven vor, beide
mit voller Amplitude beginnend, die eine langsamer abnehmend, die andere
schneller:
Subtrahiert man sie voneinander, so resultiert ein Verlauf, der bei Null
beginnt, zunächst kontinuierlich ansteigt, um dann wieder exponentiell
zu versiegen:
Dabei wirkt der kürzere Ausklang als attack, der längere als
decay. Wenn die beiden Kurven sehr unterschiedlich sind, wird der Anklang
steiler, wenn sie sehr ähnlich sind, wird der Verlauf flacher:
Ein interessanter, organischer Nebeneffekt ist, dass die
flacheren Kurvenverläufe auch leiser sind. Dem könnte man natürlich
durch eine Normierung entgegenwirken, es macht aber durchaus (hörbar)
Sinn, so damit zu arbeiten.
Hier die drei Varianten als Hörbeispiel. Als Klang dient ein freeze
eines Ausschnittes von 'Watersong' von Limpe Fuchs. (Wie so ein freeze
hergestellt werden kann, hab ich anderenorts bereits beschrieben. >>
SPILLING THE BEANS #1 Hall).
kex kurz
kex mittel
kex lang
Ein weiterer interessanter Aspekt ist, dass sich solche Hüllkurven
schichten lassen. Ein neuer attack kann sozusagen auf einen bereits bestehenden
Verlauf draufgesetzt werden, wodurch sehr dynamische rhythmische Patterns
möglich werden.
Ein Motiv: Dasselbe freeze, nun in einer Serie mit Tempotranspostion und
frequency shift und verschiedenen Einstellungen der Exponentialfunktionen.
akex01
Schon Anfang der Achzigerjahre verwendete ich einen analogen Hüllkurvengenerator
nach diesem Prinzip. Wolfgang und Thomas Musil hatten das Gerät gebaut.
Sehr gut zu hören in den Stücken LANDSCHAFT, EVE und KLEINE
FUGE (>> Werke 4, ccr 404)
In VASP ist es die Routine env.kex, in AMP das Kernmodul
env.kex, das im Sequenzer betrieben werden kann. Für
den Workshop hat Wolfgang Musil so einen Hüllkurvengenerator auch
als MAX-patch ausgeführt.
* * *
Ich persönlich liebe solche einfachen, organischen Funktionen. Aber
natürlich liesse sich ein Hüllkurvengenerator auch raffinierter
gestalten. Kombinationen von mehreren Funktionen wären möglich,
auch complex (mit Pulsen unterschiedlicher Frequenz). Eine complexe Exponentialfunktion
könnte in der xy-Darstellung beispielsweise so aussehen (in VASP
gen.cexp):
* * *
Die Exponentialfunktion ist der Prototyp eines energetischen Ausklangverhaltens,
etwa bei einem gedämpften Pendel oder bei einer ausklingenden Saite
- und sie ist extrem einfach zu haben (eine Multiplikation mit einem decay-Faktor
sample für sample).
Es gibt aber durchaus noch andere elementare Funktionen, die auch nicht
viel aufwendiger sind. Die Gauss-Funktion zum Beispiel, eine Exponentialfunktion
nach dem Quadrat der Zeit, anfangs flacher, aber dann rascher verklingend
(env.gauss):
[In einem meiner neuesten Generatoren verwende ich eine Kombination
von komplementären Exponential- und Gaussfunktionen]
Oder eine Funktion, die eine Abnahme der Amplitude wie durch wachsende
Entfernung simuliert, erst steil ausklingend, dann aber nur langsam versiegend:
(Die violetten Striche markieren gleiche Zeitabstände, in denen die
Kurve reziprok abnimmt: 1/2, 1/3, 1/4, 1/5 ...)
env.fade heisst die Funktion in VASP und es gibt sie
in einigen interessanten Varianten.
[Das erklärt vielleicht auch einmal, warum ich den Begriff 'fade'
nur ungern verwende, wenn bloss ein banaler Schrägschnitt gemeint
ist. Was woanders fadein und fadeout benannt ist, heisst in VASP deshalb
bevel (bev) - in der Regel eine kurzes
Einblenden und ausblenden, damit die Ränder nicht knacksen.]
Nichtzuletzt könnte man auch unterschiedliche Spektralbereiche mit
verschiedenen Hüllkurven versehen, oder variable Filter mitsteuern.
Eins nach dem anderen ...
akueto
G.R.
(c) Günther Rabl 2011
------------------------------------------------
AMP script zum obigen Motiv
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]