

stands for Musical Instrument Digital Interface. It’s a protocol that was developed in the early 1980’s as a way to connect music devices and despite its age, MIDI remains fast and reliable and now works with a lot of different software environments — Music DAWs, DJ and VJ software, projection mapping tools, and open-ended code environments like Processing, Pure Data, and Max/MSP. While MIDI is lower resolution compared to serial communication, it gets everything talking quickly and provides enough flexibility for most projects.
We are using specific microcontrollers (pro micro, teensy, etc) instead of the Arduino Unos and other microcontrollers because they are low cost (about $12 for the Pro Micro or the Teensy LC) and they can be easily configured as class-compliant MIDI devices. When plugged in, your computer will automatically recognize these boards as a midi devices and you can immediately connect to whatever midi capable program you are working with.

There are so many commercially produced MIDI controllers, and most of them work really well. The majority of these devices are designed for music production and are built around a keyboard or a grid of pads. When a key is pressed or a pad is pushed, they send noteON and noteOFF messages that start and stop specific notes. Most midi controllers also have a few continuous sensors as well — typically knobs and faders designed to control different instrument or track parameters in real-time. The messages these continuous sensors send are called control change messages. We’ll cover both of these input types in more depth later in this project.
A computer can also send MIDI messages back to the microcontroller and you can use these messages to turn on and off LEDs. The LEDs can be used as indicators, or as more sculptural/visual elements. With some added circuitry, you can use this system to control motors and higher powered appliances as well — there are a lot of possibilities. While the most obvious use of this system would be to make music, you can also use this page to build interactive installations, responsive sculptures, and devices that generally augment how we communicate with computers.
For a deeper look at MIDI, its history, and a detailed explanation of how it works, take a look at the following pages: