Programmier- und Bedienungshandbuch – Kommunikation – MIDIOUT und MIDIIN

˙

12.3.  Kommunikation – MIDIOUT und MIDIIN

Normalerweise verarbeitet MUTABOR nur die MIDI-Informationen ’NOTE ON’ und ’NOTE OFF’, also nur Informationen darüber, welche Tasten auf der Klaviatur angeschlagen bzw. losgelassen wurden. Alle anderen MIDI-Informationen, z.B. Program Change – Meldungen, etc... werden ignoriert.

Sie können jedoch solche Meldungen gezielt als Auslöser verwenden. Auf diese Weise können Sie MUTABOR von Ihrem Masterkeyboard aus „fernsteuern“. Oder Sie können mit Hilfe eines Sequenzer-Programms auf einem zweiten Computer alle Umstimmvorgänge gezielt beeinflussen.

Der Auslöser MIDIIN kann an allen Stellen eingesetzt werden, wo ein Auslöser erforderlich ist, also als Auslöser einer Stimmungslogik oder als Bestandteil einer Anweisung innerhalb einer Stimmungslogik. Ein Beispiel:

LOGIK Otto MIDIIN ( #C0, #06 ) = C_Dur [ ]

Das Doppelkreuz # bedeutet, dass die darauf folgende Zahl zur Basis 16 interpretiert werden soll (Sedezimal, Hexadezimal). #C0 entspricht also (dezimal) 182.3 In diesem Beispiel ist der Auslöser für die Logik Otto der MIDI-Event #C0 #06. Das bedeutet, dass die Logik Otto aktiviert wird, wenn über MIDI die Zahlenfolge 182, 6 an MUTABOR geschickt wurde. Auf diese Weise können Sie z.B. Program Change-Meldungen benutzen, um Logiken umzuschalten oder Umstimmungen durchzuführen. Die meisten Masterkeyboards können gezielte Program Change Meldungen senden, so dass diese richtiggehend ideal zum Umschalten von Logiken und Umstimmungen benutzt werden können.

Das Gegenstück zum MIDIIN-Auslöser ist die MIDIOUT-Aktion. Hier werden die angegebenen Daten direkt an die MIDI-Schnittstelle ausgegeben. Damit können dem angeschlossenen Synthesizer/Sampler Spezialkommandos z.B. zur Änderung der Klangfarbe übermittelt werden. Die Syntax ist analog zur MIDIIN-Anweisung:

LOGIK Meier Taste M = [ Taste Q -> MIDIOUT(160,#54,23) ]

Hier wird, wenn die Logik Meier (durch Drücken der Taste M) aktiv ist, beim jedem Drücken der Taste Q an die MIDI-Schnittstelle die Zahlenfolge 160, 844 und 23 ausgegeben.

Bei dem Auslöser MIDIIN unterliegt die Folge von MIDI-Bytes folgenden Einschränkungen im Sinne des MIDI-Standards:

  • Die erste Zahl muss ein Statusbyte sein, also im Bereich zwischen 128 und 255 liegen. Bei MIDIIN ist es außerdem nur sinnvoll, Zahlen aus den Bereich zwischen 160 und 239 zu wählen, da die MIDI-Bytes 128 bis 159 für NOTE-ON bzw. NOTE-OFF-Meldungen reserviert ist und nicht in die Analyse miteinbezogen wird. Außerdem sind Systemmeldungen (größer 239) ebenfalls von der Analyse ausgeschlossen.
  • Das untere Nibble (die unteren 4 Bits) des Statusbytes muss 0 sein; falls es das nicht ist, wird der Wert vom Compiler entsprechen korrigiert und eine Warnung ausgegeben. Praktisch gelten also nur die Zahlen #A0, #B0, #C0, #D0 und #E05 . Dies ist für die MIDI-Kanal-Zuordnung wichtig (siehe weiter unten, Abschnitt „Simulation verschiedener Instrumente“).
  • Alle nachfolgenden Zahlen müssen Datenbytes, also kleiner als 128 sein. Negative Zahlen sind als MIDI-Byte natürlich nicht zulässig.

Die Byte-Folgen bei der Aktion MIDIOUT unterliegen nur der Einschränkung, dass sie im Bereich von 0 – 255 liegen müssen.

Denkbar ist eine Zusammenschließung (Vernetzung) mehrerer Computer, von denen einer als „Master“ alle Vorgänge mit einem Sequenzer-Programm kontrolliert. Die übrigen Rechner sind mit je einem Synthesizer/Sampler verbunden. Mittels der MIDI-Kommunikation durch den MIDIIN-Auslöser und die MIDIOUT-Aktion können sich die auf diese Weise vernetzten MUTABOR-Systeme aufeinander einstimmen und Informationen austauschen. So können Sie pro Rechner eine 16-fache mikrotonale Polyphonie erzeugen – bei nur drei Computern (und Samplern) stehen Ihnen damit schon fast unbegrenzte Möglichkeiten der Klangfülle zur Verfügung, nämlich 48 Stimmen!

Um gezielte Nachrichten über gerade geschehene Umstimmungen an weitere MUTABOR- Geräte in der Kette senden zu können, ist es erlaubt, MIDIOUT-Nachrichten auch in Stimmungsbünde einzubauen:

UMSTIMMUNG  
  Hoch_hinaus = [ @+Terz, @+Terz, @+Terz, @+Terz, @+Terz ]  
  Aber_schmal = [ ] @ - 10 cent  
 
  Umstimmungsbund_mit_Nachricht = { Hoch_hinaus ,  
                                    MIDIOUT ( #B0, #05, #60 ) ,  
                                    Aber_schmal }

Wenn nun die Umstimmung Umstimmungsbund_mit_Nachricht aufgerufen wird, so werden zunächst die ersten 5 Töne der Fundamentaltonleiter um das Intervall Terz (was auch immer das sein mag) erhöht, dann die MIDI-Nachricht #B0,#05,#60 (=Controller 5 auf #60 setzen) geschickt und anschließend das Periodenintervall um 10 Cent verkleinert.

˙

Deutsch English
©2006
Letzte Veröffentlichung auf dem Server:
Mittwoch, 29. März 2006, 11.51 Uhr Weltzeit