VDJPedia



 MIDI Noten mit Miditrace auslesen



Die Verwendung des Miditrace Tools

Also ich versuche jetzt einfach mal die Grundlagen des Auslesens eines MIDI Controllers mittels des Miditrace Tools etwas zu entwirren.

Zuallererst müsst Ihr VDJ beenden und das Miditrace Tool starten. Dort dann auf der rechten Seite Euren Controller auswählen.
Dazu klickt Ihr in BEIDEN Listen auf der rechten Seite Euren Controller an. Bei Windows XP ist dies in der Regel das 'USB Audio Device'.
(Manche Controller verwenden einen eigenen MIDI Treiber und tauchen dann mit Ihrem richtigen Namen dort auf.)

Als nächstes klickt Ihr auf den 'Send' Button (bitte an den Zahlen nix ändern). Wenn Ihr jetzt eine lange Reihe Hex Werte als Antwort
bekommt dann ist das die SysExID. Ihr müsst die Antwort noch etwas kürzen damit es richtig funktioniert.

Beispiel:
Dies ist die SysExID Antwort eines Controllers:
F0 7E 00 06 02 47 75 00 19 00 00 00 66 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F7

damit die richtig funktioniert müssen wir die noch etwas kürzen:
F07E??06024775001900000066

Alle Leerzeichen müssen raus, das 3. Byte wird durch ?? ersetzt und am Ende kann alles was '00' ist bis zum Ende (inkl. der F7) weg.


Jetzt geht's weiter mit dem auslesen der MIDI Noten
----------------------------------------------------------------------------------
Da Buttons in der Regel am einfachsten gemappt sind fangen wir mit denen an.

Buttons auslesen:
=============
Drückt die erste Taste an Eurem Controller. Das Miditrace Tool wird jetzt eine Reihe von Hexadezimalen Werten ausgeben die z.B. so aussehen können:

90 43 7F
80 43 00

Der ausgegebene MIDI Wert besteht aus mehreren Teilen:

<MIDI Event> <Note> <Wert> <Wert2>

Die MIDI Aktion für eine Taste wird in der Regel einen '8x' oder '9x' Wert zurückgeben. (8x = 'Note off', 9x = 'Note on') Das 'x' ist die MIDI Kanalnummer. Meistens steht hier eine '0' es kann aber durchaus ein anderer Kanal verwendet werden. Das muss dan beim erstellen der Definition mit dem 'channel=x' Komando beachtet werden.

Der wichtigste Wert für das Mapping ist das 2. Byte welches die benötigte MIDI Note enthält. Bitte darauf achten das diese Werte im Definition in der Regel mit einem '0x' am Anfang geschrieben werden müssen. Also in unserem Beispiel: '0x43'.

Das 3. Byte enthält den Wert den die Note annimmt. '0' bedeutet in der Regel 'aus', '7F' steht für 'ein' (0x7F = 127 in Dezimal). MIDI arbeitet normalerweise mit Werten von 0-127 (7-Bit MIDI). Wenn der Controller 14-Bit MIDI unterstützt steht an dieser Stelle Wert und Wert2 !!!


Slider und Drehpotis auslesen
=====================
Bei Slidern oder Drehpotentiometern steht in der Regel als MIDI Event 'Bx' oder 'Ex'. Auch hier ist die 2. Ziffer des 1. Bytes die Kanalnummer.
Auch hier ist das 2. Byte die Note die für das Definitionfile benötigt wird. Im 3. Byte steht der MIDI Wert drinn (0-127 bei 7-Bit) oder entsprechend Wert und Wert2 bei MIDI mit 14-Bit.

Wichtig !!!

Achtet hier mal auf den Wert ob der bei Minimalstellung den kleinsten und bei maximal den größten Wert sendet. Manche Hersteller bauen nämlich Ihre Fader falsch herum ein ;-)). Im Definitionfile kann dies mit 'inverted=true' behoben werden.


Endlosregler auslesen
===============
Genau wie oben beim Button schon beschrieben ist das 2. Byte die benötigte MIDI Note. Achtet nur mal darauf ob hier kontinuierliche Werte gesendet werden (0x00 bis 0x7F) oder nur zwei Werte, einer für rechts rum drehen und einer für links herum. Dies muss im Definitionfile entsprechend angegeben werden.


Jogwheels auslesen
==============
Am schwierigsten sind die Jogwheels auszulesen da hier leider jeder Hersteller sein eigenes Ding durchzieht.


Displays und LED's ansprechen
=====================
Nicht so trivial... LED's sind bei den meisten Herstellern auf die selben Noten gemappt wie die dazugehörige Taste. Also einfach mal beim LED-Element im Definition die selbe Note wie für die Taste versuchen. Wenn Tasten mehrere Farben besitzen wird's etwas schwieriger, bzw. Euer Fleiß ist gefordert.

Löscht das 'Send' Feld und tragt dort mal '90 xx 7F' ein, wobei xx die Note ist. Wenn jetzt die Lampe angeht habt Ihr die Richtige Note erwischt. Wenn nicht müsst Ihr weiter ausprobieren....

'90 01 7F'
'90 02 7F'
'90 03 7F'
... etc...
'90 7F 7F'

Ansonsten gibt's da noch diverse andere Methoden wie LED's angesprochen werden können. Im Zweifel einfach mal einen Thread im Forum aufmachen - da wird Euch geholfen. ;-)

Beim Display seid Ihr etwas auf Eure Kreativität angewiesen. Idealerweise versucht Ihr mal über die Dokumentation des Herstellers weiter zu kommen, bzw. fragt dort mal an. Ansonsten fragt halt auch im Forum nach.


Gruß, euer Heiko (Jakovski)

Back to MIDI Definition
Go Back German Content