Unter meinen mittlerweile recht zahlreichen MIDI-Apparatchen findet sich auch ein Numark Total Control, der nur am Rande bemerkt, durchaus klaglos und zuverlässig seinen Dienst tut. Nur die Tastenbelegungen spielen mit neuerer Software (sprich: Traktor 2 und -sehr, sehr experimentellerweise- Ableton Live) nicht wirklich optimal zusammen. Normalerweise stellt das kein grosses Problem dar: Die Inputs (also Steuersignale vom Controller zum Computer) sind via MIDI-Learn recht einfach neu zu belegen. Anders herum (Outputs, also Signale von der Software zum Controller) sieht es schon etwas schwieriger aus. Schliesslich kann man die Kontroll-LEDs auf dem Controller nicht von Hand einschalten und den Computer das Signal aufzeichnen lassen, wie bei den Inputs. Nun könnte man fälschlicherweise annehmen, die Noten- oder MIDI-CC Werte wären in beide Richtungen identisch; also wenn Taste A einen Notenwert von C3 an den Rechner schickt, wenn sie gedrückt wird, dann müsste umgekehrt Taste A auch aufleuchten, wenn man ein C3 vom Computer an den Controller sendet, oder?
Falsch. Ausschweifung: Das Ergebnis wäre ziemlich chaotisch, weil der Controller die selbe Note zurücksenden würde, was der Computer als neuerlichen Tastendruck registrieren würde, worauf er ein C3 an den Controller senden würde, damit auch das Lämpchen leuchtet, worauf der Controller wiederum einen vermeintlichen Tastendruck zurücksendet, den die Software mit einem C3 ("LED an!") beantwortet und sofort ein C3 ("Taste gedrückt! Was tun?") zurückerhält, das umgehend mit C3 ("LED an!") beantwortet würde und so weiter. Und zwar knapp eine halbe Sekunde lang, bis dieser als "infinite loop" bekannte Klassiker unter den tödlichen Programmierfehlern den Rechner in den Blue Screen of Death befördert hätte.
Deshalb lautet die goldene Regel #1 für MIDI auch: sende niemals das selbe Signal zurück an den Controller, von dem es hereinkam.
Ausschweifung Ende. Die Signale (in diesem Fall durch die Bank Notenwerte) sind also unterschiedlich. Was in Verbindung mit den recht unübersichtlichen Mapping-Modes der meisten Programme und dem heillosen Durcheinander aus CC-Werten, numerischen (MIDI Note Nummer) und alphanumerischen ("C3", "D#5") Notenwerten die Hürden für sebstgemachte Mappings ziemlich erhöht. Unschönerweise bieten die meisten Hersteller von reinen USB-MIDI-Controllern zudem keine vollständigen MIDI-Implementation-Charts an: Numark bieten zB die Belegung für die Eingänge des TC (PDF) auf ihrer Webseite an und auch in der Dokumentation von Traktor finden sich ein paar Traktor-spezifische Werte, um die Ausgänge muss man sich dagegen selber kümmern. Was im Allgemeinen dadurch geschieht, dass man einfach mittels eines geeigneten Mapping- oder Diagnoseprogramms (für Windows z.B. MIDI-Ox, für Linux Muse-Sequencer, beide sind frei erhältlich) sämtliche MIDI-Noten und in Frage kommenden CC-Werte an das Gerät sendet und beobachtet, wann sich dort etwas tut. Ein MIDI-Keyboard oder programmierbarer Controller für den Eingangskanal, von dem aus man bestimmte Werte von Hand senden kann, vereinfacht das ganze ungemein. Andernfalls kann man aber auch Tonleitern oder Controls mit einem Sequencer editieren und evtl. in MIDI-Dateien abspeichern, die man dan mit MIDI-Ox absendet, falls man das nicht gleich vom Sequencer aus tun will oder kann. Der Einsatz von MIDI-Yoke oder dergleichen MIDI-Port-Multiplexern ist dazu im Übrigen weder notwendig noch bietet er in diesem Fall irgendwelche Vorteile. Eher im Gegenteil: MIDI-Multiplexer erzeugen erstens zusätzliche Latenz, zweitens sind sie naturgemäss notorische MIDI-Feedback-Loop (siehe "goldene Regel") Erzeuger und bringen immer die lauernde Gefahr eines ungewollten "Kurzschlusses" mit sich, was im günstigsten Fall den jeweiligen Controller "abschiesst" - live eine ziemliche Katastrophe- im ungünstigsten Fall die gesamte Performance krachend zu Fall bringt - besonders in einem proppevollen Laden ein echtes Erlebnis, das einen noch längere Zeit lang im Traum -oder beim Verfassen kluger Blogartikel- verfolgen wird...
Anhang:- totalcontrol (PDF)
- Traktor-Map (group FX, internal routing)