Post

TinyUSB_MIDI_Device_Arduino

Introducing TinyUSB_MIDI_Device_Arduino

This library implements a TinyUSB MIDI device driver for the Arduino MIDI Library that supports multiple virtual cables. The source includes an example that shows how to make a USB MIDI device with 2 virtual MIDI cables. See the project’s README for more details.

This library uses more code space and memory than the Adafruit TinyUSB Library’s API. If you are creating a USB MIDI device with only one virtual MIDI cable, consider using the Adafruit TinyUSB Library’s native MIDI device API instead.

I created this library in response to a Discussion post in the Adafruit TinyUSB Library project. The question asked how to communicate over multiple virtual cables using a USB MIDI device created with the library’s API. As Adafruit TinyUSB Library version 3.7.4 was implemented, the answer is that you cannot. Although you can create a proper multi-virtual MIDI cable USB descriptor, the library’s API does not give you access to virtual cables other than cable 0. This library is an attempt to solve the problem.

This post is licensed under CC BY 4.0 by the author.