Habe grade mal die Spezifikations durchgefräst (in knapp 4 Stunden).
Ich denke die wesentlichen Änderungen neben den bekannten Topics wie Auflösung etc. pp.:
1. Midi 2.0 ist per Definition Bidirektional, währen Midi 1.0 Unidirektional war. Das heißt fast jeder Request erwartet dann auch eine Antwort (zumindest ein "okay habe ich verstanden", oder "hat nicht geklappt"). Damit sind dann Midi Merger wie früher mal nicht mehr machbar. Man braucht schon komplexe Gateways, Transporter oder Proxies um das richtig zu machen.
2. Midi 5 Pin und auch alle anderen derartigen wege, werden nicht UMP (Universal Midi Packett) und damit auch keine Midi 2.0 Funktionen übertragen. Neben dem Punkt1 ist das der zweiter Grund warum es keine Merger mehr geben wird.
3. Midi Devices die 2.0 Unterstützen kann man in Zukunft einfach Fragen, was sie können (also welcher Controller für welchen Parameter z.B.). Eine zusätzliche Dokumentation der Parameter erübrigt sich hier. Summit SysEx Docu sei gegrüßt
4. Profile und Capabilities - Sowas ähnliches gab es mit GM .. aber nicht komplett.
5. 8 Bit Support
Da jetzt nicht mehr das 1. Bit in einem Bytestream zur Identifikation von Commando Bytes verwendet werden muß, da das UMP das ja beseitigt, können also endlich auch 8bit Bytes verwendet werden. Für Midi 2.0 wurde extra Sysex8 Format eingeführt als UMP Packet Type und das ist dann immer ein 128bit (also bis zu 14 Databytes pro Packet) groß. Also endlich keine Umrechnerrei je hersteller immer anders. Allerdings werden bei vielen Messages weiterhin 7bit bytes verwendet. Für Midi2.0 gibt es eigene Channel commands, die es sehr viel einfacher machen die entsprechenden Parameter zu übertragen. Statt bis zu drei Midi Messages wird nur 1 64bit UMP paket verwendet - immer gleich groß. Damit kann man dann endlich mal einfach die NRPNs ansprechen, da die jetzt nicht mehr drei Midi Channel Messages benötigen (2x midi CC NRPN MSB/LSB+ 1x Midi CC Value)
6. Was für Programmierer: Die Capabilities die man Abfragen kann werden als JSON übermittelt, genauso wie alle anderen Inquiries und eigentlich alles was am MIDI-CI dran hängt. Das ist sehr gut, da man es als Mensch lesen kann, aber eben auch sehr einfach als Maschine. Damit wird sich auch das Sysex Format überleben, denn es ist viel einfacher die Patches einfach als JSON zu senden und die im Originalformat abzulegen. Theoretisch kann man damit sogar die Patches zu einem anderen Synth übertragen ... der interpretiert dann natürlich nur das, was er versteht ... Ergebnis könnte interessant werden wenn da sachen weggelassen werden, die es einfach nicht gibt.
Ich finde das richtig klasse, und dabei interessieren mich am wenigsten die Multi Note Poly channel dingeskirchens. ... Im Moment fehlt mir dazu die Vorstellungskraft was ich "also ich jetzt selber" damit machen würde. Aber haben ist erst mal gut