Gut gemixt ist halb gewonnen: Cubase MIDI-Manager in der Anwendung

Willkommen zum letzten Teil unseres Anwendungskurses für den MIDI-Manager. Diesmal geht es um system-exklusive Daten für Geräte der Firma Roland, die ihre Eigenheiten haben.

Roland-Geräte weisen eine von den anderen Synthesizern abweichende Art der Datenverwaltung auf. Stellen Sie sich den gesamten Speicherinhalt als einen großen Datenblock vor, in dem die Klangdaten in einer festgelegten Weise abgelegt sind. Um nun bestimmte Daten wie z.B. Temporäre Sounds, Patch- oder Performance-Bänke anzusprechen, wählen Sie eine Position in diesem Datenblock, die Adresse. Nun müssen Sie noch die Länge des Datenblocks, z.B. eines Sounds, wissen und können diesen vollständig austauschen.

So ist es möglich, an jede beliebige Stelle des Datenblocks einzugreifen und diese oder ab dieser alle folgenden Daten, Sounds oder Effekte zu verändern. Sie geben dazu immer die Adresse und die Länge des zu übermittelnden Datenblockes an. Vor dem Abschlußbyte eines solchen Datenblocks erwartet das Roland-Gerät dann eine sogenannte Checksumme. Dieser Wert ist derart berechnet, daß das Aufsummieren aller empfangenen Daten inklusive der Adresse, der Größenangabe und der Checksumme eine Zahl ergibt, deren unterste 7 Bit durch Nullen belegt sind. Der Synthesizer bildet nun intern auch eine Checksumme und vergleicht diesen Wert mit der empfangenen Summe. Sollten diese nicht übereinstimmen, so ist eine Byte falsch übertragen oder im Kabel hängengeblieben und der Datensatz nicht zu akzeptieren.

Alle Roland-Geräte kennen zwei unterschiedliche Übertragungsarten. Im Handshake-Mode erwartet das Gerät nach einem gesendeten Block eine Empfangsbestätigung vom Empfänger, die die Übertragung des folgenden Blocks auslöst. Die dafür notwendige Requestanweisung ist mir »RQD« abgekürzt. Im Einseitigen-Modus sendet der Roland-Synthesizer die Daten auch blockweise, macht allerdings nur kurze Pause zwischen den Blöcken. Hier lautet die Requestanweisung »RQ1«. Diese Information steckt im fünften Parameter einer Anweisung. Formal ist der Unterschied beider Übertragsungsarten durch die Differenz von $30 im fünften Byte zu sehen.

In der MIDI-Implementation Ihres Roland-Gerätes finden Sie zumeist eine Tabelle, in der die Anfangsadressen der unterschiedlichen Bereiche und deren Länge übersichtlich angegeben sind.

Bulk Dump Area

Adress Block Sub Block
00-00-00 Setup
00-06-00 Patch Temp
00-10-00 Timbre Temp Timbre (1) Timbre (2) etc.
00-18-00 Rhythm Temp
02-00-00 Timbre
03-00-00 Patch
05-00-00 Rhythm
07-00-00 Map Patch Map Timbre Map Rhythm Map R. Inst. Map

Wundern Sie sich nicht, daß ein Patch oder Performance im Datenblock, der Bulk Dump Area, weniger Bytes beansprucht als Parameter vorhanden sind. Um Bytes und Übertragungszeit zu sparen, verwendet Roland im Datenblock ein komprimiertes Datenformat, das heißt, daß Parameter, die nur einen kleinen Wertebereich aufweisen, mit anderen Parametern zusammen zu einem Byte verschmolzen sind.

Bild 1. Die Patch-Reverb-Steuersequenz in der Objekt-Definition-Box
Bild 2. So sieht die Part 1 Panorama-Befehlssequenz aus
Bild 3. Hier ist die Part 2 Panorama-Befehlssequenz zu erkennen

Anders ist dies bei den temporären Daten in der Individual Parameter Control Area. Um wirklich jeden Parameter einzeln anzusprechen, verwendet Roland hier kein komprimiertes Format. Jedes Byte enthält nur einen Parameter und ist somit über eine Adresse selektierbar.

Für die Nutzung des MIDI-Manager sind die individuellen Parameter interessant, da einzelne Bits nur schwierig zu verändern sind. Im Patch-Block enthält das Byte an der Adresse 00-0C plus dem in der Tabelle genannten Offset von 00-06-00 die Chorus-Parameter Depth, Level und Rate in den Bits B-F, 6-A bzw. 0-4. Wundern Sie sich nicht über Anzahl Bytes. In einem »Roland-Byte« sind 16 Bit zusammengefaßt, so daß die wirkliche gesendete Blocklänge doppelt so lang ist. Ein Datenbyte °AB ist dann z.B. in $0B und 0A unterteilt. Temporäre Datenblöcke sendet der U220 auch in gepackter Form.

Veränderung der Hallart

Wir wollen nun aus dem Cubase aber nicht ganze Bereiche, sondern nur bestimmte Adressen, also z.B. den Effekt, Panorama oder dergleichen, mit Hilfe des MIDl-Managers verändern. Wie Sie der Tabelle zu den Individual Patch Common Parametern entnehmen, sind diese alle einzeln an Adressen verteilt und somit anzusprechen. Hier gelten die Adressen 10-04-1D, 10-00-1A bzw. 10-00-1C für die genannten Chorus-Parameter.

Als Übung verwenden Sie am besten zuerst die in den Abbildungen gezeigten Parameter, die Sie auch in den Tabellen wiederfinden:

Patch Common
10-04-1 F Reverb Type 0 ... 7
Patch Part 1
10-05-00 Timbre Number...
10-05-09 Pan 0 ... 15: 7> >< <7,Rnd Size OD
Part 2
10-05-19 Pan 0 ... 15: 7> >< <7,Rnd

Eine wichtige Arbeit nimmt uns der MIDI-Manager bereitwillig ab: Sie brauchen sich um die Checksumme nicht zu kümmern. Diese ermittelt das Programm für uns, wenn Sie als Hersteller-ID Roland mit der Nummer $41 aktiviert haben. Im dritten Byte der Befehlssequenz steht die Device-ID, in der der MIDI-Kanal enthalten ist. Dem folgt die Model-ID, die das angesprochene Gerät bestimmt. Wählen wir als Beispiel den U220 so ist die Model-ID 2B (vgl. Bild 1). Unsere Befehlssequenz zur Veränderung der Hallart im Patch Common beginnt wieder mit dem Byte für den exklusiv Status $F0, gefolgt von der Roland-ID $41, der Device-ID $10 und der Modell-ID für das U220 $2B. Das nächste Byte ist die Command-ID, mit der der Roland die Art der ankommenden Daten -Daten, Requestanweisung etc. und das Protokoll, Handshake oder einseitig, zuordnet.

Mit den weiteren drei Byte 10-04-1F definieren wir eine angesprochene Adresse, die der MIDI-Implementation zu entnehmen ist. Diese ist in drei Bytes unterteilt und beginnt mit dem MSB. Das letzte Byte ist das LSB. Unserer Variablen, die durch den Regler des MIDI-Managers bestimmt ist, folgen noch ein Platzhalter für die Checksumme und das Abschlußbyte $F7.Alle Veränderungen am Regler können Sie direkt im Display des U220 mitverfolgen, wenn der entsprechende Parameter angewählt ist (vgl. Bild 2).

Panorama-Wechsel

Das zweite Beispiel dient zur Veränderung des Panoramas im Patch Part 1. Die Abbildung zeigt Ihnen die notwendige Befehlssequenz. Hier erkennen Sie auch die automatische Bildung der Checksumme, wenn Sie den Regler verändern und danach die Object-Definition-Box erneut öffnen. Der Parameter Panorama weist den Wertebereich von 0 bis 15 auf, wobei der unterste Wert links, der Wert 7 die Mitte und der Wert 15 die zufällige Panoramaeinstellung (RND) darstellt. Die Parameter-Bereiche der Parts haben eine Größe von $0D und sind derart angeordnet, daß Sie für den Part 2 lediglich den letzten Adress-Wert $09 ändern müssen (vgl. Bild 3). Die vollständige Adresse für das Panorama im Part 2 ist demnach 10-05-19. Entsprechend gilt die Adresse 10-05-29 für den Part 3. Im Anhang der MIDI-Manager-Beschreibung des Cubase Handbuches finden sie übrigens eine Umrechnungstabelle für dezimale und hexadezimale Werte. Möchten Sie Veränderungen im Rhythm-Set vornehmen, so ist zu beachten, daß diese jeweils pro Ton von B1 bis D7 zu bearbeiten sind. Bei einer Größe von $14 pro Ton ergibt sich eine stattliche Anzahl an Parametern.

So, damit sind wir am Ende unseres Streifzuges durch den MIDI Managerangekommen. Die besprochenen Beispiele und Anwendungen sollten ausreichen, um eigene Veränderungen vorzunehmen. Mit ein wenig Übung lassen sich viele Probleme ganz leicht lösen. Ansonsten greifen Sie doch auf die reichhaltige Auswahl fertiger Mixer-Maps zurück, die schon im letzten Monat auf der TOS-Diskette waren. Denn sollte es mit der völligen Neukonstruktion einer Mixer-Map nicht gleich klappen, dort finden Sie sicher etwas brauchbares für Ihr Instrument. (wk)

Kursübersicht

Teil 1: Der Cubase MIDI-Manager □ MIDI-Controller

Teil 2: Weitere Manager-Elemente □ allgemeine systemexklusive Daten

Teil 3: Praxis □ Besonderheiten bei Roland-Instrumenten


Dietmar Lorenz
Aus: TOS 02 / 1992, Seite 64

Links

Copyright-Bestimmungen: siehe Über diese Seite