MIDI SEQUENCE GENERATOR V4.0



1. Einfhrung



Willkommen zum MIDI SEQUENCE GENERATOR (MSG). Wahrscheinlich haben Sie das 
Programm als 'algorithmisches Kompositionsprogramm' oder 'Kompositionshilfe' 
bekommen. Das ist irrefhrend, und ich mchte Ihnen einige Informationen 
darber geben, was MSG *wirklich* ist.



Es ist ein Werkzeug. Genauer, es ist ein Werkzeug, mit denen man bestimmte 
Dinge realisieren kann, die andere Programme nicht bieten. Es ist ber die 
Jahre gewachsen und deswegen eine Sammlung von Modulen, die ich ntzlich fand 
(und fr meinen eigenen Gebrauch wollte). Flexibilitt ist ein wichtiges 
Merkmal, und daher haben einige Module eine Menge Optionen, was sie komplex 
macht.



Ein wichtiger Punkt ist, da Sie die Arbeit mit MSG einfach halten *knnen*. 
Sie mssen sich nicht mit der Komplexitt von MSG beschftigen, sondern knnen 
einfach das Programm starten und mit ein paar Mausklicks die ersten Sequenzen 
erzeugen. Auf der anderen Seite knnen Sie die Sequenzen aber auch (beinahe) 
beliebig verndern. Sie knnen auch Standard-Midi-Files laden und die 
Bearbeitungsmglichkeiten dafr nutzen.



Wenn Sie gern mit Musik 'herumspielen', werden Sie MSG mgen, davon bin ich 
berzeugt. Allerdings mchte ich darauf hinweisen, da MSG keine 
Realtime-Eigenschaften hat - es ist kein Sequenzer, kein Begleitautomat oder 
hnliches. Gut, Sie *knnen* Sequenzen abspielen, wenn Sie wollen, aber das 
Timing der Routine wird Sie sicherlich nicht berzeugen - aber ich wollte das 
Rad nicht noch einmal erfinden, ganz davon abgesehen, da es wohl ziemlich 
eckig geworden wre.



Es gibt aber noch einen anderen Grund dafr, und das sind die Ideen hinter 
MSG. Prinzipiell gibt es zwei wichtige.

1) Viele Sequenzen in recht kurzer Zeit zu erzeugen. Nachdem Sie sie in Ihren 
Sequenzer geladen haben, WHLEN Sie die interessanten Dinge AUS. Das kann ein 
Bruchstck einer Sequenz sein, oder mehrere gekoppelte, oder alles dazwischen. 
Nochmal: Sie erzeugen viel mehr, als Sie eigentlich bentigen, und whlen das 
beste aus.

2) Spezielle Operationen durchzufhren, die Sie mit Ihrem Sequenzer nicht 
hinbekommen. Versuchen Sie mal, ein lngeres Solo in D-Moll nach Phrygisch auf 
As zu transformieren - mit MSG brauchen Sie dazu vielleicht 30 Sekunden. Oder 
versuchen Sie, eine sich beschleunigende Sequenz hinzubekommen, whrend das 
Schlagzeug aber mit 120 bpm konstant vor sich hintrommelt - kein Problem, 
jedenfalls fr MSG.

Beide Beispiele finden Sie brigens mit Parameter- und Midi-Files im Ordner 
MANUAL\INTRO.



Fr diese Zwecke mssen Sie die Sequenzen nicht notwendigerweise *sofort* 
hren. Wenn Sie Idee 1) verfolgen, wissen Sie, da sie spter eine Auswahl 
treffen, und bei Idee 2) wissen Sie ja ohnehin genau, was Sie wollen. 
Verstehen Sie mich nicht falsch - Ich behaupte nicht, da Sie nicht zu hren 
brauchen, was sie erstellt haben. Sie mssen, um gute Musik zu machen. Aber 
nicht unbedingt, whrend Sie mit MSG arbeiten.





2. Erste Schritte



Sie sollten die folgenden Files mit MSG erhalten haben:

   MSG4.PRG     das Programm

   MSG.RSC      das Resource-File

   MSG.INF      das Daten-File

   MSG.GBL      das File mit globalen Informationen

   MENGLISH.TXT englische Bedienungsanleitung

   MDEUTSCH.TXT deutsche Bedienungsanleitung, dieses File

sowie den Ordner

   MSG4         der eine Sammlung von Parameter-Files enthlt.



Klicken Sie einfach auf MSG4.PRG, und das Programm startet.





2.1 Eine kurze Sitzung mit MSG v4.0



Nach dem Start wird das MAKE-Modul angezeigt. Eine Menge Parameter sind 
einstellbar und man kann auch in mehrere Submodule verzweigen, aber das soll 
jetzt nicht stren. Drcken Sie einfach RETURN (nicht ENTER), und MSG erstellt 
ihre erste Sequenz. Dies sehen Sie in der unteren rechten Ecke: Die Anzeige 
wechselt von SEQUENCE: 0 OF xxxx nach SEQUENCE: 32 OF xxxx. xxxx ist die 
Anzahl Events, die in Ihren Computerspeicher passen (ich wei nicht, wieviel 
das bei Ihnen sind, da ich nicht wei, wieviel Ram Sie haben und wieviele 
Accessories geladen sind).



Mchten Sie sehen, wie die Sequenz aussieht? Gut. Drcken Sie F1. Die Anzeige 
wechselt zum EDITOR-Modul. Oben links ist eine graphische Anzeige, rechts eine 
numerische. Wenn Ihnen diese Anzeige vom Steinberg 24-Track bekannt vorkommt, 
dann haben Sie recht. ich glaube, Sie sehen schnell, was hier vor sich geht - 
Event-Nummer, Tonhhe (Pitch), Velocity, Position, Lnge, Kanal (Channel) und 
'Layer' werden angezeigt. Unten finden Sie die schon erwhnte Abspielroutine, 
und auch das Eingabe-Tool. Ja, Sie knnen auch Noten auf Ihrem Keyboard 
spielen - aber bitte, dies ist ein Step-Editor. ich wei nicht, was passieren 
wird, wenn Sie zu viele Noten gleichzeitig oder zu schnell hintereinander 
spielen... aber das ist etwas, was ein Sequenzer wesentlich besser kann als 
MSG.



Eine andere Ansicht gefllig? Ok, drcken Sie F2. Dies ist das Modul DISPLAY. 
Sie sehen Tonhhe und Position dargestellt. Klicken Sie jetzt einmal auf den 
Button AXIS DISPLAY. Ein Dialogfeld erscheint, wo Sie die Anzeige verndern 
knnen. Alle Komponenten eines Events sind whlbar. Dies wird sehr ntzlich 
sein, wenn wir zu dem Punkt kommen, wenn wir Events auswhlen und bearbeiten 
wollen.



Um Ihre erste Sitzung mit MSG abzuschlieen, drcken Sie jetzt Control-F. Die 
Sequenz wird jetzt als Standard-Midi-File gesichert. Verlassen Sie MSG dann 
mit Alternate-Q, laden Sie Ihre gerade erstellte Sequenz in Ihren Sequenzer, 
und dann... aber Sie wissen ja, was dann zu haben, gell?



Oh - Sie haben die Sequenz nicht abspeichern knnen? Dann haben Sie 'nur' die 
Shareware-Version. Sie finden einige Midi-Files im MSG-Ordner, die ich mit MSG 
erstellt habe, um zu zeigen, da es geht. Probieren Sie das Programm aus - nur 
die Midi-Speicher- und -Ladefunktionen sind 'abgeklemmt', alles andere 
funktioniert. Wenn Ihnen das Programm gefllt, bestellen Sie es bei mir 
(Adresse im Programm unter 'about', DM 49).



Soviel zu dem wohl krzesten Exkurs.



Lassen Sie uns nun mehr in die Details gehen. Fr viele Module finden Sie in 
den Ordnern unter MANUAL Beispiele mit Parameter-, MSG-internen (*.SQC) und 
Midi-Standard-Files.





2.2 generelle Bedienung



Ich bin sicher, da Sie mit den Atari-Menus vertraut sind. Fr die meisten 
Menupunkte gibt es Tastaturkrzel, die Sie hier nachsehen knnen.

Es gibt - je nach Modul - verschiedene Menus. Allen Modulen ist gemeinsam, da 
man den Screen-Saver aktivieren und sich den 'About'-Bildschirm ansehen kann.

Das umfangreichste Menu haben die 'offenen' Module mit den Menutiteln 
'Process' und 'Seq/Para'. Sie erlauben es, in alle GENERATE-, VIEW/SELECT- und 
MODIFY-Module zu verzweigen (Process). Unter Seq/Para findet man Optionen zum 
Laden und Speichern der aktuellen Sequenz (EDITOR, DISPLAY) bzw. der 
Modul-Parameter (alle anderen). Darberhinaus kann man die Sequenz ausdrucken, 
als Standard-Midi-File speichern oder Events lschen. Zum Schlu findet man 
hier auch die Klemmbrett-Funktionen und das GLOBAL-Modul. Die anderen Module 
haben weniger Eintrge. Normal sind Optionen zum Laden, Speichern und 
Initialisieren der Parameter, aber - vor allem fr die 
Wahrscheinlichkeitstabellen - auch Zufalls- und Rotationsfunktionen.



Die Bedienung der Maus ist vielleicht etwas ungewhnlich. Um einen Parameter 
zu verndern, gibt es die folgenden Optionen.

1) Klick links. Normalerweise wird der Wert um 1 vergrert. Parameter, die 
keine Zahlen sind, werden hochgeschaltet. Wird der hchste Wert berschritten, 
wird zum tiefsten gewechselt. Wenn der zu verndernde Wert jedoch eine 
Taktposition oder eine Notenlnge ist, erscheint eine Box und Sie knnen den 
neuen Wert direkt eingeben.

2) Klick rechts. Dies ist hnlich wie ein Klick links, nur werden die Werte 
vermindert anstatt erhht.

3) Klick rechts und links gleichzeitig. Wenn Sie grere Vernderungsschritte 
brauchen, drcken Sie den jeweils anderen Button mit dazu.

4) Klick, wenn CONTROL gedrckt ist. Sofern mglich, wird eine Box geffnet 
und der Wert kann direkt eingegeben werden. Dies funktioniert bei 
Zahlenwerten, Notenhhen sowie Skalen (MODE) und Tonarten (KEY).



Eine einfache UNDO-Funktion ist eingebaut. Wenn Sie die letzte Operation 
widerrufen mchten, drcken Sie UNDO (ich wollte diese Funktion nicht auf 
BACKSPACE oder HELP legen ;-)) ). Die 'alte' Sequenz und ein UNDO-Text 
erscheinen. Drcken Sie nochmals UNDO, um die 'neue' Sequenz wieder 
herzustellen. Wenn Sie von der 'alten' Sequenz aus irgendeine Operation 
durchfhren, ist die 'neue' verloren.





3. Module



3.1 Konzept der Module und Events



MSG generiert und/oder modifiziert EVENTS. Ein einzelner EVENT ist - momentan 
- eine einzelne Note, die aus den Komponenten PITCH (Tonhhe), VELOCITY 
(Anschlagstrke), POSITION, LENGTH (Lnge), CHANNEL (Midi-Kanal) und LAYER 
besteht. Die ersten fnf treten in jedem Midi-Musik-Programm auf. LAYER (zu 
deutsch: Schicht) beschreibt verschiedene, aufeinanderfolgende Generierungen: 
Sie knnen mehrfach Events generieren, die mit den vorher erzeugten gemischt 
werden. Jede 'Schicht' erhlt einen eigenen Wert fr LAYER.



Alle EVENTS in allen LAYERn ergeben zusammen die SEQUENCE. Wie dies aussieht, 
knnen Sie aus den Files im Ordner MANUAL\LAYERS entnehmen. Dort sind eine 
Drum-, Bass-, zwei Arpeggio- und eine Solospur einerseits als Parameterfiles 
enthalten, andererseits auch als MSG-interne Sequenz (*.SQC) und als 
Midi-File. Ihr Sequenzer sollte das Midi-File direkt in verschiedene spuren 
laden. Wenn Sie die zusammengesetzte Sequenz im Editor betrachten, sehen Sie 
anhand der Eintrge unter LAYER, welches Event zu welcher 'Spur' gehrt. Wenn 
Sie dann unter SELECT EVENTS die einzelnen LAYER selektieren, wird es auch 
grafisch im DISPLAY-Modul anschaulich.



MSG besteht aus Modulen, die teilweise den Zugriff auf Unter-Module erlauben. 
Alle Module gehren entweder zur Gruppe GENERATE (Erstellen), VIEW/SELECT 
(Anzeigen/Auswhlen) oder MODIFY (Bearbeiten). Starten Sie das Programm und 
sehen Sie unter dem Menu PROCESS nach. Von dort sind alle momentan eingebauten 
Module erreichbar.



Die GENERATE-Module dienen dazu, den Speicher mit Events zu fllen, selbst 
wenn es sich 'nur' um das Laden eines Standard-Midi-Files handelt.Die 
VIEW/SELECT-Module stellen die Events graphisch dar und bieten verschiedene 
Mglichkeiten der Selektion.

Die MODIFY-Module schlielich verndern die Events. WICHTIG: alle 
MODIFY-Funktionen werden *nur* auf selektierte Events angewendet. Diese sind 
im Editor kenntlich durch ein Hkchen in der Spalte ganz rechts. Im DISPLAY 
ist eine selektierter Event durch einen ausgefllten Kreis erkennbar.



Noch einmal: Wenn keine Events ausgewhlt sind, knnen keine der 
MODIFY-Funktionen benutzt werden.



Wie schon gesagt, knnen Sie mehrere LAYER generieren - so lange die maximale 
Anzahl EVENTS nicht berschritten wird. Wenn Sie EVENTS generieren, wenn sich 
schon welche im Speicher befinden, wird MSG Sie fragen, wie Sie fortsetzen 
wollen. Sie knnen die alte Sequenz lschen, oder Sie knnen die neue an jeden 
beliebigen Punkt dazumischen oder einfgen. Jeder Durchgang erhlt einen neuen 
Wert fr LAYER, so da die Schichten einfach identifiziert werden knnen.



3.1 GENERATE-MODULE



3.1.1 MAKE



Dies Modul kennen Sie schon, weil es ja beim Programmstart angezeigt wird. Es 
erlaubt, Events aus dem Nichts zu erzeugen, bietet aber eine Menge Kontrolle. 
Alle Event-Komponenten knnen vollkommen unabhngig von den anderen erzeugt 
werden.

Es gibt drei Bereiche, fr PITCH, VELOCITY und LNGE.



PITCH weist die folgenden Parameter auf. VELOCITY und LENGTH haben weniger 
Parameter, die aber - wenn vorhanden - dasselbe tun wie bei PITCH.

* GENERATE/SKIP. Sie knnen whlen, ob PITCH-Werte erzeugt werden sollen oder 
nicht. Auf den ersten Blick scheint dies berflssig, aber es gibt einen 
Grund. Stellen Sie sich eine Sequenz vor, deren PITCH-Werte Sie behalten 
wollen, nicht aber VELOCITY und LENGTH. Dann ist es einfach: SETZEN Sie 
GENERATE NOTES auf die Lnge der Sequenz und wechseln Sie auf SKIP anstatt 
GENERATE. Drcken Sie RETURN und whlen Sie 'DELETE OLD SEQUENCE'. Weil Sie 
keine neuen PITCH-Werte generieren, bleiben die alten erhalten.

* LOWER und UPPER LIMIT sind klar - keine PITCH-Werte auerhalb dieser Grenzen 
werden erzeugt.

* MODE und KEY sollten ebenfalls klar sein - innerhalb der LIMITS sind nur die 
Werte erlaubt, die zu der Kombination aus MODE (Skala) und KEY (Tonart) 
gehren. Zur Verdeutlichung sind sie dargestellt.

* EDIT PROBAB. TABLE. Ein Klick auf diesen Button verzweigt in ein Sub-Modul. 
Dort haben Sie mehr Kontrolle ber das mgliche Auftreten der einzelnen Werte 
(s. Kap. 4).

* FUNCTION. Es stehen etliche Funktionen fr die Generierung zur Verfgung. 
Darunter sind z.B. zufllige, mathematische, fraktale und Arpeggio-Funktionen. 
Klicken Sie auf den kleinen Button rechts des Wortes FUNCTION, um die Gruppe 
auszuwhlen, und auf den greren darunter, um die Funktion auszuwhlen. Alle 
Funktionen sind in Kap. 5 beschrieben.

* PARAMETER A-I. Viele Funktionen brauchen bis zu neun Parameter, die 
natrlich einstellbar sind. Welche Parameter fr die jeweilige Funktion 
benutzt werden, wird in der Box darunter angezeigt. Ein Klick auf diese Box 
generiert zufllige Werte fr die neun Parameter.

* ENVELOPE UPPER/LOWER MODE, EDIT ENVELOPE. Das Konzept mit der Ober- und 
Untergrenze (LIMIT) is unzureichend, wenn eine Sequenz mit vernderlichen 
Grenzen gewnscht wird. ENVELOPE ist ein Sub-Modul fr diesen Zweck. Die vier 
verschiedenen Modi fr den Verlauf der Ober- und Untergrenze knnen auch im 
MAKE-Modul eingestellt werden. Die anderen Parameter des Sub-Moduls ENVELOPE 
sind in Kap. 4 beschrieben.



Am unteren Rand lt sich einstellen, wieviele Events generiert werden sollen 
(GENERATE xx NOTES), und zwei Werte fr den Midi-Kanal knnen eingegeben 
werden. Wenn diese zwei Werte sich unterscheiden, erhlt das erste Event den 
linken Wert fr den Midi-Kanal. Fr das nchste Event wird dieser Wert erhht. 
ist er hher als der rechte, wird er zurck auf den linken gesetzt. In dem 
Fall, da der linke Wert hher als der rechte ist, werden die 
dazwischenliegenden Werte ausgeblendet. Dies ist so etwas wie der 'Alternate 
Mode' meines Yamaha TX81Z-Synthis.



Um eine (weitere) Event-Schicht zu erzeugen, drcken Sie RETURN. Ah, das htte 
ich fast vergessen - die Events werden legato aneinandergehngt, also hngen 
die Positionen von den Lngen der vorherigen Events ab. Daraus folgt auch, da 
diese Event-Schichten monophon sind.

Vielleicht wundern Sie sich, da keine Ober- und Untergrenze fr die Lnge der 
Noten einstellbar ist. Dies hat sich als unpraktisch erwiesen - es ist 
einfacher, die Wahrscheinlichkeitstabelle (Kap. 4) zu benutzen, um einzelne 
Notenlngen an- und abzuschalten.





3.1.2 RHYTHMN



Dieses Modul generiert polyphone Sequenzen, gut geeignet zur Kombination mit 
Drum-Sounds. Acht verschiedene 'Instrumente' knnen gleichzeitig erzeugt 
werden. Die Parameter fr jedes einzelne Instrument sind wie folgt.

* INSTRUMENT. Dies ist der oberste, groe Button. ein Linksklick bedeutet, da 
dies Instrument an- oder abgeschaltet wird. Ein Rechtsklick verzweigt in das 
Sub-Modul, wo Name und PITCH-Wert editiert werden knnen (s. Kap. 4).

* CHAN. Der Midi-Kanal des Instruments.

* MEASR. Das Taktma, das die Basis fr die Berechnung dieses Instrumentes 
angibt. Wichtig fr die drei VELOCITY-Werte.

* HI VEL, MD VEL, LO VEL. Die VELOCITY-Werte fr stark, schwach und nicht 
betonte Noten im jeweiligen Taktma.

* MESH A. Der Abstand (Netz) zwischen zwei mglichen Events dieses 
Instruments.

* OFFS A. Ein 'Offset' kann angegeben werden. Ein Beispiel: Sie mchten 
Achtelnoten, aber nicht auf 0/8, 1/8, 1/4 etc, sondern auf 1/16, 3/16, 5/16 
etc. In diesem Fall setzen Sie MESH auf 1/8 und OFFSET auf 1/16.

* DENS A. Die DENSITY (Dichte) beschreibt, wie hufig ein Event erscheint. Bei 
Werten von erscheint er nie, bei 100 immer. Daher wird er bei 30 (im Mittel) 
dreiigmal von Hundert erscheinen, bei 70 siebzigmal. Ein Klick auf die kleine 
farbige Flche links setzt diesen Wert auf Null.

* MESH B, OFFS B, DENS B. Es gibt zwei Netze, die voneinander unabhgig 
durchlaufen werden.

* LOOP 1/8. Jedes Instrument kann mit einer eigenen Schleifenlnge (LOOP) 
versehen werden. Ein Klick auf die kleine farbige Flche links setzt diesen 
Wert auf den, der sich aus GENERATE xx HALF NOTES ergibt.

Dies ist sehr ntzlich, um variable Drum-Loops zu erstellen. Wenn ich selbst 
dies Modul benutze, stelle ich fr die Bassdrum zwei oder vier Takte ein, fr 
die Snare die doppelte Lnge, und fr die Hihats eine ungerade Lnge, z.B. 
19/8. Bassdrum und Snare sind dann tight auf 4/4, whrend die Hihat-Figur sich 
graduell verndert.



Die globalen Parameter sind:

* REPEAT LOOPS. Wenn eine individuelle Loop krzer ist als die gesamte Lnge, 
knnen Sie hier einstellen, ob die Instrument-Loop bis GENERATE xx HALF NOTES 
wiederholt werden soll oder nicht.

* GENERATE xx HALF NOTES. Beschreibt die maximale Lnge des Layers. Die 
tatschliche Lnge kann krzer sein, wenn die individuellen Loops krzer sind 
und REPEAT LOOPS auf NO gestellt ist.



Die Generierung started wiederum durch Drcken der Taste RETURN. Die Lnge 
jeder einzelnen Note wird auf 12 Ticks (1/64-note) gesetzt.





3.1.3 DRAW



Dies ist ein weiterer etwas unblicher Weg, Noten einzuspielen. Wenn Sie 
dieses Modul anwhlen, werden ein Netz und vier Parameterflchen dargestellt. 
Die Idee ist, mit der Maus irgendwo im Netz zu klicken, wodurch ein Event 
generiert wird. PITCH, VELOCITY und LENGTH (und dadurch auch POSITION) werden 
gem der Parameter gesetzt. Diese sind wie folgt.



* DRAW MODE. Legt fest, welche Event-Komponente auf welcher Achse dargestellt 
wird. PITCH kann entweder mit VELOCITY oder LENGTH gekoppelt werden.Die Werte 
fr PITCH und VELOCITY sind dieselben, wie sie gerade im MAKE-Modul 
eingestellt sind.

* LENGTH. Eine Eventlnge zwischen 1/16T und 1/2. kann eingestellt werden.



Natrlich kann das Netz nur PITCH und VELOCITY *ODER* LENGTH darstellen. Bei 
der Kombination PITCH/VELOCITY wird dann die LENGTH benutzt, die in der 
entsprechenden Box ausgewhlt ist. Ist die Kombination PITCH/LENGTH, dann wird 
das LOWER LIMIT fr die VELOCITY benutzt.



Hier ist ein Beispiel fr die Benutzung dieses Moduls. Sie whlen den DRAW 
MODE 'Pitch on Y, Velo on X' und klicken auf die '1/8' Notenlngen-Box. Dann 
klicken Sie irgendwo im Netz. Fr einen Augenblick wird das Rechteck unter dem 
Mauszeiger schwarz, was bedeutet, da der Event angehngt wurde. Die Box unter 
DRAW MODE verndert sich: Da ist ein Event mehr, und die nchste 
Einfgeposition wird angezeigt. Die Parameter diese Event sind: PITCH und 
VELOCITY abhngig von den Position im Netz, LENGTH wie in der LENGTH-Box 
eingestellt. Klicken Sie wieder im Netz und ein weiterer Event wird angefgt, 
solange, bis Sie das Modul verlassen.





3.1.4 LOAD MIDI



Dies Modul ist leicht zu verstehen. Es besteht aus nur einer File-Auswahl-Box. 
Whlen Sie ein Standard-Midi-File aus, und MSG wird die Noten-Events daraus 
lesen. Diese Events knnen Sie dann mit allen MSG-Funktionen bearbeiten.





3.1.5 MORSE



Dieses Modul ermglicht es, ein Text-File (tatschlich akzeptiert MSG aber 
jedes File) einzulesen und aus den Buchstaben eine Morse-Sequenz zu erstellen. 
Zur Erinnerung: Das Morse-Alphabet setzt jeden Buchstaben in eine mehr oder 
weniger kurze von langen und kurzen Impulsen um. Normalerweise haben die 
Impulse alle dieselbe Tonhhe. MSG erlaubt es, fr jeden Buchstaben eine ander 
Tonhhe einzustellen. Die hierzu ntige Tabelle ist im oberen Teil des Moduls 
dargestellt. Sie knnen per Mausklick auf die PITCH-Werte diese verndern oder 
die Funktionen des FILE-Menus benutzen.



* LOAD/SAVE. Ldt oder speichert die Morse-Tabelle mit allen unten 
beschriebenen Parametern.

* INVERT NOTE POSITIONS. Dreht die Reihenfolge der PITCH-Positionen um. Erste 
Position wird letzte, zweite wird vorletzte etc.

* INVERT PROB. VALUES. Dreht die PITCH-Werte um. Hchster Wert wird zum 
niedrigsten etc.

* ROL PROB. VALUES. Rotiert die Positionen der PITCH-Werte einmal nach links. 
Erster wird letzter, zweiter erster usw.

* ROR PROB. VALUES. Wie vorher, nur wird in die andere Richtung rotiert.

* RND PROB. VALUES. Wrfelt die Positionen zufllig durcheinander.



Die anderen Parameter in der unteren Hlfte:

* FILE TO EXTRACT DATA. Sie mssen ein File auswhlen, das den zu 
konvertierenden Text enthlt. Die Lnge diese Files wird in der Box ber dem 
Namen angezeigt.

* BYTES TO READ. Die Anzahl der Bytes, die MSG umsetzen wird. Werte, die nicht 
in der obigen Tabelle vorkommen, werden ignoriert.

* BYTES TO SKIP. Wenn MSG nicht am Anfang des Files mit der Umsetzung beginnen 
soll, knnen Sie hier die Anzahl der Bytes angeben, die berlesen werden 
sollen. Natrlich ist es praktischer, aus einer Textverarbeitung einen kurzen 
Text abzuspeichern als mhsam die Bytes zu zhlen, die berlesen werden 
sollen.

* LENGTH OF SHORT NOTE. Morsezeichen bestehen aus einer kurzen und einer 
langen Note. Sie mssen die Lnge der kurzen note angeben, die lange ist dann 
automatisch doppelt so lang. Buchsatben werden durch eine kurze Pause 
getrennt, Wrter durch eine lange.





3.1.6 GRAPHIC



'Moderne' Musik wird auch schon einmal grafisch notiert, warum dann nicht den 
anderen Weg gehen und aus einer Grafik eine Sequenz zaubern?

Im Prinzip funktioniert dies wie folgt: Sie whlen ein File aus. Das mu nicht 
unbedingt ein Grafikfile sein, da MSG alles 'frit'. MSG zeigt das File am 
Bildschirm an, Sie whlen ein interessantes Rechteck aus. Dann setzt MSG die 
Pixelinformation in Events um.



Das klingt zunchst einfach, aber ich mchte dazu doch noch einige genauere 
Informationen geben, was passiert. Wie Sie sicherlich wissen, speichern viele 
Grafikprogramme Bilder in komprimierter Form ab, um Disketten-/HD-Platz zu 
sparen. Alle diese Formate werden von MSG NICHT erkannt und so eingelesen, als 
wren sie unkomprimiert. MSG erkennt NUR die unkomprimierten Mono-Formate mit 
File-Lngen von 32000 (meist *.PIC) oder 32034 (DEGAS, meist *.DEG) Bytes. 
Normalerweise bietet aber jedes Grafikprogramm die Mglichkeit, Bilder 
unkomprimiert abzuspeichern.

Wie schon gesagt, liest MSG jedes File. Ich empfehle, verschiedene Files 
auszuprobieren, so z.B. Library- oder Daten-Files anderer Programme. Stellen, 
die relativ 'leer' und/oder 'regulr' sind, knnen sehr interessant sein.



Wie Sie sich denken knne, hat GRAPHIC einige Parameter.

* FILE TO EXTRACT DATA. Sie mssen ein File auswhlen, da MSG keine eigenen 
Grafik-Werkzeuge hat (wieder wollte ich das Rad nicht neu erfinden). Die Lnge 
des Files wird in der kleinen Box ber dem Filenamen angezeigt.

* MARK COORDINATES. Wenn Sie auf diesen Button klicken, liest MSG das 
ausgewhlte File ein (wenn Sie noch keines ausgewhlt haben, fordert MSG Sie 
dazu auf). Lange Files werden nicht auf eine Bildschirmseite passen, so da 
MSG mehrere (bis 100) Grafikbildschirme lesen kann. Dann zeigt MSG die erste 
dieser Bildschirmseiten an, und Sie knnen whlen, ob Sie diese verwenden oder 
ob Sie zur nchsten schalten mchten. Nach der letzten erscheint wiederum die 
erste. Wenn Sie eine Bildschirmseite ausgewhlt haben, benutzen Sie die Maus, 
um einen rechteckigen Bereich (halten Sie die Maustaste gedrckt) auszuwhlen. 
MSG fragt noch einmal nach, ob die Koordianten ok sind. Die Generierung 
startet, wenn Sie das Modul mit RETURN verlassen.



Die folgenden sechs Parameter beschreiben den ausgewhlten Teil des Files.

* SCREEN WIDTH. MSG kann die 'Breite' der Bildschirmseite verndern. Die 
Schrittweite betrgt aus technischen Grnden acht.

* SCREEN NR. Wenn das File in mehrere Bilschirmseiten aufgesplittet ist, steht 
hier die Nummer der Seite des ausgewhlten Teils.

* SCREEN X,Y,W,H. Dies sind die Koordinaten der linken oberen Ecke (X, Y) 
sowie Breite (W) und Hhe (H) des ausgewhlten Teils.



Schlielich gibt es noch sechs Parameter, die den Proze der Generierung 
beschreiben.

* PITCH TO PIXEL TRANSFORM. Es gibt zwei Mglichkeiten, eine musikalische 
Skala zu 'betrachten'. Entweder beachtet man nur die erlaubten Noten (fr 
c-Moll c-d-d#-f-g-g#-a#) oder alle (c-[c#]-d-d#-[e]-f-[f#]-g-g#-[a]-a#-[b]). 
Dies macht dieser Parameter. Wenn CONTINUOUSLY eingestellt ist, werden alle 
Pixelzeilen bercksichtigt. Wenn dagegen BLEND OUT eingestellt ist, werden die 
Zeilen, wo sich nicht erlaubte Noten befinden, ausgeblendet. Schlielich gibt 
es noch RANDOM, was hnlich ist wie CONTINUOUSLY, wo die PITCH-Werte aber 
zufllig ber die Zeilen verteilt werden.

* PITCH PRIORITY. Dieser Parameter verknpft die Pixelzeilen mit den 
PITCH-Werten. Bei LOW ON BOTTOM/LEFT ist der tiefste PITCH-Wert der untersten 
oder linken Pixelzeile zugeordnet, sonst der obersten oder rechten.

* PITCH TIME ORIENTATION. Sie knnen whlen, ob die X-Achse fr die PITCH- 
oder Zeit-Werte herangezogen werden soll. Die andere Achse wird dann fr die 
jeweils Gre benutzt.

* ANALYZE DIRECTION. Ich denke, die mglichen Werte FORWARD und BACKWARD 
erklren sich selbst. Dieser Parameter ist fr die Zeitachse das, was PITCH 
PROIRITY fr die Tonhhe ist.

* REVERSE SCREENS. Hier kann man auswhlen, ob die Bildschirmseiten mit 
vertauschten farben dargestellt werden sollen oder nicht.

* VELOCITY. Da keine dritte Achse zur Generierung von VELOCITY-Werten 
vorhanden ist, kann hier der VELOCITY-Wert eingestellt werden.





3.2 VIEW/SELECT-Module



Diese Module beschftigen sich mit der Darstellung und Auswahl der generierten 
Events.



3.2.1 EDITOR



Dieses Modul hnelt dem guten alten Steinberg-24-Track-Editor. Die Events 
werden sowohl grafisch (auf der linken) als auch als Text (auf der rechten 
Seite) dargestellt. Sie knnen alle Event-Komponenten editieren. Ein Klick auf 
die jeweilige Note selektiert diese, ein erneuter Klick auf die gewnschte 
Komponente editiert. Die Spalte ganz rechts kann man einzelne Events (de-) 
selektieren. Ein Linksklick auf die Eventnummer schaltet den Event fr das 
Abspielen (s.u.) stumm, ein Rechtsklick erlaubt, den Event zu lschen. Klickt 
man auf den Text MUTE oder SELECT, so kann man entweder alle Events 
stummschalten bzw. selektieren (Linksklick) oder invertieren (Rechtsklick).



Der untere Teil des Moduls zeigt die Midi-Eingabe- und Abspiel-Routine. Wie 
schon erwhnt, knnen Sie Events ber ein angeschlossenes Midi-Keyboard 
eingeben. Wenn Sie dies tun mchten, mssen Sie einen von OFF verschiedenen 
INPUT MODE whlen. Der Punkt, an dem die nchste Note, die Sie spielen, 
erscheint, wird dann in der INPUT AT-Box dargestellt. Die Input-Modi auer OFF 
sind:

* APPEND. Die gespielten Noten werden legato an die Sequenz angehngt. PITCH 
und VELOCITY werden erkannt, die Lnge wird vorher unter AVAILABLE NOTE 
LENGTHS eingestellt.

* REPLACE. Dies wird PITCH und VELOCITY des momentan selektierten Events 
ersetzen.

* INSERT. Dies fgt einen Event an der angegebenen Stelle ein, sonst wie unter 
APPEND.



Darunter befindet sich eine Box DISPLAY xx QUARTER NOTES. Ein Klick auf den 
xx-Button ndert das Display. Mgliche werte sind 8, 16, 32 und 64 
Viertelnoten.



Wenn Sie die Sequenz hren mchten, klicken Sie auf den Button PLAY in der 
unteren rechten Box. Alle Events - auer den stummgeschalteten - werden auf 
demselben - unmittelbar darunter einstellbaren - Midi-Kanal gesendet. Das 
Tempo kann in acht Schritten zwischen 31 und 250 bpm verndert werden. Ich 
mchte nochmals darauf hinweisen, da diese Option eigentlich nur zu 
Testzwecken eingebaut wurde. Sie ist daher nicht synchronisierbar. Das Timing 
ist nicht professionell; Akkorde werden hchstwahrscheinlich arpeggiert, aber 
erinnern Sie sich an die Einleitung. Es ist nicht dringend, alles whrend der 
Sitzung mit MSG zu hren.



Es ist sehr verstndlich, da Sie enttuscht sind, wenn Sie die PLAY-Option 
von MSG benutzen. Was Sie hier hren, IST ABER *NICHT* das, was Sie in Ihrem 
Sequenzer hren werden. Speichern Sie Ihre Sequenzen als Standard-Midi-File ab 
und laden Sie sie in Ihren Sequenzer, was der normale Vorgang ist. Einige 
Sequenzen habe ich in als SQC- und als MID-File beigelegt, damit Sie 
vergleichen knnen. Laden Sie die SQC-Files in MSG und spielen Sie sie ab, und 
die MID-Files in Ihrem Sequenzer. Sehen (nein, Hren) Sie, was ich meine?



Lassen Sie sich auch nicht vom 'Tempo' der Sequenz verwirren. Alle Sequenzen, 
die Sie mit MSG erstellen, haben KEIN festgelegtes Tempo. Dies hngt nur von 
den Einstellungen in Ihrem Sequenzerprogramm ab! Sie knnen JEDE Sequenz bei 
JEDEM Tempo benutzen.





3.2.2 DISPLAY



Wie sein Name sagt, stellt dieses Modul die Events grafisch dar. Es gibt eine 
X- und eine Y-Achse, auf der jeweils eine Event-Komponente dargestellt wird. 
Wenn Sie auf AXIS DISPLAY klicken, knnen Sie die Achsendarstellung beliebig 
ndern. Die am hufigsten benutzten Kombinationen werden diejenigen mit 
POSITION auf der X-Achse sein.



Alle Events werden als Kreise dargestellt, und - wenn eine Achse POSITION ist 
- mit einer angehngten Linie, die die Lnge darstellt. Wenn ein Event 
ausgewhlt (SELECTED) ist, ist der Kreis gefllt, sonst nicht.



Sie knnen Events in diesem Modul (de-) selektieren. Ein Rechtsklick auf einen 
Event verndert den Status diese einen Events. Mit dem linken Mausbutton 
knnen Sie ein Rechteck fr die (De-) Selektion definieren.





3.2.3 SELECT EVENTS



Dies Modul erlaubt komplexe Selektion von Events. Jede Eventkomponente kann 
fr eine Selektion herangezogen werden. Dabei kann noch gewhlt werden, ob 
diese Selektion neu (NEW) sein soll, oder ob die Events den schon gewhlten 
hunzugefgt werden sollen (ADD), ob sie deselektiert werden sollen (REMOVE) 
oder ob ihr Status invertiert (selektierte werden unselektiert und umgekehrt) 
werden soll (TOGGLE).



Ein Beispiel: Sie haben drei Sequenzen (genauer: Event-Schichten) mit dem 
MAKE-Modul generiert. Jetzt mchten Sie gern alle Events der zweiten Schicht 
modifizieren, die eine VELOCITY von mehr als hundert und hher als C5 sind. Um 
dies zu erreichen, klicken Sie zunchst LAYER an und geben als UPPER und LOWER 
LIMIT jeweils '2' ein. Unter SELECT stellen Sie in der LAYER-Spalte INSIDE 
ein. Dann klicken Sie NEW, um zunchst nur die zweite Schicht auszuwhlen. Im 
nchsten Schritt aktivieren Sie PITCH, als Grenzen 'C-2' und 'C5', whlen 
INSIDE und lsen die Aktion mit REMOVE aus. Im dritten Schritt whlen Sie 
VELOCITY, geben in derselben Zeilen fr die Grenzwerte '0' und '100' ein, 
whlen wieder INSIDE und dann wieder REMOVE - fertig.





3.3 MODIFY-Module



Bevor Sie Events modifizieren knnen, mssen Sie MSG mitteilen, welche. Daher 
der ganze Aufwand mit dem Selektieren und Deselektieren von Events - NUR die 
selektierten Events werden modifiziert, DIE ANDEREN BLEIBEN UNVERNDERT.



Diese Flexibiltt kann sehr ntzlich und wichtig sein. Denken Sie nur an die 
Mglichkeit, in einer lngeren Sequenz nur den Events mit den hchsten 
PITCH-Werten einen anderen Midi-Kanal zuzuweisen oder nur diese der Hhe nach 
zu sortieren, oder auch nur einen Teil einer Sequenz von staccato nach legato 
zu transformieren, oder...





3.3.1 DRUMMING



Dies Module nimmt die selektierten Events, wiederholt sie und verndert nach 
und nach ihre PITCH-Werte. Diese Technik wurde von STEVE REICH erfunden, der 
sie in seinem Stck DRUMMING benutzt hat.



Das originale DRUMMING besteht aus drei Phasen.

1) Startphase. Es beginnt, da nur eine Note gespielt wird. Nach einer 
bestimmten Anzahl Durchlufe kommt eine zweite hinzu, dann eine dritte usw. 
Wenn alle Noten zu hren sind, beginnt die Mittelphase.

2) Mittelphase. Die Sequenz wird mehrfach verndert. Zu Beginn eines 
Durchlaufs wird ein PITCH-Wert verndert.

3) Endphase. Hier geschieht das gleiche wie in der Startphase, nur in 
umgekehrter Reihenfolge.



Das Modul in MSG folgt dieser Konzeption. Die Parameter sind wie folgt.

* REPEAT LAYER. Gibt an, wie oft der Layer wiederholt werden soll, bevor das 
nchste Event ein-/ausgeblendet oder PITCH-Wert verndert wird.

* CREATE MULTIPLE LAYERS. Wenn YES ausgewhlt ist, vergibt MSG fr jeden 
Durchlauf einen eigenen LAYER-Wert.

* CREATE START/MIDDLE/END PHASE. Schaltet die Generierung von Start-, Mittel- 
und Endphase an oder ab.

* CHANGE TIMES. Gibt an, wie oft die PITCH-Werte in der Mittelphase verndert 
werden sollen.

* CHANGE EVENTS. Gibt an, wieviele PITCH-Werte pro Durchlauf verndert werden 
sollen.



Die Lnge der generierten Sequenz hngt von der Anzahl der selektierten Events 
und den Parametern ab. Sie wird in der oberen rechten Box angezeigt. Wenn 
diese Lnge grer ist als die maximal mgliche Zahl an Events, wird MSG so 
weit wie mglich generieren und dann mit einer Meldung abbrechen.





3.2.2 MODIFY I



Dies Modul ermglicht eine Reihe von Operationen, die im weiteren Sinne 
'mathematisch' erscheinen. Alle Funktionen knnen auf alle Event-Komponenten 
angewendet werden.



* PITCH, VELOCITY, POSITION, LENGTH, LAYER, CHANNEL. Schaltet ein oder aus, ob 
die Funktion auf die entsprechende Event-Komponente angewendet wird.

* FUNCTION. Whlt die Funktion aus, die auf die entsprechende Komponente 
angewendet wird. Momentan sind folgende Funktionen whlbar.

   - REVERSE. Dreht die Reihenfolge der Event-Komponente um. Erster wird 
letzter, zweiter vorletzter usw. Diese Funktion bentigt keinen VALUE.

   - ROTATE LEFT/RIGHT. Rotiert die Event-Komponente VALUE mal nach rechts 
bzw. links. Beispiel fr ROTATE LEFT: erster Wert wird letzter, zweiter wird 
erster, dritter wird zweiter usw. VALUE beschreibt dann, wie oft dies 
durchgefhrt wird.

   - RANDOM ORDER. Bestimmt eine neue, zufllige Reihenfolge. Kein VALUE.

   - MIRROR. Die Werte der Event-Komponente werden an VALUE gespiegelt. 
Beispiel: VELOCITY MIRROR VALUE wird auf 100 eingestellt. Ein Wert von 100 
bleibt 100, 99 wird 101 und umgekehrt etc.

   - EXCLUSIVE OR. Fhrt eine bei Computern hufige Operation durch. VALUE und 
der Wert der Event-Komponente werden als Folge von Bits betrachtet und die 
jeweileigen Bits miteinander kombiniert. Dies fhrt zu musikalisch vllig 
unvorhersehbaren Ergebnissen.

   - MULTIPLY. Multipliziert den Wert der Event-Komponente mit VALUE.

   - ADD. Addiert VALUE.

   - SORT UP/DOWN. Sortiert die Event-Komponenten nach ihren Werten. UP: der 
niedrigste Wert kommt zuerst, DOWN: der hchste Wert kommt zuerst. Kein VALUE.

   - SET. Setzt den Wert der Event-Komponente auf VALUE.

* VALUE. Dies ist das Argument, das manche der obigen Funktionen brauchen.

* RESULT. Wenn die Funktionen auf die Event-Komponenten angewendet werden, 
kann es passieren, da der erlaubte Bereich der Komponente ber- oder 
unterschritten wird. Dieser Parameter gibt an, wie in solchen Fllen verfahren 
wird. Ist MIN/MAX angegeben, werden hhere Werte als das erlaubte Maximum auf 
den Maximalwert gesetzt, niedrigere Wert als das Minimum auf den Minimalwert. 
Wenn AND xxx ausgewhlt ist, wird das Ergebnis in den angegebenen Bereich 
transformiert. Beispiel: der erlaubte Bereich fr Velocity ist 0..127. Wenn 
die VELOCITY mit vier multipliziert werden soll, werden alle VELOCITY-Werte, 
die grer als 31 sind, grer als 127 sein. Im Falle von MIN/MAX werden sie 
auf 127 gesetzt. Im Falle von z.B. AND 127 wird ein Wert von z.B. 68 in einen 
Wert von 16 umgerechnet: 68*4=272, dann wird 128 abgezogen, bis der Wert 
kleiner als 128 ist: 272-128=144, 144-128=16. Auer MIN/MAX sind verschiedene 
Werte von AND xxx whlbar.



Wenn MIRROR, EXCLUSIVE OR, MULTIPLY oder ADD auf PITCH angewendet werden, 
werden die Werte hinterher normalerweise nicht mehr zur originalen Kombination 
von Skala und Tonart gehren.



Wie Sie sehen, kann man mit diesen Funktionen die Event-Komponenten auf sehr 
flexible Weise 'verbiegen'.



Auf dieser Seite findet sich eine weitere Funktion, die zwei Event-Komponenten 
bentigt.



* RING MODULATION. Fhrt eine Ringmodulation zwischen SOURCE 1 und SOURCE 2 
durch. Dies funktioniert wie folgt. SOURCE 1 wird ersetzt durch die Summe der 
vorigen SOURCE 1 und SOURCE 2, SOURCE 2 wird ersetzt durch die Differenz aus 
SOURCE 1 und SOURCE 2. Alle Event-Komponenten knnen fr SOURCE 1 und SOURCE 2 
ausgewhlt werden. Wenn SOURCE 1 und SOURCE 2 identisch sind, wird die 
entsprechende Komponente auf den Wert 0 gesetzt, da die Subtraktion nach der 
Addition durchgefhrt wird.



Weil Sie auf dieser Seite zwei verschiedene Funktionstypen auswhlen knnen, 
funktioniert die RETURN-Taste auf dieser Seite nicht mehr. Bitte drcken Sie 
statt dessen M fr MODIFY oder R fr RING MODULATION. Natrlich knnen Sie 
auch die entsprechenden Buttons anklicken.





3.3.3 MODIFY II



Im Unterschied zu MODIFY I sind hier eher musikalische Funktionen versammelt. 
Auch werden diese Funktionen auf das ganzen Event angewendet: wenn Sie z.B. 
nach der Tnhhe sortieren, werden VELOCITY, CHANNEL usw - im Gegensatz zu 
MODIFY I - mitsortiert.



* FORCE LEGATO. Wenn sich 'Lcken' in der Sequenz befinden, knnen Sie diese 
mit dieser Funktion 'schlieen'. Das machen die Sequenzer-Programme auch, 
sagen Sie? Stimmt, nur nicht mit allen diesen Parametern.

   - KEEP LENGTH, KEEP POSITIONS. MSG lt Sie die Basis fr die 
LEGATO-berechnung auswhlen. Sie knnen die Lnge der Events konstant halten 
und die Positionen verndern. Oder Sie knnen (was die meisten 
Sequenzer-Programme auch knnen) die Positionen behalten und die Lngen 
verndern.

   - KEEP CHORDS. Wenn sich Akkorde in der Sequenz befinden, knnen Sie sie 
entweder behalten oder 'arpeggieren'. Dieser Parameter hat nur eine Bedeutung, 
wenn KEEP EVENT LENGTH ausgewhlt ist.



Eine sinnvolle Anwendung ist z.B. die folgende. Sie haben eine Sequenz mit 
1/4- und 1/8-Noten, wollen aber nun doch nur 1/8-Noten, aber keine Pausen 
zwischen den einzelnen Events. In einem Sequenzerprogramm mssen Sie die Noten 
alle von Hand korrigieren... MSG schafft das mhelos: erst in MODIFY I die 
Eventlngen auf 1/8 setzen (das Selektieren aller Events nicht vergessen), 
dann in MODIFY II gehen, dort KEEP LENGTH auswhlen und 'L' fr FORCE LEGATO 
drcken, fertig.



* SORT EVENTS. Sortiert die Events nach PITCH, VELOCITY und LENGTH. sie knnen 
jede Kombination aus Prioritten auswhlen. Sortieren z.B. erst nach VELOCITY, 
dann nach PITCH, dann nach LENGTH wre V-P-L.

   - KEEP POSITIONS/LEGATO. Die Funktion SORT beeinflut die *Reihenfolge* der 
Events. Alle Komponenten auer POSITION werden sortiert, wenn Sie KEEP 
POSITION auswhlen. Bei LEGATO wird MSG die Positionen so verndern, da das 
Ergebnis legato ist.

   - SORT UP/DOWN. UP: niedrigster Wert zuerst, DOWN: hchster Wert zuerst.



* HARMONIC SHIFT. Die Funktion erlaubt es, Skala und Tonart jeder Sequenz zu 
verndern. MSG analysiert jedoch nicht, in welcher Tonart das Ausgangsmaterial 
steht, sondern nimmt die Parameter so wie sie im Modul angegeben sind.

   - CONVERT MATCHING. Sie knnen whlen, ob die zu der Ausgangs-Kombination 
aus Skala und Tonart gehrigen Events durch die Verschiebung zu der neuen 
Skala/Tonart gehren sollen oder nicht.

   - CONVERT NON-MATCHING. Das gleiche wie vorher, nur fr die PITCH-Werte, 
die nicht zur Ausgangsskala/Tonart gehren.



Diese Optionen sind aus einm bestimmten Grund eingebaut worden. Wenn Sie z.B. 
ein extern gespieltes Solo konvertieren mchten, knnen darin durchaus Noten 
enthalten sein, die nicht zur eigentlichen Tonart gehren. Diese sollen 
natrlich hinterher auch nicht 'dazugehren', um die Spannung zu erhalten. In 
anderen Fllen sollen alle Werte angepat werden. Die Mglichkeit, zur 
Ausgangsskala/tonart gehrige Werte 'rauszuschmeien', ist natrlich zum 
'Herumspielen', oder ernsthafter 'fr interessante Ergebnisse' vorhanden. 
Solche Mglichkeiten ziehen sich durch den gesamten MSG, wie Sie 
wahrscheinlich schon bemerkt haben werden.





3.3.4 TRANSFORM



Dieses Modul erlaubt eine sehr komplexe Bearbeitung der ausgewhlten Events. 
Die MULTIPLY-Funktion im MODIFY-I-Modul ist davon nur ein spezieller Fall. 
Eine 'Transformationsmatrix' ist das wichtige Element, um PITCH, VElOCITY, 
POSITION  und LENGTH zu modifizieren.



Die TRANSFORMation selbst ist relativ kompliziert (fr Mathematiker: es ist 
eine Matrix-Multiplikation). Ich will es mit einer Erluterung versuchen. Die 
Matrix, die Sie sehen, wenn Sie das Modul anwhlen, ist die neutrale. Sie wird 
'Einheitsmatrix' genannt. Alle Elemente sind Null bis auf die in der 
Hauptdiagonalen (noch ein Fachbegriff), die Eins sind. wenn Sie diese Matrix 
auf Ihre Events anwenden, passiert nichts. Ausgehend von dieser Matrix knnen 
Sie nun z.B. die Lnge der Events mit Zwei multiplizieren, wenn Sie die '1' in 
der vierten Zeile und vierten Spalte nach '2' verndern. Wenn Sie nur die 
Elemente der Hauptdiagonalen verndern, verndern Sie nur die eine 
Event-Komponente. Wenn Sie im nchsten Schritt z.B. den Wert der zweiten Zeile 
und vierten Spalte verndern, wird sich die Lnge der Events auch in 
Abhngigkeit von der VELOCITY verndern. Man kann sagen: Die Komponente der 
Zeile beeinflut die der Spalte.



Natrlich gibt es auch hier einige Parameter.

* Die TRANSFORMTIONs-Matrix selbst. Sie enthlt sechzehn Parameter.

* RND. Weist der Matrix zufllige Werte zu. Die Ober- und Untergrenze fr die 
Zufallswerte kann eingegeben werden.

* INIT. Sie knnen die Matrix auf die Einheitsmatrix zurcksetzen (Button 
rechts) oder nur eine Zeile oder Spalte (kleine Buttons oberhalb und recht von 
der Matrix).

* SWAP ROWS/COLS. Zwei Zeilen oder Spalten werden zufllig ausgewhlt und ihre 
Werte vertauscht.



* PITCH, VELOCITY, POSITION, LENGTH. An- und Abschalter fr die jeweilige 
Event-Komponente.

* RANGE. Der Bereich, in den das Ergebnis hineintransformiert wird. Unter 
PITCH und VELOCITY bedeutet TABLE, da die Tabelle des MAKE-Moduls verwendet 
wird.

* UPPER, LOWER. Die Grenzen von RANGE.

* QUANTIZE. POSITION und LENGTH knnen quantisiert werden, um das Timing zu 
erhalten.





3.3.5 BATCH



Dieses Modul enthlt Funktionen, die kleinere Operationen wiederholt 
durchfhren.



* ROTATE IN N-TUPLETS. Diese Funktion rotiert Event-Komponenten in Gruppen 
(Tuplets) variabler Lnge. Ein Beispiel: Sie haben ein Arpeggio, das aus zwlf 
Noten besteht. jetzt mchten Sie gern folgendes durchfhren:



EVENT # 1  2  3  4  5  6  7  8  9  10 11 12

PITCH   c3 d3 e3 f3 g3 a3 b3 c4 d4 e4 f4 g4

         -> ->    -> ->    -> ->    -> ->

         <---     <----    <----    <----

um als Ergebnis

EVENT # 1  2  3  4  5  6  7  8  9  10 11 12

PITCH   e3 c3 d3 a3 f3 g3 d4 b3 c4 g4 e4 f4



zu erhalten. Dies ist einfach: Aktivieren Sie PITCH, setzen Sie N-TUPLET auf 
3, DIRECTION auf RIGHT, und drcken Sie 'R' zum Rotieren.



* SORT IN N-TUPLETS. Diese Funktion sortiert die Event-Komponenten in Gruppen. 
Ein Beispiel: generieren Sie eine Random-Sequenz (wie in der Kurz-Sitzung ganz 
zu Beginn beschrieben) und sortieren Sie dann PITCH in Achter-TUPLETS, um 
'ungewhnliche' Arpeggios zu erhalten.



* MULTI-COPY. Diese Funktion stellt Kopien der selektierten Events her, die - 
wenn gewnscht - immer weiter transponiert werden. bitte beachten Sie, da 
Skala und Tonart, wie sie im MAKE-Modul eingestellt sind, fr diese Funktion 
benutzt werden. Die folgenden Parameter stehen zur Verfgung.

   - SHIFT/STEP. Die Schrittweite, mit der PITCH, VELOCITY und CHANNEL 
transponiert werden.

   - COPIES. Anzahl der Kopien.

   - MULTIPLE LAYERS. Wenn YES eingestellt ist, wird jeder Kopie ein eigener 
Wert fr LAYER zugewiesen.





3.4 Kopier-Optionen



Wahrscheinlich benutzen Sie auch Programme wie eine Textverarbeitung auf Ihrem 
ST. Dann kennen Sie auch die Kommandos COPY, PASTE, INSERT, die etwas vom und 
zum 'Clipboard' verschieben. Dies ist nur ein Grund, diese Mglichkeiten auch 
in MSG einzubauen. Allerdings ist nur ein 'internes Clipboard' implementiert. 
Man kann hierber keine Daten mit anderen Applikationen austauschen. Diese 
Befehle finden Sie in allen 'offenen' Modulen im Menu 'Params'.



* COPY. Kopiert die selektierten Events in das Clipboard.

* PASTE. Kopiert die selektierten Events und lscht sie aus der Sequenz, 
'Lcken' hinterlassend.

* PASTE AND MOVE. Wie vorher, nur werden die nachfolgenden Events verschoben, 
da keine 'Lcken' entstehen.

* INSERT. Fgt den Inhalt des Clipboards wieder ein. Sie knnen den 
Einfgepunkt beliebig bestimmen, weil die MERGE-Box aufgerufen wird.





3.5 Lsch-Optionen



Wenn Sie im 'Params'-Menu DELETE anwhlen, erscheint diese Dialogbox. Sie 
knnen whlen, welche Events Sie lschen mchten: alle, alle selektierten, 
alle nicht selektierten, alle stummgeschalteten oder alle nicht 
stummgeschalteten. Zustzlich gibt es noch TRIM SEQ, was alle Events so 
verschiebt, da das erste Event am Anfang (Taktposition 1/1/0) beginnt.





4. Sub-Module



Es gibt verschiedene Sub-Module, von denen eines vom RHYTHMN- und die anderen 
vom MAKE-Modul erreicht werden. Meist handelt es sich um Tabellen.





4.1 RHYTHMN TABLE



Sie erreichen dieses Sub-Modul durch einen Rechtsklick auf eines der 
Instrument-Buttons im RHYTHMN-Modul. Dies ist die Tabelle, aus der die 
Rhythmus-Instrumente ausgewhlt werden. Sie besteht aus 88 PITCH-Werten, die 
mit Namen versehen werden knnen. PITCH-Wert und Name des Instruments des 
Rhythmus-Moduls, das Sie gerade editieren, sind markiert. Sie knnen es durch 
einen Linksklick auf einen anderen Namen verndern. Mit einem Rechtsklick auf 
einen beliebigen Namen knnen Sie diesen editieren.

Eine ganze Tabelle kann geladen oder gespeichert werden.





4.2 Wahrscheinlichkeitstabellen



Die Wahrscheinlichkeitstabellen des MAKE-Moduls sind sehr ntzlich, wenn Sie 
Sequenzen erzeugen wollen, wo bestimmte Werte fr PITCH (oder VELOCITY oder 
LENGTH) hufiger vorkommen sollen als andere. Eine andere denkbare Anwendung 
ist, eine Tabelle zu erstellen, die MAKE monophone Drum-Layers, z.B. eine 
Hihat-Layer, generieren lt.



Sie knnen diese Tabellen natrlich von Hand editieren, indem Sie auf die 
PROBABILITY-Werte klicken. Andererseits verfgt MSG auch ber verschiedene 
Funktionen, die Tabelle zu definieren oder berechnen. Diese befinden sich in 
den Sub-sub-Modulen ASCII, AMI und MATH (s.u.).



Bevor ich die Tabellen und Funktionen genauer beschreibe, hier eine 
Erluterung, wie diese Tabellen 'funktionieren'.

Wenn Sie sich an die erste Sitzung mit MSG erinnern, haben Sie nur das 
Programm gestartet und sofort eine Sequenz generiert. Das Ergenbis war eine 
Folge von Events, deren PITCH, VELOCITY und LENGTH mit zuflligen Werten 
belegt wurden. Aber wie funktioniert dieses 'zufllig'? Ein einfaches 
Besipiel. Sie mchten zehn Zufallswerte zwischen eins und sechs erzeugen. 
Anstelle zehnmal einen Wrfel rollen zu lassen, nehmen Sie sechs Kugeln und 
schreiben die Nummern '1' bis '6' darauf. Dann legen Sie die Kugeln in einen 
Beutel und mischen. Ziehen Sie eine Kugel, schreiben Sie die Nummer auf, und 
legen Sie die Kugel zurck. Wiederholen Sie dies neunmal. Verstanden? Wenn Sie 
oft genug Kugeln ziehen und zurcklegen, wird Ihnen auffallen, da alle Zahlen 
gleich hufig auftreten.

Nehmen Sie jetzt zwei weitere Kugeln und schreiben Sie '1' darauf. Tun Sie sie 
in den Beutel zu den anderen Kugeln. Wenn Sie jetzt wieder Ziehen und 
Zurcklegen, werden Sie merken, da die '1' im Mittel dreimal von achtmal 
ziehen auftaucht, die anderen Zahlen nur einmal. Auch das ist einfach zu 
verstehen.



Dies ist genau das, was eine Wahrscheinlichkeitstabelle macht. Der Wert in der 
Tabelle beschreibt, wieviele Kugeln mit dem entsprechenden PITCH-Wert (z.B.) 
in den Beutel kommen, aus dem dann gezogen wird.

Damit wird klar, wie einfach es ist, Sequenzen 'zufllig' zu erzeugen, bei 
denen manche Werte hufiger auftauchen (z.B. Oktaven). Ebenso ist klar, da 
ein Wert von Null die jeweilige Komponente von der Generierng ausschliet.



4.2.1 PITCH & VELOCITY



Dies Sub-Modul stellt die PITCH- bzw. VELOCITY-Tabelle dar. Je nach 
Einstellung von LIMITS, MODE und KEY im MAKE-Modul werden bestimmte Werte gar 
nicht angezeigt.



4.2.2 LENGTH



Dieses Sub-Modul sieht anders aus. Die Werte fr LENGTH sind gruppiert.* 1/16T 
bis 1/2.

   - PROBABILITY. Der Wahrscheinlichkeitswert.

   - COMBINE. Sie knnen auswhlen, ob MSG zwei (oder, im Fall von Triolen, 
drei) Events mit gleicher Lnge hintereinander erzeugen soll, um das Timing zu 
erhalten. Wenn diese Option z.B. 1/8T ausgewhlt ist, dann folgen IMMER drei 
1/8T-Noten aufeinander, nie zwei oder eine. Wenn diese OPtion nicht angewhlt 
ist, kann die Sequenz sich merkwrdig anhren, wenn verschiedenste Lngen 
miteinander kombiniert werden.



Die zweite Box enthlt grere Notenlngen zwischen 1/2. und 8/1. Diese Box 
kann separat an- und abgeschaltet werden.



Dann ist da der Parameter GENERAL RANGE. Verschiedene Bereiche sind hier 
mglich. QUANTIZED bedeutet, da die oben angezeigten Boxes benutzt werden. 
UNQUANTIZED bedeutet, da alle mglichen Werte aus dem jeweiligen Bereich mit 
gleicher Wahrscheinlichkeit auftreten. Die Boxes oben sind dann abgeschaltet.





4.2.3 ASCII



Dies Sub-Menu eines Sub-Menus berechnet die Wahrscheinlichkeitstabelle anhand 
des Inhalts eines beliebigen Files. Das bedutet folgendes. Jedes Computerfile 
besteht aus einer Abfolge von Bytes, die Werte zwischen 0 und 255 haben. Wenn 
Sie nun ein File auswhlen, ffnet MSG dieses und zhlt, *wie oft* jedes Byte 
vorkommt. Dieser Wert wird dann als Wahrscheinlichkeitswert interpretiert.



Die Anzeige stellt die 256 kleinen Boxes fr die Bytes 0..255 dar. In der 
oberen linken Ecke jeder Box ist die Byte-Nummer (0..255) dargestellt, in der 
oberen rechten der Wahrscheinlichkeitswert. Im unteren Teil der Box wird der 
PITCH-, VELOCITY- oder LENGTH-Wert angezeigt. Da die Anzahl erlaubter Werte 
fr PITCH, VELOCITY oder LENGTH in jedem Fall kleiner als 256 ist, werden die 
erlaubten Werte in der Tabelle wiederholt.



Wenn eines der Bytes nicht in dem ausgewhlten File vorkommt, bleibt die 
entsprechende Box wei und Sie knnen Sie nicht editieren, denn der 
Wahrscheinlichkeitswert ist Null.

Wenn das Byte mindestens einmal vorkommt, knnen Sie es editieren. Sie knnen 
den PITCH-, VELOCITY- oder LENGTH-Wert verndern (Klick im unteren Teil der 
Box), oder Sie knnen das Byte an- und abschalten (Klick im oberen Teil der 
Box).



Es gibt drei Parameter.

* NEW FILE. Lt Sie ein neues File auswhlen.

* READ BYTES, SKIP BYTES. Beschreibt, wie viele Bytes bersprungen (SKIP) 
werden, bevor die Analyse von READ Bytes beginnt.



Wenn Sie dies Modul ber TAKE IT verlassen, berechnet MSG die 
Wahrscheinlichkeiten und kehrt zur bergeordneten Tabelle zurck.





4.2.4 AMI



Eine weitere interessante Mglichkeit, eine Tabelle zu berechnen. Die Idee 
stammt von dem PD-Programm AMI, wo aber wesentlich weniger Mglichkeiten 
vorhanden waren.

Der Gedanke ist, sechzehn Werte fr PITCH, VELOCITY oder LENGTH auszuwhlen 
und sie in einer Tabelle (ja, noch eine!) zu organisieren und sie dann zu 
editieren.



Sie knnen, wie blich, die Tabelle manuell editieren. Die zwei Boxes links, 
EVENTS und PROBAB., machen folgendes.

* SORT UP. Sortiert die Komponente oder Wahrscheinlichkeitswerte, niedrigster 
Wert zuerst.

* REVERSE. Dreht die Reihenfolge um.

* RANDOM. Wrfelt die Reihenfolge der Komponente um oder weist den 
Wahrscheinlichkeitswerten zufllige, in ihren Grenzen editierbare Werte zu.

* ROTATE LEFT/RIGHT. Rotiert die Wahrscheinlichkeiten.



Rechts finden Sie noch zwei weitere Boxes. Die untere zeigt die 
Wahrscheinlichkeiten grafisch an. Sie wird automatisch aktualisiert. Die 
andere Box erlaubt, kontinuierliche Verlufe fr die Wahrscheinlichkeiten zu 
berechnen. Dafr werden die folgenden Parameter benutzt.

* PROBABILITY OF EVENT 1,16. Grter und kleinster Wert fr die 
Wahrscheinlichkeiten. Wenn Wert 1 grer als Wert 16 ist, wird die Funktion 
fallend sein, sonst steigend.

* FUNCTION. Sie knnen auswhlen zwischen: LINEAR, QUADRATICAL, SQUARE ROOT, 
EXPONENTIAL, LOGARITHMICAL, MORE->LESS, LESS->MORE.



Um die Funktion auf die Tabelle anzuwenden, klicken Sie auf CALCULATE PROBABS.





4.2.5 MATH



Implementiert zwei mathematische und zwei statisctische Funktionen zur 
Berechnung einer Wahrscheinlichkeitstabelle.



Die mathematischen Funktionen sind einfach. Sie knnen die Werte der Tabelle 
mit einem beliebigen Wert multiplizieren, oder einen Wert zwischen -999 und 
999 addieren.



Die erste der statistischen Funktion ist die Gau-Verteilung, die in der 
Statistik hufig auftritt. Sie ein Maximum in ihrem 'Zentrum', ihrem sog. 
'Mittelwert'. Abhngig von der 'Standardabweichung' ist der Abfall zu greren 
und kleineren Werten mehr oder weniger stark. Es gibt vier Parameter:

* CENTER. Das Zentrum bzw. Mittelwert mit dem Maximalwert.

* DEVIATION. Der Grad des Abfalls zu den 'Seiten'.

* OFFSET. Minmalwert der Wahrscheinlichkeit.

* STRETCH. Spreiz-Faktor zwischen maximalem und minimalem Wert.



MSG berechnet Gau-Werte zwischen 0 und 1, abhngig von CENTER und DEVIATION. 
Diese Werte werden mit STRETCH multipliziert, und zu diesen wird OFFSET 
addiert.



Die zweite 'statistische' Funktion ist das 'Pascalsche Dreieck'. Man startet 
mit drei Einsen, die in einem Dreieck angeordnet sind:

  1

1   1

Und addiert mehr Zeilen in der Form

    1

  1   1

1   2   1

und

       1

      1   1

    1   2   1

  1   3   3   1

1   4   6   4   1

und so weiter. Am 'Rand' des Dreiecks werden einsen hinzugefgt. Die Werte 
'innerhalb' des Dreiecks berechnen sich dann als Summe der unmittelbar rechts 
und links darber stehenden Zahlen.

MSG benutzt dieses Dreieck, indem es zunchst ausrechnet, wieviele Zahlen 
bentigt werden. dann wird die entsprechende Zeile des Dreiecks berechnet. 

Wenn MSG z.B. sechs Zahlen braucht, wrden 1, 5, 10, 12, 10, 5 und 1 
berechnet. Diese Zahlen wrden dann durch den Maximalwert (hier 12) dividiert 
und dann eine Multiplikation und Addition wie bei GAUSS durchgefhrt. Die 
Parameter sind:

* OFFSET, STRETCH. Wie bei GAUSS beschrieben.

* RANGE UPPER, LOWER. Definiert ein 'Fenster' aus der Zeile des Pascalschen 
Dreiecks. Ein Beispiel: Wenn all Werte (also 100%) der Zeile wieder 1, 5, 10, 
12, 10, 5, und 1 wren, ergbe ein untere Grenze von 86% und eine obere von 
71% als benutzte Werte fr die Tabelle die Zahlen 10, 12, 10 und 5.





4.3 CONDITIONAL



Dies ist eine spezielle Tabelle, die nur fr PITCH zur Verfgung steht. Die 
Idee ist, da jeder Pitch-Wert, der generiert wird, von dem vorherigen 
abhngt. Ein Beispiel: Der erste PITCH-Wert ist G3. Dann sieht MSG in der 
CONDITIONAL-Tabelle nach mglichen Folgewerten nach und whlt -zufllig - 
einen von diesen.

Wenn Sie dieses Modul anwhlen wollen, stellen Sie im MAKE-Modul die 
PITCH-Funktion CONDITIONAL ein und Klicken auf EDIT REL. NUMBERS. Dann werden 
die 61 mglichen PITCH-Werte in einem Kreis angezeigt. Die Tabelle ist 
zunchst leer. Sie knnen Tabellen laden und speichern und natrlich 
editieren.

Klicken Sie dazu auf einen PITCH-Wert. Lassen Sie die Maustaste los. Jetzt 
knnen Sie eine Linie ziehen. Klicken Sie nochmals auf einem anderen 
PITCH-Wert, und Sie sehen einen Pfeil, der vom 'ersten' zum 'zweiten' 
PITCH-Wert reicht. Der 'zweite' Wert ist damit mglicher Nachfolger des 
'ersten'. Die andere Mglichkeit ist die, die CONTROL-Taste gedrckt zu halten 
und mit der Maus auf einen PITCH-Wert zu klicken. Dann erscheint eine weitere 
Dialogbox, in der fr diesen PITCH-Wert die 'Vorgnger' und 'Nachfolger' 
direkt editiert werden knnen. Fr die Zahlenwerte gilt hier das gleiche wie 
bei den anderen Wahrscheinlichkeitstabellen.



Wenn Sie die Tabelle mit 'take it' besttigen, wird MSG berechnen, ob die 
Tabelle komplett ist, da jeder PITCH-Wert, der 'Nachfolger' ist, auch 
'Vorgnger' sein mu. Wenn die Tabelle nicht komplett ist, wird MSG 
Informationen ber fehlende Verbindungen anzeigen.





4.4 ENVELOPE



Das MAKE-Modul benutzt eine Ober- und Untergrenze fr PITCH und VELOCITY, um 
den erlaubten konstanten Bereich festzusetzen. Manchmal sind diese festen 
Grenzen aber nicht erwnscht. Fr diese Zwecke wurden die ENVELOPEs 
programmiert.

Sie erreichen dieses Sub-Modul durch Klick auf EDIT ENVELOPE im MAKE-Modul. 
Tatschlich werden im Modul zwei Envelopes dargestellt, fr die obere und die 
untere Grenze.



Jeder ENVELOPE besteht aus vier Punkten. Der erste ist immer der Startpunkt 
(erster Event bei der Generierung), der vierte immer der Endpunkt (letzter 
Event bei der Generierung). Die anderen beiden liegen dazwischen. Die Punkte 
werden abhngig von MODE miteinander verbunden.



Wenn CONSTANT fr MODE gewhlt ist, sind die Envelopes auer Kraft gesetzt; 
die Grenzen sind konstant und wie im MAKE-Modul angegeben.

Bei LINEAR werden Start- und Endpunkt miteinander verbunden, die mitteleren 
Punkte sind unbenutzt. Die Grenzen verschieben sich linear mit jedem Event.

SHARP ist hnlich wie LINEAR, nur werden alle vier Punkte durch Linien 
miteinander verbunden.

Fr SMOOTH wird zwischen die Punkte eine Kurve gelegt. Alle Vernderungen sind 
'gleitend', es treten kein 'Ecken' auf.



Um die Punkte zu verschieben, kann man auf sie klicken oder die Werte in der 
Box rechts von der grafischen Anzeige numerisch verndern. Sie knnen die 
beiden mittleren Punkte bis in die grauen Flchen ober- und unterhalb des 
eigentlichen weien Bereichs verschieben. Die grauen Flchen sind eigentlich 
fr PITCH und VELOCITY ungltige Bereiche, muten aber eingebaut werden, damit 
man mit dem SMOOTH MODE vernnftig arbeiten kann.





5 Funktionen



Dies ist die Beschreibung der Funktionen, die im MAKE-Modul zur Verfgung 
stehen.



5.1 RANDOM



Diese Funktionen benutzen einen, zwei oder drei verschiedene Zufallswerte in 
verschiedenen Kombinationen.



1  rnd: die Wahrscheinlichkeit ist fr alle Zahlen gleich, wie beim Wrfeln 
eines Wrfels.

2  rnd+rnd: die Wahrscheinlichkeit nimmt gleichmig zu mittleren Werten zu, 
   danach gleichmig ab, wie beim Wrfeln mit zwei Wrfeln.

3  rnd*rnd: niedrige Werte sind wahrscheinlicher als hohe.

4  rnd+rnd+rnd: es bauscht sich in der Mitte. Wie beim Wrfeln mit drei 
Wrfeln.

5  rnd*rnd+rnd: es bauscht sich vor der Mitte.

6  rnd*rnd+rnd*rnd: es bauscht sich noch weiter links.

7  rnd*rnd+rnd*rnd+rnd: steiler als die vorige Funktion.

8  rnd*rnd+rnd*rnd+rnd*rnd: noch steiler als die vorige Funktion.

9  rnd-rnd: kontinuierlich abnehmend.

10 rnd*(rnd-rnd): sehr stark abnehmend.

11 sqr(rnd): kontinuierlich steigend (sqr=Quadratwurzel).

12 sqr(rnd)+sqr(rnd): es bauscht sich rechts (sqr=Quadratwurzel). 



5.2 Lissajous-Funktionen



Diese  Funktionen  sind  aus  der  Umsetzung  von  Lissajous-Figuren  (nach 
L.A.  Lissajous, 1822-1880, frz. Physiker) entstanden. Sie setzen sich aus 
drei einzelnen, gleich aufgebauten mathematischen Sinusfunktionen zusammen. 
Diese Grundformeln sind:



X = SIN ( A * w * t + E )

Y = SIN ( B * w * t + F )

Z = SIN ( C * w * t + G )



Die Parameter A, B und C geben die "Periode" der jeweiligen Funktion an, die 
Parameter E, Fund G den "Startpunkt" (genauer: die Phase). Allen drei 
Funktionen gleich ist das w: es bestimmt die Anzahl der "Umlufe". Der 
jeweilige Endwert der Funktion wird dann aus den so berechneten X-, Y- und 
Z-Werten berechnet. Beispiel: die Funktion ist X*Y+Z, dann ist



Endwert = sin (Awt+E) * sin (Bwt+F) + sin (Cwt+G)



Uff. Das klingt sehr kompliziert und ist es auch, wenn man es ganz 
durchblicken will. Man kann sich aber die Vorgnge auch einfacher anschaulich 
machen. Generell werden mit den Lissajous-Funktionen an- und abschwellende 
Verlufe generiert. Je komplizierter die Funktion, umso verwickelter das An- 
und Abschwellen. Nimmt man dazu hohe Werte fr die Periode (A,B,C), so werden 
die Sprnge wilder, weil ungenauer (das ist Aliasing!). ndert man die Phasen 
(E, F, G), so beginnt man nicht 'in der Mitte'. Dazu kommt, da diese 
Funktionen die Eigenschaft haben, sich zu wiederholen (jedenfalls im MSG). Das 
Verhltnis D/H (in den Formeln: w) ist dafr da, die Hufigkeit dieser 
Wiederholung einzustellen. Im Zweifelsfall: alle Parameter auf "1" stellen, 
dann die verschiedenen Funktionen ausprobieren,dann die Perioden und Phasen 
verndern, besonders bei der Tonhhe. Wenn dann noch ein groer 
Tonhhen-Bereich eingestellt ist, versteht frau/mann schnell, wo's langgeht.



5.3 Melody-Funktionen



Nach einer Anregung aus Spektrum der Wissenschaft, Computer-Kurzweil V, 1990, 
S. 4-7.



Man beginnt mit einem Startwert (D) und die Funktion mit ihren Parametern wird 
berechnet. Dieser Wert wird durch eine Modulo-Division (nur der Rest bleibt 
brig) auf den eingestellten Bereich umgerechnet - "<-->" ist der eingestellte 
Bereich (Pitch, Velocity, Length). Gleichzeitig ist dieser Wert Ausgangswert 
fr die nchste Berechnung. Auch diese Funktionen haben die Eigenschaft, sich 
zu wiederholen. Interessante Parameter-Kombinationen ausprobieren! Nebenbei: 
Wer kennt weitere interessante Funktionen???



5.4 mathematische Funktionen



Hier wird ganz bld der Wert der jeweiligen Funktion berechnet und der Endwert 
durch eine Modulo-Division (s.4.3) ermittelt. "n" gibt hier die Nummer des 
Events an. "<-->" ist der eingestellte Bereich (Pitch, Velocity, Length).



5.5 Arpeggio



Ah, hier kennt der Musiker sich wieder aus - oder nicht?

- Arpeggio Up generiert aufsteigende Event-Werte.

- Arpeggio Down generiert absteigende Event-Werte.

- Arpeggio Up-Down generiert abwechselnd auf- und absteigende Werte, zuerst 
  aufsteigend.

- Arpeggio Down-Up generiert abwechselnd auf- und absteigende Werte, zuerst 
  absteigend.

- Arpeggio Up-Down Rnd generiert zufllig wechselnd auf- und absteigende 
  Werte.



Das kennen wir noch alle, gell? Aber da gibt's ein paar Besonderheiten, 
nmlich in den Parametern!

- Parameter A: Gibt die Mindestlnge des Arpeggios an.

- Parameter B: Gibt die Hchstlnge des Arpeggios an.

- Parameter C: Gibt die Schrittweite des Arpeggios an. Dies bezieht sich auf 
  die tatschlicherlaubten Werte! bei einer Schrittweite von zwei wird jeder 
  zweite Wert bersprungen.

- Parameter D: Gibt die Verschiebung des Startpunktes an. Bei z.B. 
  aufsteigenden Arpeggios und einem Wert von D=1 beginnt jedes Arpeggio einen 
  Ton der Skala hher. Ist D negativ, wird der Startpunkt jedesmal neu 
ausgewrfelt.

- Parameter E: Lngenschritt. Wurde eingefhrt, um gleichmige Arpeggios zu 
  erhalten. Die Lnge eines Arpeggios ist immer die Minimallnge plus einem 
  Vielfachen der Lngenquantisierung. Also: Minimallnge=4,   Maximallnge=16, 
Lngenschritt=4  bedeutet,  da  Arpeggios  der Lnge 4,   8, 12 oder 16 Noten 
erzeugt werden.



5.6 Fractal



Diese rekursiven Funktionen sind, wie knnte es anders sein, fraktal. Die 
Parameter haben je nach Funktion verschiedene Bedeutungen.



5.6.1 Poincare



Diese Funktion lautet



z = B * z * ( 1 - z )



Eingestellt wird der Parameter B, der nur Werte zwischen 2 und 4 annehmen 
sollte. Der Parameter E bestimmt die Anzahl der Iterationen vor Beginn der 
Generierung, um die Periodizitt zu verbessern.



5.6.2 Pickover X,Y,Z



Diese Funktion lautet



x = SIN ( A + x ) - z * COS ( B + x )

y = z * SIN ( C + x ) - COS ( D + y )

z = SIN ( x )



Je nach eingestellter Funktion wird der x-, y- oder z-Wert zur Generierung 
herangezogen. Der Parameter E bestimmt die Anzahl der Iterationen vor Beginn 
der Generierung, um die Periodizitt zu verbessern.



5.6.3 LINE, HAT, PARABLE, SAWTOOTH



Dies Funktionen basieren auf einer grafischen Iteration. Eine Linie (LINE), 
ein Dreieck (HAT), eine Parabel (PARABLE) oder ein Sgezahn (SAWTOOTH) werden 
in ein normales X-Y-Korrdinatensystem eingezeichnet. Dann whlt man einen 
Startpunkt auf der Linie x=y (Diagonalen) und geht hinauf oder hinunter auf 
die eingezeichnete Funktion. von diesem Punkt geht man wieder auf die 
x=y-Diagonale und erhlt dort den nchsten Funktionswert. Dann geht man wieder 
auf die eingezeichnete Funktion, dann wieder auf die Diagonale fr den 
nchsten Wert usw.



5.6.4 NODE



Simuliert kleine neuronale Netzwerke. Knoten (NODEs) werden mit 'gewichteten' 
Linien verbunden. Die Parameter stellen die 'Gewichtungen' dieser Linien dar.



* S-2-2-D. Der Startknoten S beeinflut zwei Knoten, die zwei weitere Knoten 
beinflussen, die wiederum den Endknoten E beiinflussen.



* S-3-D. Der Startknoten S beeinflut drei Knoten, die wiederum den Endknoten 
E beiinflussen.



Wenn im Funktionsnamen ein REC erscheint, ist die Funktion rekursiv. In diesem 
Fall ist der Parameter A der Startwert fr den ersten Durchlauf. Der Endwert 
ist gleichzeitig der Startwert fr den nchsten Durchlauf.Wenn kein REC im 
Funktionsnamen zu finden ist, wird als Startwert die Nummer des Events 
herangezogen.



Wenn ein MOD im Funktionsnamen erscheint, wird der Endwert einer 
Modulo-Division unterzogen (nur der Rest einer Division bleibt brig).

5.6.5 DYNAMIC SYSTEM



Hier handelt es sich um zusammenhngende Differentialgleichungen.



#1. Ein einfaches Ruber-Beute-System (Y: Ruber, X: Beute).





6 Globale Parameter



Einige Parameter werden bei jedem Start von MSG extra geladen. Diese sind in 
MSG.GBL gespeichert. Um die Einstellungen permanent zu machen, mssen Sie sie 
von diesem Modul aus abspeichern.



* DATA PATH. Dies ist der Ordner, in dem MSG seine Parameter-, Sequenz- und 
MID-Files suchen und speichern soll.

Unabhngig von diesem Ordner ist es notwendig, da folgende MSG-Files im 
selben Ordner bleiben. Diese sind MSG4.PRG, MSG.RSC, MSG.INF und MSG.GBL.



* SCREEN SAVER ON/OFF. Schaltet den internen Bildschirmschoner ein oder aus.

* SCREEN SAVER TIME. Die Zeit in Sekunden (in Abstnden von 10 s einstellbar), 
nach der sich der Bildschirmschoner einschaltet. Eine beliebige Aktion mit 
Maus oder Tastatur kehrt zum ursprnglichen Bildschirm zurck.



* SELECT ON GENERATION. Wenn eingeschaltet, werden neu generierte Events 
automatisch selektiert.

* SELECT ON MIDI LOAD. Wenn eingeschaltet, werden aus einem Midi-File geladene 
Events automatisch selektiert.

* SELECT ON MIDI INPUT. Wenn eingeschaltet, werden ber ein Midi eingegebene 
Events automatisch selektiert.



* MAXIMAL EVENT NUMBER. Normalerweise benutzt MSG so viel Speicher wie mglich 
fr die Events. Dann ist es mglich, da Files, die Sie mit GRAPHIC benutzen 
wollen, nicht in den Speicher geladen werden knnen. Darberhinaus sind manche 
Operationen umso schneller, je geringer die maximale Zahl an Events ist. Mit 
diesem Parameter knnen Sie diese maximale Anzahl einstellen. Wenn Sie Null 
eingeben, wird der gesamte freie Speicher fr Events benutzt.


