Next: Instrumente und Partituren , Previous: Abstraktionen und Steuerung , Up: Abstraktionen und Steuerung , Home: Einführung in die Digitale Elektronische Klangsynthese

Einführung in die Digitale Elektronische Klangsynthese

7.1. Hüllkurven

Ein Hüllkurvengenerator (englisch envelope generator) dient der Modellierung des Lautstärkeverlaufs eines Klangs. Es handelt sich also um einen Generator von Zahlenwerten im Wertebereich [0..1], dessen Zeitverlauf flexibel eingestellt werden kann. In vielen Computermusiksystemen gibt es bereits Unitgeneratoren, die solche Hüllkurven erzeugen. Man entscheidet dabei zwischen folgenden Typen:

  1. Abschnittsweise definierte Hüllkurvengeneratoren. Diese Generatoren können im Normalfall beliebig viele Segmente mit variabler Dauer und variablen Zielwerten enthalten. Dabei können die Punkte der Segmente durch lineare Abb. 28 oder exponentielle Abb. 29 Werteverläufe verbunden werden. Die Dauernwerte zwischen benachbarten Segmenten können dabei als absolute Zeitwerte definiert werden, oder proportional bezogen auf eine Gesamtdauer angegeben werden. Es ist wichtig, zu beachten, dass die y-Werte der Segmente von exponentiellen Hüllkurven positiv sein müssen, und nicht auf den Wert 0 enthalten dürfen.

env-gen-lin.svg
Abbildung 28: Abschnittsweise definierte Hüllkurve mit linearen Segmenten
env-gen-exp.svg
Abbildung 29: Abschnittsweise definierte Hüllkurve mit exponentiellen Segmenten
  1. Hüllkurvengeneratoren mit einer vordefinierten Anzahl und Funktion von Segmenten. Hierzu zählen ADSR Hüllkurvengeneratoren, die zumeist Bestandteil traditioneller Analogsynthesizer sind. Die Buchstaben ADSR stehen dabei für *A*ttack, *D*ecay, *S*ustain und *R*elease.
ADSR-envelope.svg
Abbildung 30: ADSR Hüllkurve

Abb. 30 zeigt den Verlauf eines solchen Hüllkurvengenerators. Mit dieser Form der Hüllkurve soll das Ein- und Ausschwingverhalten von Instrumenten, und damit deren Artikulation simuliert werden.

  • Die Attack Zeit gibt dabei die Dauer an, mit der der Hüllkurvengenerator von 0 auf den Wert 1 geht.
  • Die Decay Zeit gibt die Dauer an, mit der der Hüllkurvengenerator direkt im Anschluß von 1 auf den Sustain Level geht.
  • Der Sustain Level ist ein Wert zwischen 0 und 1, der die Lautstärke des Klangs nach dem durch den Attack und Decay simulierten Einschwingvorgang angibt.
  • Die Release Zeit gibt die Dauer an, mit der der Hüllkurvengenerator am Ende des Klangs vom Sustain Level auf den Wert 0 geht. Damit wird das Ausschwingverhalten eines Klanges simuliert.

Wie aus Abb. 31 hervorgeht, lassen sich mit diesen Werten verschiedene traditionelle Artikulationen von Musikinstrumenten realisieren.

ADSR-examples.svg
Abbildung 31: Beispiele verschiedener ADSR Hüllkurven

Bei Analogsynthesizern sind die Werte für Attack, Decay und Release immer absolute Zeitwerte, bei Computermusiksystemen existieren sowohl absolute, als auch proportionale Formen4.

Wenn Instrumente live auf Tastaturen gespielt werden sollen, macht es Sinn, die Gesamtdauer des Klanges vom Spiel des Instrumentalisten abhängig zu machen. ADSR Hüllkurvengeneratoren funktionieren dabei so, dass Sie beim Auslösen des Klanges (beispielsweise durch das Drücken einer Taste auf dem Keyboard) zunächst die Einschwingphase (Attack und Decay) ausführen und dann den Sustain Level beibehalten, bis die Taste losgelassen wird. Durch das Loslassen der Taste wird die Release Phase ausgelöst und der Ton klingt, bis zum Ende dieser Phase weiter. Dadurch ist die Gesamtdauer des Klangs um die Dauer des Release Wertes länger, als die Dauer, in der die Taste gedrückt wurde (siehe Abb. 30 unten).

Manche Computermusiksysteme, wie SuperCollider, simulieren dieses Verhalten mit Hilfe einer speziellen Variable, die Gate genannt wird. Zu Beginn des Klangs wird dieser Wert auf 1 gesetzt. Der Klang wird dann solange gehalten, bis dieser Wert auf 0 gesetzt wird. Es ist dann Aufgabe des Anwenders, das Zeitverhalten des Klangs und die Hüllkurven für diese beiden Gatewerte zu definieren.

Fußnoten:

4

Unter proportionaler Form versteht man Dauerangaben, die sich auf die Gesamtlänge eines Klangs beziehen. Dabei wird die Gesamtlänge auf den Wertebereich 0..1 normalisiert. Eine Attackzeit von 0.2 bedeutet also, dass der Attack in 1/5 der Gesamtdauer des Klanges erfolgt

Autor: Orm Finnendahl

Created: 2024-07-23 Di 10:40

Validate