I basically want to have my Arduino accept MIDI data from my digital audio workstation, my choice is Ableton Live. I would then like it to check the received data and change the state of a digital pin accordingly. I made a pretty basic schematic to show you. Schematic

(Just a very quick diagram, I intend to use RGB LEDs and transistors of some sort in the final product)

I would be happy using a Serial>Midi of some sort if it's the only way, but true USB MIDI would be nice.

  • What kind of MIDI interface hardware does your PC have? And what exactly is your question?
    – CL.
    Commented May 9, 2017 at 18:43
  • I would like to do it over USB. And my question is what would be the best and most appropriate way to do this, I could be sending 50-200 notes a second so needs to be relatively fast
    – Leo Skingsley
    Commented May 9, 2017 at 18:54
  • Which Arduino are you using?
    – CL.
    Commented May 9, 2017 at 18:55
  • Arduino Uno R3.
    – Leo Skingsley
    Commented May 9, 2017 at 18:56
  • So you want to make a sound to light machine eh? Is there any detail in the midi messages that is particularly important for triggering the LEDs?
    – Andy aka
    Commented May 9, 2017 at 19:04

2 Answers 2


The R3's ATmega16U2 supports USB, so all you need to create a USB MIDI device is software.

On AVRs, you typically use the Lightweight USB Framework for AVRs (LUFA), which has support code for both the basic USB protocol and for USB MIDI.

  • I'm kind of new to some of this, how would I go about using that?
    – Leo Skingsley
    Commented May 9, 2017 at 19:07
  • LUFA has lots of examples.
    – CL.
    Commented May 9, 2017 at 20:33

For USB Midi you could use: Arduino UNO + USB Host Shield + USBH_MIDI Library

The library is specifically for the USB Host Shield. I've used this to take MIDI over USB from a digital piano and used it to control some LEDs. It's pretty strait forward to get it all working.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.