ENVELOPE
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.
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE