Most USB MIDI 1.0 products rely on off-the-shelf silicon or existing libraries for USB MIDI functions. None of those exist yet for the Universal MIDI Packet (UMP) and the MIDI 2.0 protocol, blocking MIDI Association members (and in the future a wider group of developers) from prototyping core MIDI 2.0 UMP functionality today. Developing a USB device- side driver is not the core competency of most MIDI developers.
AmeNote developed a USB MIDI 2.0 Device, designed specifically to jump-start prototyping and validation of UMP functions and fuel the MIDI 2.0 revolution. GOALS Encourage speedier adoption of MIDI 2.0 by:
• Providing an affordable, flexible prototyping platform to enable software and hardware developers to start testing and prototyping MIDI 2.0 UMP.
• Providing a testing platform which connects via the USB MIDI 2.0 drivers recently released by Apple and Google and a test tool for Microsoft as they create Windows drivers.
• Provide USB MIDI 2.0 source code that other hardware developers can use under a no-charge permissive license.
Functions
The principal firmware consists of architecture and development to enable an embedded device to support USB MIDI 2.0 (andincludes USB MIDI 1.0).
This development builds on an existing stack known as tinyUSB, an open source (MIT) and well supported USB device and host stack that has been ported onto most of the embedded platforms used today.
The OS Abstraction Layer (OSAL) exists for the Raspberry Pico, simplifying this integration and development effort to the Device Class API (TUD).
See https://github.com/hathach/tinyusb)
The Raspberry Pi Pico board provides the main processor, power regulation and USB C connectivity which is sufficient to develop, test and experiment with MIDI 2.0 Protocol over USB and some base operations. This is extended with a base PCB that supplies hardware interfaces.
A custom PCB adds knobs, buttons and LEDs to generate UMP messages such as Notes or the 32-bit controllers of MIDI 2.0.
The design includes MIDI 1.0 Input and Output, connected to a MIDI Translator, as a way to send or receive UMP messages using any existing MIDI 1.0 devices. MIDI 2.0 related firmware will provide the foundational requirements for enabling UMP, including MIDI-CI Discovery, Protocol Negotiation, and Translation.