Updated: Feb 16
In this article, I attempt to explain what is MIDI and how it is used in controlling MIDI devices such as guitar effects. There are many technical explanations out there on the internet, but I'm going to attempt to explain it in how best I think a beginner (some call themselves Midiot but hey, we were all new once!) would understand, without diving into the technical terms and details.
MIDI is a one-way communications protocol to enable a MIDI controller to communicate with a MIDI device (or devices). Program Change messages typically controls banks or presets, while Control Change messages control functions on the device.
What is MIDI
MIDI is simply a communication protocol to enable communication between 2 MIDI devices. That is all it is. I won't care much about the implementation details here. It just lets a controller communicate with another MIDI device. MIDI communication is one way and not bi-directional. That means that after the MIDI Controller sends a message to the MIDI device, the relationship ends there. It does not expect to receive any acknowledgement message or any other messages back in return.
[The technical stuff if you really want to know]
Simply put, what is it doing is sending 1s and 0s from one MIDI device to another MIDI device via serial communication with a specified baud rate (31250 bps). When the bits (the 1s and 0s) reaches another MIDI device, it will use the MIDI protocol to "decipher" the bits into something it understands.
The MIDI protocol has several different messages, where the most common in our field are:
1. Program Change Message
2. Control Change Message
Program Change Message
Program Change (PC) messages are typically used to select presets or banks in other MIDI devices. There are 2 parameters for this message:
1. PC Number
2. MIDI Channel
Control Change Message
Control Change (CC) messages are typically used to control functions on a MIDI device. There are 3 parameters for this message: