Mir war nicht klar, dass die JETZT erst das eigentliche Protokoll für schnelle UDP Übertragungen machen.
MIDI Capability Inquiry (MIDI-CI), Version 1.1
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | Dies ist was schon durch ist und klar: | | |
| | |
5PinDIN cable,USB, New 2 WayUART, Ethernet,OS API, VST,CoreMIDI
|
A MIDI-CI Discoveryestablishes the pairing ofan Input and Output forBidirectionalCommunication betweenDevices, independent ofhardware or softwareconnection medium.
| |
DH - MIDI 2.0 wird erst wirklich vollständig, wenn das alles mit durch geht, denn Ethernet und Direktverbindungen wie sie im Video beschrieben werden sind ja genau das was man will. Das ist schon schade, dass sich quasi nur so wenig Leute um so etwas wichtiges kümmern - die laden ja geradezu alle ein und die Sache wäre sicher bald und schneller durch wenn sich die Korgs und Rolands dieser Welt damit befassen würden.
Die jetzigen MIDI Leute sind ja eher von kleinen Firmen die das voran treiben. Nicht ,dass Google klein wäre - aber Bome und Kiss Box sind eigentlich "kleine" Buden. Es ist trotzdem super, dass OS damit verbunden ist - hoffe der Apfel und der MS hören da zu und machen mit. Das wird dann sicher vor 2025 nichts - aber da es easy ist aus technischer Sicht, werden sie es wohl hinbekommen.
Ja, natürlich gibt es die Basics wie Anzahl und Adressen schon - das ist auch wichtig, aber aktuell liefe das alles über das normale TCP IP.
MIDI 2 setzt fast immer auf 16-32Bit. je nach Bereich. CCs sind also sehr hoch aufgelost und es gibt für JEDEN Synth genug um ALLE Parameter anzusprechen - wirklich ausnahmslos, auch additive Synths mit 65535 Bändern könnte man in Echtzeit steuern!
Also haben wir meist 65535 als Wertebereich und Adressbereich für kleinere Sachen wie Velocity, aber 32Bit für alles andere. Es gibt aber auch eine Art Quality of Service Request wo Geräte in mehreren Stufen ansagen können, was sie leisten und wie weit sie kommen.
Profile ID Byte 5 Profile Level | Profile Support Level |
0x00 | Partial |
0x01 | Minimum Required |
0x02-7E | Minimum Required plus optional, Extended Feature Sets as defined by the Profile specification. |
0x7F | Highest Possible |
Die ID zB hat heute 5 Byte 3 SysEx IDs und 2 Spezial IDs gegenüber einem einzigen vorher.
7F ist die höchste MIDI Adresse, also 127 "MIDI Ports". Es gibt aber auch noch Groups und deshalb gibt es am Ende 256. Sollte reichen.
Da müsste sogar ein Bernie mit auskommen können.
Kanäle sind nach wie vor aber 16 (0F) - wie gesagt in Groups organisiert (16 gibts) = 256.
Sicher auch wegen Kompatibelität.
Vieles wird also so gemacht wie man das kennt - nur mit mehr Datenplatz.
Aber richtig spannend in 2.0 ist das hier
MIDI-CI Device – A Device that has the ability to act as a Responder that replies to inquiries received from an Initiator. The ability to act as an Initiator is recommended but optional.
Sieht so aus (schon verabschiedet)
Value | Parameter |
F0 | System Exclusive Start |
7E | Universal System Exclusive |
1 byte | Device ID: Source or Destination (depending on type of message)
7F = to/from MIDI Port
00-0F = to/from MIDI Channels 1-16
10-7E = Reserved |
0D | Universal System Exclusive Sub-ID#1: MIDI-CI |
1 byte | Universal System Exclusive Sub-ID#2: Category and Type of MIDI-CI Message
0x00-0F Reserved
0x10-1F Protocol Negotiation Messages
0x20-2F Profile Configuration Messages
0x30-3F Property Exchange Messages
0x40-6F Reserved 0x70-7F Management Messages |
1 byte | MIDI-CI Message Version/Format |
4 bytes | Source MUID (LSB first*) |
4 bytes | Destination MUID (LSB first*) |
nb bytes | Data. Includes any necessary fields to suit the needs of each type of MIDI-CI message. |
F7 | End Universal System Exclusive |
Das sind quasi Geräte und Daten die überall drauf gesetzt werden können und ausgehandelt werden, da wird es unfassbar viel an Controller und krassen Synthesen geben die das nutzen werden oder sollten, denn damit wäre ein Osmose Echtzeit Controller über MPE hinaus.
Man sieht - das ist schon dicker als ein normales MIDI 1.0. Und das sind nur die CI Messages.
Da geht also theoretisch viel - man wird wohl sehen ob da ein Microcontroller oder ein dicker Synth dahinter sitzt und ob das eher so gemacht wird wie zB bei Korg immer mal gespart wurde und dann gar nicht mehr viel Platz für MIDI und CCs - oder eben nicht. Das wird in Zukunft extrem viel wichtiger werden was die dafür nutzen. Heute ist ja ein Cortex ARM Chip eher normal geworden selbst für kleine Geräte.
MIDI Transport – Carries MIDI data between Bidirectional Endpoints
. Acts as MIDI-CI Proxy for Endpoints whenever necessary. Passes both MIDI 1.0 and MIDI 2.0 Protocol messages. Does NOT do any protocol translation.
MUID (
MIDI Unique Identifier) – A 28 bit random number generated by a Device used to uniquely identify the Device in MIDI-CI messages to or from that Device.
Das hier ist auch schon bekannt und wird also schon gemacht.
Es gibt viele Levels von "Rechten", sgnt Authority Levels und so weiter.
Weiter oben haben wir ja schon dargelegt, dass da
32Bit für CCs da sind, die MIDI Kanäle sind eigentlich bis
256 hochgedreht worden, die einfach nur in 16 weitere "Gruppen" gepackt wurden, damit das noch immer MIDI im alten Sinne ist.
Einzelne Werte wie Velocity agiert nun mit 16Bit, was zB in Logic schon geht weil MIDI 2.0 bei Apple bereits im OS drin steckt, Aftertouch hat 32Bit, also "osmotisch" wie nur was!
Wartet also mal darauf, dass das umgesetzt wird.
Gesendet wird aber dann eben klassisch. Und muss für UDP und SysEx Blocks ideal auf das UDP Ding "warten". Weil das haben die ja offenbar jetzt umgesetzt.