Non-musicians may often equate MIDI solely with .mid music files or the nostalgic sound sets from the late 80s, yet its significance extends far beyond that. For musicians, MIDI serves as a fundamental component, facilitating everything from instrument synchronization to stage lighting, effects control, sequencing, and beat making. MIDI is the essential connective tissue that enables electronic music creation.
MIDI 1.0: A Legacy of Innovation
The journey of MIDI began at the 1983 NAMM Show, where Roland and Sequential Circuits unveiled a groundbreaking open standard for connecting musical instruments. This innovation marked the dawn of electronic music production, establishing MIDI as a beloved tool for decades. The original MIDI specification was straightforward, transmitting short messages over a DIN serial cable at a speed of approximately one millisecond per message. While this was adequate for the technology of the time, the evolution of MIDI has introduced numerous enhancements, including the General MIDI standard, Standard MIDI Files, and richer expression through the MIDI Polyphonic Expression (MPE) standard.
Despite its widespread adoption, MIDI 1.0 has its limitations. It lacks standardized bidirectional discovery mechanisms, imposes a control parameter range of 0-127, and does not fully support rich note expression. Moreover, it struggles with orchestral articulation and identifying MIDI controllers effectively. These constraints have been well recognized by musicians who rely on MIDI controllers and software.
Introducing MIDI 2.0
In 2020, the MIDI Association released the first version of the Universal MIDI Packet (UMP) and MIDI 2.0 Protocol specification, with significant updates in 2022 and 2023 to enhance device discovery and protocol setup. MIDI 2.0 introduces a host of improvements, including:
- Bidirectional communication
- Automatic device discovery
- Uncapped speeds
- High-resolution controllers
- Per-note articulation
- Self-describing devices
While MIDI 1.0 remains a cornerstone of music production, the future of MIDI 2.0 is bright, necessitating robust support for MIDI 1.0 across operating systems.
Windows MIDI Services: A New Era
With great enthusiasm, we announce that Windows 11 now supports both MIDI 1.0 and MIDI 2.0 through the newly developed Windows MIDI Services. This initiative involved a complete overhaul of decades-old MIDI 1.0 code to enhance its functionality while integrating MIDI 2.0 capabilities. The core components of Windows MIDI Services are embedded within Windows 11, rolling out in phases to ensure compatibility with existing MIDI applications.
Key Features of Windows MIDI Services
The introduction of Windows MIDI Services brings a wealth of requested features, ensuring that MIDI 1.0 operates seamlessly while laying the groundwork for MIDI 2.0.
Multi-Client Support
One of the most anticipated features is the ability for multiple applications to access the same MIDI device simultaneously, known as “multi-client” support. This functionality is now available for all MIDI 1.0 and MIDI 2.0 applications, eliminating the need for custom vendor drivers in most cases.
Customizable MIDI Endpoints
Users can now personalize MIDI port names, choosing from classic API names for backward compatibility, new-style names provided by devices, or entirely custom names. Additional metadata, including custom images and descriptions, can also be set through the upcoming MIDI Settings app.
Built-in Loopback and App-to-App MIDI
Windows MIDI Services now features built-in loopback support, allowing applications to communicate with one another without additional drivers. This includes the capability for applications to function as full MIDI 2.0 devices, complete with protocol negotiation and discovery.
Automatic Translation and Scaling
High-resolution MIDI 2.0 devices can now be utilized by any MIDI-aware application on Windows, with automatic protocol translation and value scaling managed by the MIDI Service. This ensures compatibility across devices without requiring user intervention.
Tighter Message Timing
To enhance timing accuracy, Windows MIDI Services supports timestamps for incoming and outgoing messages, achieving precision under a microsecond. This feature aims to provide musicians with the tightest timing possible across all MIDI devices.
New USB Class Driver
The introduction of the new USB MIDI 2.0 class driver, developed with Microsoft’s guidance, enhances communication with the MIDI service while maintaining compatibility with older devices.
Tools and MIDI Scripting
In the coming months, an updated MIDI App SDK Runtime and Tools package will be released, featuring a MIDI Console, MIDI Settings app, and PowerShell projections for MIDI scripting. These tools will facilitate the creation of loopback endpoints and customization of MIDI settings.
Community Collaboration
The development of Windows MIDI Services has been a collaborative effort, with contributions from partners and the community through platforms like GitHub. Special thanks go to AMEI for their invaluable testing support and the donation of the USB MIDI 2.0 driver.
Future Developments
Looking ahead, we are committed to enhancing music creation on Windows, with plans for low-latency USB audio drivers, new MIDI transports, and a virtual patch bay for improved MIDI routing. Stay tuned for updates on these exciting developments.