MIDI class
Overview
The USB class protocol for MIDI was defined for mapping the MIDI protocol to USB, so that music playing and controlling devices can interact via USB. These music devices can be of any kind using the MIDI interface via USB, whether MIDI controllers, MIDI sequencers, drum computers, instruments, effect units, samplers, or synthesizers.
Key features
- Compatibility with different MIDI devices.
- Handling of multiple MIDI devices at the same time (e.g. drum machine and synthesizer).
- Handling of MIDI devices with multiple cables (e.g. USB to MIDI converters).
- Ability to send MIDI commands to a device and receive MIDI commands from a device.
- Notifications about insertion and removal of MIDI devices.
- Small footprint
Application Examples for emUSB-Host MIDI
Sample Applications Available
SEGGER provides multiple examples with the MIDI class for emUSB-Host. One of the examples is playing a MIDI sequence through a connected MIDI synthesizer and displays, in real time, piano notes and accompanying lyrics on the display of an STM32F746G-DISCO board.
Another example converts a standard PC keyboard into a MIDI controller by applying the HID and MIDI classses. The MIDI controller is capable of controlling a synthesizer or other sound generating devices by sending commands via the MIDI interface on each keystroke.
Requirements
Components required to use emUSB-Host MIDI:
- emUSB-Host MIDI (Included in emUSB-Host PRO package)
- emUSB-Host core (Included in emUSB-Host PRO package)
- emUSB-Host target driver (One driver is included in emUSB-Host PRO package)
- Real-time operating system (embOS or other)