ANZEIGE
ANZEIGE

Workshop: Das MIDI-Datenformat & MIDI-Protokoll einfach erklärt

Wie liest man MIDI-Codes? Einfach erklärt!

6. April 2022
Workshop: Das MIDI Datenformat einfach erklärt

Workshop: Das MIDI-Datenformat einfach erklärt

Ja, noch ein Text zu MIDI. Gerichtet an die Interessierten, die bei MIDI aber als erstes: „Ach, das Ding aus dem letzten Jahrtausend“ denken, wissen es existiert, aber verwenden es nur rudimentär, wollen aber mal hinter den Spiegel schauen.

ANZEIGE

Anfang der 80er-Jahre wurden Synthesizer billiger, ich konnte mir schon mal mehr als einen kaufen, ohne danach am Hungertuch zu nagen. Gleichzeitig spielen konnte ich allerdings nur zwei Geräte, außer ich hatte mehr als zwei Arme. Ja, ich weiß, es gab auch welche, die ich mit Füßen spielen konnte.

Es gab allerdings die Möglichkeit bei monophonen Instrumenten, per CV- und Gate-Buchse, sofern beide Instrumente das hatten und sie auch noch gleich funktionierten, sie zu verbinden. Jetzt konnte ich eines spielen und das oder die verbundenen Instrumente spielten das Gleiche mit. Ende der Achtziger kamen polyphone Instrumente auf den Markt, da gab es diese Möglichkeit nicht mehr. CV/Gate funktioniert im polyphonen Kontext nicht, oder nur umständlich. Spätestens nach dem Erscheinen des Polysix (Preis etwa 3.500 DM) galten auch polyphone Instrumente als bezahlbar.

Wollte ich jetzt mit einem Instrument ein anderes spielen, brauchte ich ein neues Protokoll, es sollte universell sein, so dass auch ein Roland Gerät einwandfrei mit einem Yamaha, Korg oder Sequential arbeitete. Es musste billig sein, damit möglichst viele Hersteller auf den Zug aufsprangen und der Befehlssatz des Protokolls musste möglichst viele Funktionen abdecken und gleichzeitig erweiterbar sein.

Musical Instruments Digital Interface war geboren, kurz MIDI. Ein Protokoll, einfach genug, um es günstig überall einbauen zu können und so universell, wie es davor und lange danach keine  Computerschnittstelle war. Ein Atari konnte mit einem Mac, einem PC oder einem Commodore, MSX oder Sinclair Computer MIDI-Daten über diese Schnittstelle austauschen, jeder verstand es, obwohl sie jeweils eigene Betriebssysteme verwendeten. Physikalisch war die Schnittstelle eine 5-Pin DIN-Buchse, damit wurden in den 60ern in Mitteleuropa die Tonbandgeräte mit der HiFi-Anlage verbunden, um Aufnahmen zu machen. Später wurden bei Stereoanlagen diese Anschlüsse durch Cinch-Buchsen ersetzt.

Das MIDI-Protokoll

MIDI ist ein Protokoll, anfänglich, um mit einem Synthesizer einen anderen zu steuern bzw. mitspielen zu lassen, später auch, um Mehrspuraufnahmen mit Synthesizern in Computern aufzuzeichnen. Das wurde zum ersten Mal öffentlich auf der Winter NAMM Anfang 1983 gezeigt. Da wurden ein Roland Jupiter-6 und ein Sequential Prophet-600 miteinander verbunden. Aber das könnt ihr alle ja bereits singen.

Workshop: Das MIDI Datenformat und Midi Protokoll

Controller-Zuweisung beim MonoPoly (iPad)

Bei diesem Protokoll wird nur die Aktion des Musikers übertragen, also Taste gedrückt, Taste losgelassen oder Programmnummer 13 gedrückt, Pitchbend um einen halben Ton nach unten bewegt. Oder Data-Entry von 0 auf 21 geschoben. Es wird kein Audiosignal übertragen, auch wenn das manchmal so scheint, denn das MIDI-Protokoll sieht u. a. auch die Soundanwahl vor. Ist der Synthie angeschlossen, mit dem ich einspielte und wurde die Soundanwahl während der Aufnahme einmal betätigt, stellt sich bei der Wiedergabe automatisch der gleiche Klang ein.

Verkürzt kann ich sagen: MIDI zeichnet die Aktion in einem Sequencer auf, das Instrument gibt die Reaktion wieder.

MIDI-Kabel & Praxis

Die Kabel sind unidirektional. Also mit einem Kabel empfange ich Daten, mit dem zweiten sende ich sie. Das änderte sich erst mit dem Protokoll 2.0 seit 2019. Das wird aber noch kaum eingesetzt.

ANZEIGE

Nehme ich das mit einem Computer auf, werden genau diese Steuerbefehle aufgezeichnet und beim Einspielen der nächsten Spur wird der Computer für mich gleichzeitig die erste Spur mit allen aufgezeichneten Aktionen spielen. Im Computer/Sequencer ist dann, wie oben gesagt, keine Musik aufgenommen worden, die ich ohne den Synthesizer oder einen anderen Tonerzeuger hören könnte. Allerdings habe ich jetzt die erstklassige Möglichkeit, jeden eingespielten Ton oder jede Programmwechselnachricht nachträglich in Ruhe zu verändern. Ich kann Töne/Ereignisse wegnehmen oder hinzufügen. Oder den Lauf, der mit einem Bass eingespielt wurde, danach mit einem Flötenklang abspielen. Oder mit einem besseren Bass.

MIDI ist eine Sprache des minimalen Aufwands: Es werden in den meisten Fällen drei Zahlen in binärer Form übertragen. Das Verstehen der binären Formate ist für die Erklärung der MIDI-Sprache nicht unbedingt wichtig, stell dir einfach vor, der Computer spricht eine andere Sprache, statt 17 sagt er 10001 oder statt 100 steht 1100100 im Speicher. Ein Byte hat acht Bit. Jedes Bit hat zwei mögliche Werte, 0 oder 1. Mit 8 Bit kann ich 256 verschiedene Werte beschreiben. Das Byte lässt sich noch in zwei Nibbles unterteilen, wichtig beim Statusbyte. Als Nibble werden die ersten 4 oder die letzten vier Stellen eines Bytes bezeichnet.

Das MIDI-Datenformat

Eine Nachricht von einem zum anderen Gerät enthält verschiedene Informationen. Zuerst die Meldung:

  • Wer oder was bin ich? Ein Ton, ein Programmwechsel, eine Modulation, um mal drei wichtige Arten (der sog. Status) der möglichen Meldungen aufzuzeigen. (8 mögliche Werte, entspricht 3 Bit) Die Zahl 8 = 2x2x2 – Erklärung: Jedes Bit kann 2 mögliche Werte annehmen, den Wert 0 oder 1, also könnte ich mit 3 Bit 8 verschiedene Zahlen darstellen.
  • Welchen MIDI-Kanal betrifft das? (16 mögliche Werte 4 Bit 2x2x2x2)
  • Bei Control-Changes, welcher Controller ist gemeint? Lautstärke, Panorama, Cutoff-Frequency, Hallintensität? Bei Noten: welche Note? (128 mögliche Werte, 7 Bit)
  • Wie stark soll das Ereignis ausgeführt werden? Also, wie laut der Ton, wie stark das Bending oder der Druck beim Aftertouch. (128 mögliche Werte, 7 Bit, die Erweiterung des Bereichs weiter unten erklärt)

Diese Werte werden als 3 Bytes übertragen. Aber jetzt sagst du: Es sind ja vier Größen, ok. Kurz nachgerechnet sehe ich, 1 und 2 hat viel weniger mögliche Werte und kann daher in einem Byte zusammengefasst werden. Das Byte hat 256 mögliche Werte, ginge also. Dabei greift man zu einem Trick, das erste Nibble (ein Nibble sind 4 Stellen eines Bytes, also bilden zwei Nibble ein Byte) trägt den Status, das zweite den MIDI-Kanal.

Dass nicht 256 Werte, sondern nur 128 zur Verfügung stehen, hat auch einen Grund. Der Empfänger muss wissen, ob das gerade empfangene Byte ein Statusbyte oder ein Datenbyte ist. Es gibt nämlich auch Nachrichten, die aus zwei Bytes oder mehr als drei bestehen. Das wird mit der ersten Stelle eines jeden Bytes gelöst. Statusbytes beginnen mit 1, Datenbytes mit 0. Durch das Opfern eines Bits bleibt nur noch die Hälfte aller möglichen Werte, also 7 Bit = 2x2x2x2x2x2x2 oder „2 hoch 7“. Das ergibt 128 mögliche Werte.

Die folgende Nachricht erzeugt auf Kanal 9 ein D1 (Notennummer 38, die Noten sind durchnummeriert von 0-127) mit maximaler Velocity: 127

Workshop: Das MIDI Datenformat und Midi Protokoll

Wir sehen ein Statusbyte und 2 Datenbytes. Die jeweils erste Stelle der 3 Bytes (schwarz) zeigt, ob es Statusbyte (1) oder Datenbyte (0) ist.

Zusammenfassung MIDI-Nachricht

Im ersten Nibble sind also die Kennung Status/Datenbyte enthalten sowie der Status selbst. Unter Status versteht man die Art der MIDI-Nachricht, also Note-on, Note-off, Control-Change, Pitchbend, polyphoner und monophoner Aftertouch, Program-Change, SysEx.

Bei Noten ist das erste Datenbyte immer die Tonhöhe, das zweite die Velocity. Bei Controllern das erste der Controller (Volume, Pan, Data Entry etc.), das zweite der Wert. (Erstes und zweites Datenbyte)

Beim zweiten und dritten Byte stehen 7 Bit (128, da 27 mögliche Werte) zur Verfügung, da das erste Bit wie beim Statusbyte zur Kennzeichnung des Datenbytes benötigt wird.

Das erklärt die Beschränkung auf 16 MIDI-Kanäle (4 Bit beim zweiten Nibble des Statusbytes) und 128 verschiedene Töne oder auch Velocity-Stufen.

In dezimaler Schreibweise steht da übrigens:

153; 38; 127

Das ist für uns leichter lesbar, aber die darin enthaltenen Werte sind schlechter zu erkennen. In DAWs gibt es daher meist eine Mischform in der Darstellung, wobei das Statusbyte in die beiden Parameter aufgeteilt wird, Daten-Byte 1 als Tonhöhe oder Controller-Nummer da steht und Datenbyte 2 den Velocity- oder Controller-Wert enthält.

In besser lesbarer Form:

Workshop: Das MIDI Datenformat und Midi Protokoll

Die drei Bytes einer MIDI-Nachricht in verständlicher Sprache

Wer über das obige Beispiel nachdenkt, fragt sich: ok, wir haben einen Ton auf einem bestimmten MIDI-Kanal zu spielen, dessen Tonhöhe D1 ist und dessen Anschlagsstärke 127 ist. Was nicht klar ist: Wie lange dauert der Ton? Sende ich nur dieses eine Event, spielt der Synthesizer den Ton endlos, sofern nicht seine Hüllkurve dagegen spricht. Also brauchen wir noch eine weitere Information, das ist die Länge des Tons.

Das wurde dadurch gelöst, dass die gleiche Info noch mal gesendet wurde, das Statusbyte aber die Info Note-off (000), statt Note-on (001) enthielt. Ein Ton braucht zur Definition aller wichtigen Parameter also 6 Bytes. Nutze ich 16 Kanäle mit vielen Tönen, kommt da allerhand zusammen. Dabei lassen wir die CC (Control-Change-) Daten, die noch weit mehr Traffic erzeugen (siehe Bild 3), erst mal außen vor. Im folgenden Bild eine Darstellung einer Note in Cubase – Status ist klar: Note, MIDI-Kanal:10, Byte 1: D1, Byte 2: 118 – in diesem Fall ist auch noch die Loslassgeschwindigkeit (Release-Velocity) notiert: 46

Workshop: Das MIDI Datenformat und Midi Protokoll

Wie kann ich das einschränken? Die Lösung: Fast ein Drittel der Daten lässt sich reduzieren, indem ich auf das Senden des ersten Bytes verzichte, wenn dieses sich nicht ändert. Jetzt hätte ich aber wieder das Problem des nicht endenden Tons. Also wurde bestimmt, dass ein Ton bestimmter Tonhöhe mit Velocity 0 das Gleiche bedeutet wie ein Note-off dieses Tons. Ich muss den Ton also noch mal senden, aber ohne Statusbyte, denn der Status bleibt ja gleich. So geht die Datenmenge auf ungefähr ⅔ des ursprünglichen Werts zurück, das ist der sog. Running-Status.

Dadurch war es überhaupt erst möglich, die Daten zu reduzieren, denn auf Note-on folgte zwangsläufig Note-off, sollte die Note nicht hängen und damit wäre eine Statusänderung notwendig. So reduzierte man die Datenmenge signifikant. Zehn Töne hintereinander benötigen 41 statt 60 Bytes, beim ersten Ton muss der Status ja gesendet werden.

Das serielle Datenformat von MIDI

MIDI ist ein Datenformat, das seriell versandt wird. Es stehen ja nur zwei Leitungen zur Verfügung. Das heißt, eine MIDI-Nachricht folgt der anderen. Datentypen können allerdings gemischt werden, d. h. eine Note, danach ein Program-Change und eine Meldung, dass das Sustain-Pedal gedrückt wurde. Eine Ausnahme bilden SysEx-Daten (hauptsächlich Klangdaten für einen bestimmten Synthesizer, das SysEx-Format beinhaltet Hersteller-ID und Geräte-ID), die müssen komplett ohne Unterbrechung verschickt werden. Daher werden sie, wenn überhaupt, vor dem Start eines Stücks gesendet, um die Übertragung nicht ins Stottern zu bringen.

Damit eine Steuerung der Synthieparameter dennoch möglich ist, einigte man sich darauf, diese Daten als Controller zu übertragen. Dann lassen sich Soundänderungen auch mit Noteninfos und anderen Controllern mischen.

Im folgenden Bild ein Beispiel mit lediglich 3 eingespielten Noten, aber einer Fülle von Daten, dabei sind noch einige ausgeblendet. Die Noten haben verschiedene Kanäle (mit einem Seaboard eingespielt), damit die Modulation gezielt auf einzelne Töne erfolgen kann.

Workshop: Das MIDI Datenformat und Midi Protokoll

Einige wenige Controller zur Soundveränderung sind standardisiert, Cutoff-Frequenz, Reso, Hallintensität und Chorus. Was nicht mit diesen Controllern möglich ist, wird oft mit den Controller-Nummern 98-101 erledigt. Dieser Wertebereich wird NRPN genannt (Non registered parameter number) Dabei werden zur Erweiterung des Werteraums einfach zwei Controller-Nummern hintereinander gesendet 99 für grobe und 98 für feine Werte (resp. 101 und 100). Diese Vorgehensweise gibt es auch mit den Controllern 0-31 und 32-63. Das erweitert die Anzahl der Wertestufen auf 14 Bit. 16384 statt 128 Stufen. Hört sich prima an, gibt es seit Jahrzehnten, wird praktisch nicht verwendet. Ist das Kunst oder kann das weg? Offensichtlich keine Kunst.

Die Übertragungsgeschwindigkeit (gemessen in Baud = Bit/sec) ist nicht sonderlich hoch: 31250 oder 31,25 kBaud. Eine Übertragung der drei zum Start eines Tons notwendigen Bytes dauert etwa eine Millisekunde. Grob gerechnet kann ich damit 500 Töne ohne und etwa 750 mit Running Status pro Sekunde übertragen.

Um die Datenrate besser auszunützen, wurden Multi-MIDI-Interfaces gebaut. Eine Leitung führte in den 80ern und 90ern die Daten von maximal 240, meist 128 MIDI-Kanälen zum Interface, dort wurden sie auf bis zu 15 Ausgänge verteilt und erst ab da galt die fixe Größe von 31,25 kBaud.

In den Computern heutzutage gilt die Beschränkung nur noch für externe Geräte, die über MIDI mit dem Computer verbunden sind, bei Verwendung von MIDI intern, also bei der Ansteuerung virtueller Instrumente, ist das Problem nicht vorhanden.

MIDI-Daten verändern

MIDI-Daten kann ich sowohl nach dem Einspielen als auch in Echtzeit während dem Senden und Verarbeiten verändern. Das erlaubt mir die Korrektur nicht ganz gelungener Aufnahmen, aber auch den kreativen Einsatz mit Hilfe von MIDI-Prozessoren. Das können externe Kisten sein, hatte man früher oft in Masterkeyboardcontrollern oder Computer. Heute verwendet man dazu eigentlich immer die Rechner.

An vielen Stellen der Musikproduktion kann ich an mehreren Stellen meines Setups das gleiche Ergebnis einer Veränderung erreichen. Ich kann beispielsweise einen Split der Einspieltastatur im Sequencer oder im Masterkeyboard programmieren. Im Studiokontext würde ich mich auf eine Stelle der Programmierung beschränken, in diesem Fall auf den Sequencer. Dann ist es egal, wenn ich x Jahre später den Song noch mal lade und eine ganz andere Tastatur dran habe, der Split bleibt, selbst, wenn die neue Tastatur gar keine Split-Punkte verwalten kann.

So könnte ich mit Aftertouch die Cutoff-Frequenz des angesteuerten Synthies verändern, indem die Aftertouch-Daten einfach zu Control-Change-Daten mit der Nummer 71 gewandelt werden. Das ist häufig der Controller für diesen Parameter. Oder das Modulationsrad verändert das Panorama. So sähe eine solche Wandlung aus (1. Zeile vor der Wandlung, 2. Zeile nachher):

Workshop: Das MIDI Datenformat und Midi Protokoll

Mit dem Modulationsrad Panoramadaten erzeugen

Ich sehe, nur Byte 1 wird umdefiniert. Wert steht für den jeweils vorhandenen Wert, der wird einfach übernommen. Das geht natürlich auf jedem beliebigen Kanal. Beim ersten Beispiel (Aftertouch zu Filteröffnung) müsste zusätzlich noch der Status geändert werden, von Aftertouch zu Control-Change.

Jetzt eröffnen sich viele Möglichkeiten, alle Fader des Masterkeyboards, die Tasten der Drumpads, das Pedal am Synth, die Fader eines Digitalpults, alles kann als Quelle für MIDI-Daten verwendet werden, sobald sie MIDI-Daten senden. Will ich diese Transformationen häufiger einsetzen, definiere ich Spuren in einem leeren Song, die jeweils eine andere Transformation hinterlegt haben, benenne die Spur mit der Beschreibung des Prozesses (Modwheel zu Cutoff) und speichere das Ganze als Song ab. Die benötigte Tranformation kopiere ich danach in einen Song oder lasse alle Transform-Spuren in einem Song zum Beispiel unterhalb der eingespielten Spuren. Ein Wechsel mit dem Cursor auf eine Transformationsspur aktiviert diese.

Selbstverständlich kann ich diese Zuordnungen auch anders lösen. Controller-Mapping, das ist die Zuweisung bestimmter Controller zu bestimmten Plug-in-Parametern, indem man sie „anlernt“. (siehe Bild 1). Der Parameter wird in einem Modus versetzt, der den nächst verwendeten Controller als werteverändernden Parameter akzeptiert. Bei Hardwaresynths kann ich den kontrollierenden Parameter auch im Programm mit abspeichern. Welche Lösung ich wähle, bleibt ganz meiner Arbeitsweise überlassen, ich meine natürlich Workflow.

Alle großen Sequencer erlauben die Transformation der Parameter, sie heißt vielleicht unterschiedlich. Logical Editor in Cubase, in Logic heißt er MIDI-Transformer.

Da diese Transformationen auch Rechenoperationen beinhalten können, könnte ich das Verhalten der Anschlagsdynamik verändern. Dazu wird Byte 2 mit 1,2 multipliziert und ich erreiche größere Werte mit kleinerer Anschlagsstärke. Ich kann Positionen der Note-ons ändern und dadurch eine Sequenz verlangsamen oder beschleunigen. Ich habe Einfluss auf die Notenlänge, lasse also meine Einspielung in Richtung Staccato oder Legato gehen.

MIDI-Eingabe und Audioausgabe, wie ich es z. B. bei virtuellen Instrumenten habe, ist das Beste aus zwei Welten. Diese Aufnahmen stellen die meisten Optionen zur Echtzeit oder nachträglichen Manipulation dar. Der Zugriff bis auf die unterste Ebene der Einspielung ist in diesem Umfang sonst nirgendwo möglich. Nicht nur Töne, auch Modulationen bleiben editierbar. Deshalb auch: MIDI-Spuren zu Audio wandeln ist ok, aber bitte die MIDI-Spur immer in stummgeschalteter Form im Song behalten. Dann habe ich die Chance, auch Jahre später noch kreativ in den Song einzugreifen. Das gilt selbstverständlich auch für Musiker, die externe Synths aufnehmen

Auf der Audio-Ebene habe ich nichts Vergleichbares oder es ist nur unverhältnismäßig aufwendiger zu erreichen. Mit MIDI gibt es kreative Möglichkeiten, an die keiner denkt, wenn er nicht einfach auch mal spielerisch an die Sache rangeht. Ich kann Drumtracks auf andere Instrumente umleiten. Das gibt manchmal auch harmonisch interessante Ergebnisse, da die einzelnen Drum-Instrumente ja über die Tonhöhe definiert sind. Passt irgendwas nicht, selektiere ich alle Töne im Editor und verschiebe sie dahin, wo sie harmonisch mehr Sinn ergeben. Das geht meist beim Pianolaeditor am einfachsten, denn da muss ich nur eine der virtuellen Tasten anklicken und alle Töne gleicher Höhe sind selektiert.

www.TaiTuts.de • © Tai, 2022 • Bilder: Tai

ANZEIGE
Fazit

Es lohnt sich für fast jeden Musiker, sich mit diesem Format zumindest in den einfacheren Bereichen auseinanderzusetzen. Habe ich Gefallen daran gefunden, eröffnen sich vielfältige Optionen bis hin zum eigenen Editor für meine Instrumente

Plus

  • sehr einfaches Protokoll
  • sehr günstig
  • universell und OS-unabhägig
  • seit 40 Jahren kreativ genutzt
ANZEIGE
Forum
  1. Profilbild
    AMAZONA Archiv

    Ich habe eine Frage bezüglich TRS-Midi.

    Wie schätzt Du das ein… gibt es da qualitative Unterschiede in der Datenübertragung oder ist
    das vernachlässigbar? Arbeitet TRS-Midi ähnlich zuverlässig wie 5-Pin oder sogar gleich zuverlässig?
    Gibt es überhaupt irgendwelche relevanten Unterschiede?

      • Profilbild
        komabot

        Das ist der Vorteil einer digitalen Übertragung.
        Entweder es funktioniert ganz oder es funktioniert gar nicht ;)

    • Profilbild
      gaffer AHU

      Puh. Da habe ich nicht wirklich Erfahrungwerte. Aber da MIDI eine feste Datenrate hat und imho TRS MIDI nur eine andere Steckerform ist, dürften sich da keine Unterschiede ergeben.

    • Profilbild
      RoDi

      DIN-5Pin und TRS sind elektrisch identisch. Es sind nur andere Stecker/Buchsen. Wichtig ist aber ein Unterschied zwischen DIN/TRS und USB. Die Urväter haben bei der Spezifikation der Datenverbindungen mitgedacht und eine elektrische Isolierung per Optokoppler *zwingend* vorgeschrieben.
      Im Gegensatz dazu stellt USB über Masse (GND) und DC-5V eine elektrische Verbindung zwischen den beteiligten Geräten her. Da fängt es dann fröhlich an zu brummen und zu zwitschern. Da USB auf den direkten elektrischen Kontakt angewiesen ist, bleibt in diesem Fall nur noch die Trennung der Audioverbindungen per Übertrager, mit allen negativen Auswirkungen auf Klang und Budget.

      • Profilbild
        gaffer AHU

        Wusste ich nicht, bzw. habe ich nicht zu Ende gedacht, dass es ja gar nicht geht mit USB MIDI und Optokoppler.

  2. Profilbild
    AMAZONA Archiv

    Ich habe Midi so richtig lieben gelernt als ich mir damals den Yamaha QY700 neu gekauft habe.
    Vorher war Midi für mich nur – wie Du schon beschreibst – ein Keyboard steuert einen Klangerzeuger an.

    Mit dem QY700 habe ich dann zum ersten Mal die kreativen Seiten des Midiprotokolls kennengelernt.

  3. Profilbild
    growl

    Danke, Du kannst super erklären, ich tue mich mit sowas normal eher schwer, aber du schreibst so gut, dass ich das prima nachvollziehen konnte. Top!

  4. Profilbild
    cosmolab

    @gaffer (oder vielleicht eher an Dirk):

    Der Start sieht schon seltsam aus: „Computerschnittstelle war“.
    Kann es sein, dass da ein ganzer Absatz am Anfang fehlt?

    Kriegt man das noch repariert?

    • Profilbild
      Filterpad AHU

      @cosmolab. Soviel man weiß lassen sich Beiträge, zumindest der Schriftteil, jederzeit ändern. Siehe Statusreport Behringer, der ständig aktualisiert wird. Ansonsten gut erklärt und gut beschrieben. Aber 3x muss ich ihn mir noch durchlesen. ;)

  5. Profilbild
    moss

    Wenn man das Statusbyte in Hexadezimal (16er System: 0-9,A-F) schreibt, ist die Logik dahinter direkt sichtbar (im Gegensatz zur gezeigten binären Schreibweise). Die erste Ziffer ist dann immer der Befehl und die zweite Ziffer der MIDI Kanal:

    „Note On“: 0x90 – 0x9F
    „Note Off“: 0x80 – 0x8F
    „Continuous Control“: 0xC0 – 0xCF
    usw.

    • Profilbild
      gaffer AHU

      Ja, richtig, wenn ich mich länger in dem Bereich engagiere, muss ich unbedingt auch die hexadezimale Schreibweise lernen. zumal diese in den MIDI Daten Format Broschüren der Hersteller fast ausschliesslich verwendet wird. Ich habe es weggelassen, da der Einstieg in binäre Darstellungen etwas leichter fällt. Zumindest ging es mir so.

  6. Profilbild
    dAS hEIKO AHU

    Das Erstaunliche und gleichzeitig Wunderbare ist ja, dass dieses „veraltete“ System immer noch funktioniert und ambitioniert angewandt immer noch hervorragende Dienste leistet. Klar lösen heutzutage viele Gerät zum Beispiel Volume(Verläufe) in 1000 statt „nur“ 128 Schritten auf. Bei Clavia hatte man die ddrums schon sehr früh mit 1.000 Dynamicstufen intern ausgestattet, um nuanciertes Trommeln so gut darzustellen. Insofern macht die MIDIAufzeichnung oder wiedergabe eines solchen Drummoduls nur bedingt sinn.

    Auch bei der Bitbreite bin ich (mangels Fachwissen und -Interesse) immer wieder erstaunt, wie sich die Werteanzahl von 8 auf, dagen wir mal, 32 Bit erhöht: nämlich auf mehrere MILLIARDEN!

    Aber alle engagements, das MIDI Protokoll zu erneuern, scheitern mMn daran, dass zu viele Köche die Köchin verderben. Audio und MIDI und vielleicht noch DMX-Daten über eine Schnittstelle und voll kompatibel…. man sieht aktuell bei der USB Schnittstelle, dass hier der Wunsch Vater des Gedanken war, es aber zu ende gedacht in der Praxis hinkt und hakt.

    Ein MIDI 2.0 sollte nach wie vor die Steuerung Synchronisation von Geräten bewerkstelligen. Und das den gestiegenen Ansprüchen genügen. Der Clou am 1984er MIDI war seine „Einfachheit“. Es gibt ja auch Gute Günde warum es von Gardena keinen Adapter Warmwasser auf USB3 gibt.

    Keep it simpel.

    Und danke an gaffer für deine Mühe.

    • Profilbild
      t.goldschmitz RED

      „Ein MIDI 2.0 sollte“
       
      MIDI 2.0 ist doch bereits offiziell und mit viel Tamtam angekündigt und veröffentlicht worden:
       
      https://www.midi.org/specifications/midi-2-0-specifications
       
      Aber irgendwie scheinen die Hersteller nicht so wirklich darauf anzuspringen. Keiner sieht irgendwie den Mehrnutzen, nur mehr Arbeit in der Implementation.

      🎼 So let’s MIDI like it’s nineteen eighty-four !

    • Profilbild
      RoDi

      MIDI 1.0 wurde explizit mit dem Ziel entwickelt Geräte herstellerübergreifend zu verbinden. Das widerspricht natürlich allen Geschäftsmodellen, die auf ‚Ökosysteme‘ oder ‚Plattformen‘ setzen. Das Schöne ist, dass MIDI 1.0 als kleinster gemeinsamer Nenner trotz seiner Einfachheit so flexibel ist und z.B. auch Weiterentwicklungen wie MPE (Multi Polyphonic Expression) standardkonform zulässt.
      Trotz aller Einschränkungen, z.B. bei Timing und Synchronisation ist MIDI 1.0 immer noch „gut genug“ und deckt viele Anwendungen ab.

  7. Profilbild
    mdesign AHU

    erhellender bericht, danke! ich kenne midi seit fast 40 jahren und habe trotzdem noch was gelernt. ich mag das gute, alte kabel-DIN-MIDI immer noch – es läuft unverwüstlich, übersichtlich und ohne host auf fast allem, was ein stromkabel hat. wenn die buchse da ist, wird es funktionieren.

  8. Profilbild
    AMAZONA Archiv

    Schöner Artikel als Einstieg in die MIDI-Welt!

    Ich finde MIDI allerdings im praktischen Alltag schon zu „wackelig“ und nutze wo es geht lieber CV/Gate und DinSync. Das ist sehr solide und auch absolut ausreichend für Steuerung und vor allem jitterarm beim Clocking. MIDI muss eben auch erst einmal ein- und ausgepackt werden.

  9. Profilbild
    Garfield Modular AHU

    Hallo Gaffer,

    Vielen Dank für den Artikel. Gut und deutlich geschrieben und so wie bei vielen Leser, war das sehr hilfreich für mich.

    Viele Grüße, Garfield.

  10. Profilbild
    Nachteulenschreck

    Danke für den Artikel, sehr gute Zusammenfassung!
    Sache mit Midi 2.0 ist, dass es schon wieder zuviel war. Als Hersteller würde ich mich hüten auf ein Produkt Midi 2.0 drauf zu schreiben, weil das zum Support-Wahnsinn führen würde.

    • Profilbild
      TobyB RED

      Idealerweise bekommst du nicht mit das MIDI2.0 werkelt. Im Stack gibt es ja exlipizit Auto Negotiation und Fall Back zu 1.0 und das funktioniert prächtig.

  11. Profilbild
    d_eric

    Vielen Dank für diesen Einstieg in das Thema. Ich mag das Protokoll in seiner Einfachheit auch sehr gerne, wobei ich mich manchmal frage, warum heute diese eine Note wiederholbar nicht gespielt wird, morgen ist aber wieder alles gut…

Kommentar erstellen

Die AMAZONA.de-Kommentarfunktion ist Ihr Forum, um sich persönlich zu den Inhalten der Artikel auszutauschen. Sich daraus ergebende Diskussionen sollten höflich und sachlich geführt werden. Politische Inhalte und Statements werden durch die Redaktion gelöscht.

Haben Sie eigene Erfahrungen mit einem Produkt gemacht, stellen Sie diese bitte über die Funktion Leser-Story erstellen ein. Für persönliche Nachrichten verwenden Sie bitte die Nachrichtenfunktion im Profil.

ANZEIGE
ANZEIGE
ANZEIGE
X
ANZEIGE X