MIDI-Out-Hacking: Numark Total Control MIDI Out Mapping

Output-Mapping (ausführlichere Version im Artikel)

Hinweis: obwohl sich dieser Artikel auf das konkrete Beispiel TC (Total Control) und Traktor 2 bezieht, habe ich ihn, des notwendigen prinzipiellen Verständnisses zuliebe, so allgemein verfasst, dass sich dessen Inhalt auch auf die meisten anderen Controller mit Ein- und Ausgängen und diverse andere MIDIfähige Software anwenden lässt. Das bereits erwähnte prinzipielle Verständnis natürlich vorausgesetzt. Im Zweifelsfall öffnen Sie einfach ihren Kopf und sehen nach, ob sich ein sogenanntes Gehirn darin befindet. Falls nicht, befinden Sie sich unter DJs sicher in der richtigen Gesellschaft, sollten von technischen Dingen aber besser Abstand nehmen.

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.

midimap
TC-Output Mapping (mit Noten-/wert-Tabelle, Klick zum Vergrössern - PDF siehe Anhang!)

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:

Über Tom

"Die meisten 'normalen Leute' in meinem Bekanntenkreis würden mich wohl als 'Computernerd' bezeichnen. Die meisten Computernerds -einschliesslich meiner selbst- wären darüber anderer Meinung."
Dieser Beitrag wurde unter hardware abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Da könnte ja jeder kommen und kommentieren!

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.