ENVELOPE

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Begriffsklärung Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen finden sich unter ENVELOPE (Begriffsklärung).
ENVELOPE
Syntax: ENVELOPE <stimme>, <at>, <dc>, <sn>, <rl>
Parameter
stimme: Stimme (1..3)
at: Attack (0..15)
dc: Decay (0..15)
sn: Sustain (0..15)
rl: Release (0..15)
Einordnung
Typ: Anweisung
Kontext: Soundkontrolle
Aufgabe: Festlegen der Hüllkurve eines Sounds
Abkürzung: keine (TSB: eN)
Token: $64 $24 (100 36)
Verwandte Befehle
VOL - WAVE - MUSIC - PLAY


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort ENVELOPE.

Typ: Anweisung 
Syntax: ENVELOPE <stimme>, <a>, <d>, <s>, <r>

Mit ENVELOPE bestimmt man die sogenannte Hüllkurve eines Tones, das sind die vier Werte, die angeben, wie stark der Ton am Anfang anschwillt (Attack) und danach wieder abfällt (Decay) auf den Haltewert. Dieser Haltewert (Sustain) wird so lange ausgeführt, bis er durch eine 0 im Key-Bit (s. WAVE) beendet wird. Danach klingt der Ton mit der durch Parameter <r> (Release) bestimmten Dauer endgültig aus.

Für die Ausführung der Parameter ist also das Key-Bit des WAVE-Befehls zuständig (Bit 0). Ist dieses Bit=1, werden <a>, <d> und <s> abgearbeitet, wird es auf 0 gesetzt, tritt Parameter <r> in Kraft. Aus diesem Grund sollte ENVELOPE auf jeden Fall vor WAVE im Programm ausgeführt werden.

Für die Parameter <a>, <d> und <r> sind Werte zwischen 0 und 15 möglich, wobei diesen intern eine festgelegte Dauer in Tausendstel Sekunden zugeordnet ist. Diese lauten (nach dem Handbuch):

Wert Attack-Zeit Decay/Release-
Zeit
0 2 6
1 8 24
2 16 48
3 24 72
4 38 114
5 56 168
6 68 204
7 80 240
8 100 300
9 250 750
10 500 1500
11 800 2400
12 1000 3000
13 3000 9000
14 5000 15000
15 8000 24000

Der Sustain-Parameter <s> gibt laut Handbuch an, auf welchen Lautstärkepegel Decay abfallen soll. Hier sind ebenfalls Werte zwischen 0 und 15 möglich. Dieser Parameter beeinflusst also die Ausführung der Einstellungen bei VOL. Die Länge der Sustain-Phase eines Tones kann nicht gezielt eingestellt werden und hängt davon ab, wie lange andere Befehle den Ton klingen lassen.

Wertangaben von über 15 bei den Hüllkurvenparametern führen zu einem ?BAD MODE ERROR. Ebenso andere Werte als 1, 2 oder 3 für den Parameter <stimme>.


Beispiel[Bearbeiten | Quelltext bearbeiten]

100 VOL 15
110 ENVELOPE 1,1,8,10,10
120 WAVE 1, 00100001 
130 MUSIC 150, "{clr}1c2{f2}{clr}g"
140 PLAY 1
150 VOL 0

Spielt mit Stimme 1 den Sägezahn-Ton c2 als Viertelnote.

Ein etwas umfangreicheres Anwendungsbeispiel beim Simons-Basic-Befehl MOB SET Beipiel 2.