Windows: MIDI 2.0 ist angekommen
Die Februar-Updates für Windows 11 haben die Unterstützung von MIDI 2.0 an Bord. Die Aktivierung erfolgt schrittweise.
(Bild: heise medien)
Bereits die Update-Vorschau Ende Januar für Windows 11 24H2 und 25H2 brachte die Unterstützung für MIDI 2.0 mit. Sie hat es auch in die endgültigen Windows-Updates zum Februar-Patchday von Microsoft geschafft.
Die MIDI-2.0-Funktionen schaltet Microsoft jedoch erst nach und nach frei, will den Prozess allerdings Ende Februar abgeschlossen haben. Ungeduldige können jedoch – auf eigene Gefahr und ohne Gewähr! – selbst Hand anlegen und die Aktivierung mit dem „ViVeTool“ erzwingen. Die aktuellen ViVeTool-Releases finden sich auf GitHub. Der Aufruf von vivetool /enable /id:58988972 schaltet die bislang zurückgehaltenen Funktionen des Februar-Patches einschließlich des MIDI-2.0-Supports frei; ein Rechner-Neustart ist im Anschluss noch nötig.
(Bild: heise medien)
Im Entwickler-Projekt von Microsoft zu MIDI 2.0 für Windows auf GitHub stellen die Programmierer das Tool „midicheckservice.exe“ jeweils für Intel- und AMD-x64-Prozessoren und für Qualcomm/Arm-64-Bit-Prozessoren bereit, mit dem sich der Aktivierungsstatus des MIDI-2.0-Supports überprüfen lässt.
MIDI 2.0 allgemein verfügbar
In einem Blog-Beitrag kündigt Microsoft nun die allgemeine Verfügbarkeit der Windows MIDI Services mit Unterstützung für MIDI 2.0 und MIDI 1.0 unter Windows 11 an. Offiziell gilt der Support ausschließlich für Windows 11 24H2 und 25H2, die für neuere Qualcomm-Arm-Prozessoren spezialisierte Fassung Windows 11 26H1 dürfte jedoch ebenfalls damit ausgestattet werden.
Die MIDI-1.0-Spezifikation stammt ursprünglich aus dem Jahr 1983, die MIDI-2.0-Spezifikation startete hingegen 2020, wobei signifikante Updates der Specs in 2022 und 2023 vorgenommen wurden, erklärt Microsoft. Die Autoren schreiben weiter: „MIDI 2.0 bietet von Haus aus bidirektionale Kommunikation, automatische Geräteerkennung und Protokolleinrichtung, unbegrenzte Geschwindigkeiten, hochauflösende Controller (keine Beschränkung auf Werte von 0-127 oder Multi-Message-Workarounds für größere Werte), Artikulation je Note, selbstbeschreibende Geräte und eine Entkopplung des Protokolls vom Transportweg, was die Einführung neuer Transportwege wie Network MIDI 2.0 erleichtert, sobald diese verfügbar sind.“
Gleichzeitiger Zugriff mit mehreren Apps
„Wir haben in den vergangenen Jahren an MIDI gearbeitet und dabei jahrzehntealten MIDI-1.0-Code komplett neu geschrieben, sodass er MIDI 2.0 unterstützt und MIDI 1.0 ‚aufregender‘ macht. Dieser kombinierte MIDI-Stack heißt ‚Windows MIDI Services’“, erklären die Autoren. Besonders heben sie etwa hervor, dass sich damit MIDI-Geräte in Windows von mehreren Apps zugleich nutzen lassen; das Feature nennt sich „Multi-Client“. Jeder MIDI-1.0-Port und MIDI-2.0-Endpunkt lässt sich unabhängig von dem eingesetzten Treiber oder API so nutzen. In den meisten Fällen sind nun herstellerspezifische MIDI-Treiber weder nötig noch empfohlen, ergänzt Microsoft.
Die MIDI-Endpunkte lassen sich zudem weitergehend anpassen. Kompatibel zum Status Quo ist die klassische Namensvergabe in der API, was die gespeicherten Namen in den DAWs (Digital Audio Workstations) und Musikdateien ohne Neueinrichtung von Ports nutzbar lässt. Nun sind auch Namen nach neuen Schemata möglich, bei denen Nutzer MIDI-Ports in den Geräten oder mittels Software entsprechend konfigurieren können. Als dritte Option gibt es vollständig benutzerdefinierte Namen für MIDI-1.0-Ports und MIDI-2.0-Endpunkte. Letztere können zudem zusätzliche Metadaten verwenden, wie Bilder und Beschreibungen. Apps, die die mit Windows 10 eingeführte WinRT MIDI 1.0-API nutzen, erhalten über die API Gerätenamen zurück, die Namen für die klassische „WinMM“- oder „MME“-MIDI-API widerspiegeln. Das sei ebenfalls eine häufig gestellte Anfrage seit Einführung dieser API gewesen.
App-zu-App-Verbindungen
Die Windows-MIDI-Services bringen außerdem sogenannten Loopback-Support mit. Dadurch können Apps miteinander kommunizieren – unabhängig davon, auf welcher API oder welchem SDK sie aufsetzen. „Sogar WebMIDI-Seiten im Browser können mit den Loopback-Endpoints ohne zusätzliche Treiber oder Software-Installation zusammenarbeiten“, schreibt Microsoft. Beim ersten Durchlauf der „MIDI and Musician Settings“-App werden Nutzerinnen und Nutzer gebeten, ihr MIDI-Setup zu vervollständigen, und können dabei optional einen Satz von Standard-Loopback-Endpunkten hinzufügen. Microsoft will das zudem erweitert haben, sodass eine App ein vollständiges MIDI-2.0-Gerät darstellen kann. Mit dem kommenden Windows-MIDI-Services-Tool sollen Interessierte zudem eigene Loopback-Endpunkte in der MIDI-Einstellungsanwendung anlegen können.
Automatische Übersetzung soll jedes Gerät mit jeder App nutzbar machen, ganz gleich, ob diese nativ MIDI 1.0 oder 2.0 sprechen. Apps, die auf das neuere SDK setzen, können natürlich dann die höher aufgelösten Daten, neue Nachrichtentypen, ein- und ausgehende Zeitstempel und weitere MIDI-2.0-Features einsetzen. MIDI-1.0-basierte Apps sehen die herunterskalierten Werte. Das Ganze erfolgt vollständig transparent für Nutzer. Zeitstempel ermöglichen nun Mikrosekunden-Auflösung – Lag und Jitter stellen bislang für viele Musiker schon ein Problem dar, insbesondere, wenn sie über einstellige Millisekunden hinausgehen. Ausgehende Nachrichten lassen sich mit Zeitstempel auch vorausplanen und zeitgesteuert absenden. Die Entwickler wollen noch weiter daran arbeiten.
Videos by heise
Neuer USB-Klassentreiber
Der bisherige „usbaudio.sys“-Treiber bleibt erhalten. Darin haben die Entwickler jedoch einige kleine Fehler ausgebessert. Zudem liefert Microsoft nun den USB-MIDI-2.0-Klassentreiber „usbmidi2.sys“ mit, der von AmeNote entwickelt und von AMEI (Association of Musical Electronics Industry) bereitgestellt wird. Microsoft hat die Entwicklung davon unterstützt. Er beherrscht Stromsparmodi, stellt einen schnellen Kommunikationskanal zu den neuen MIDI-Services bereit und unterstützt MIDI-1.0- und MIDI-2.0-Geräte gleichermaßen. Standardmäßig nutzen die meisten MIDI-1.0-Geräte zur Sicherung der Kompatibilität weiterhin den älteren Treiber, können jedoch manuell den neuen Treiber zugewiesen bekommen.
In den kommenden Monaten wollen die Entwickler aktualisierte MIDI-App-SDK-Laufzeitbibliotheken und Tools-Pakete bereitstellen. Die umfassen etwa die MIDI-Konsole, die MIDI-Einstellungs-App oder PowerShell-Anbindung zum Skripten von MIDI. Damit lassen sich etwa Loopback-Endpunkte einfach anlegen oder die MIDI-Endpunkt- und -Port-Namen anpassen. Die Vorschau können „Mutige“ etwa bereits jetzt mittels winget installieren. Der Aufruf von winget install Microsoft.WindowsMIDIServicesSDK installiert den aktuellen Stand der zusätzlichen Software.
Auf der Roadmap haben die Entwickler noch weitere spannende Funktionen. So soll ein Low-Latency-USB-Audiotreiber mit ASIO-Support noch in diesem Jahr zumindest als Vorschauversion erscheinen – und vollständig quelloffen sein. Neue Transportwege für MIDI 1.0 und 2.0 wie MIDI über Bluetooth (BLE MIDI 1.0 und 2.0) oder Netzwerk-MIDI 2.0 sowie ein virtuelles Patchpanel für erweitertes MIDI-Routing kündigen sie ebenfalls an.
(dmk)