This months roll out of the new Microsoft MIDI Services to consumer Windows OS now affords the creative community foundational low-level support of MIDI 2.0 features across all major OS and hardware platforms.
- Supports Existing Apps. The existing WinMM and WinRT MIDI 1.0 APIs have been repointed to the new Windows Service. This provides a subset of the new features, including multi-client, so your apps will continue to work as today, but will be even better.
- Multi-client by default. Any endpoint (including MIDI 1.0 devices) can be used by multiple applications at the same time. That means you can use a librarian or controller app at the same time your DAW has a connection open.
- Supports your Existing Devices. Windows MIDI Services supports the MIDI 1.0 devices you own today, including those with vendor-supplied kernel streaming drivers, as well as class-compliant MIDI 1.0 and MIDI 2.0 devices. The experience will be better/faster if they use the new class driver, but we recognize that is not always possible or desirable with some existing devices.
- Faster. In our testing, we’ve found that the new infrastructure is much faster at sending and receiving messages compared to the older API, even with plugins configured in the service. There are no built-in speed caps or throttling in Windows MIDI Services, even for older USB MIDI 1.0 devices. The new MIDI 2.0 driver is not limited USB full-speed, and supports USB 3.x speeds.
- Lower Jitter. Along with higher speed comes lower jitter. This will vary by transport type (USB vs Network vs Virtual), and the device Windows is talking to, but the jitter is in the low microsecond range even without any compensation.
- More Deterministic. Speaking of latency compensation, the new API enables timestamp-based message scheduling for outbound messages for any apps using the new API. In addition, incoming messages are tagged with a timestamp when received by the service.
- App-to-App and Virtual Device MIDI. Windows MIDI Services includes built-in virtual / app-to-app MIDI 2.0 to enable lightning fast communication between apps on the PC.
-
Better tools. We supply the
midi.exeWindows MIDI Services Console for developers and power users, or anyone comfortable with the command line. You can use it to monitor endpoints, send and receive messages, send/capture SysEx data and much more. We also include the MIDI Settings GUI app for renaming devices, configuring your MIDI setup, testing, and more. - Built-in Scripting Built-in support for scripting MIDI using PowerShell. Want to automate synchronization between mixers? Want to set up a script to initialize all your devices for a show? All this can be done via the PowerShell Cmdlets.