1. MIDI Explained
If you’ve spent any time on gear forums and groups, you’ll hear ‘MIDI’ being tossed about in everything from complete confusion to showing off rigs that could have powered the Apollo.
Whatever your experience, this series will have something for everyone, whether it’s the very basics of MIDI commands for setting up your rig, or diving into the depths of various transports and connectors. So without further ado…
What is MIDI?
MIDI stands for ‘Musical Instrument Digital Interface’. It’s a communication technology that enables pedals, synthesisers, computers, and other electronic musical devices to communicate and interact with each other. It's like an electronic conductor, allowing gear to play the same music together perfectly in sync.
Why is MIDI Important?
MIDI doesn't actually create sound itself, but it can be used to trigger other devices such as synths, samplers and drum machines. It can recall presets on pedals, synchronise delays and arpeggiators, and even control displays and lighting. This gives musicians huge flexibility when it comes to creating and manipulating sound.
Think about how difficult it can be to get the perfect take of a tricky synth line, or synchronise simultaneous effects when going for a solo. Instead of doing everything live and having to re-record for a single error, MIDI allows you to record digital information that can trigger other devices when played back or sent in real time.
It is an incredibly important tool in the music industry, from studio production to live performance.
So, How Does MIDI Work?
We’ll take a closer look at the technical ins and outs later on, but here is what you need to know to get started. It’s important to note that we’ll only be looking at the MIDI 1.0 specification, not MIDI 2.0 (released in 2020) as that is much more complicated, and not widely supported in the industry yet.
A MIDI message consists of digital information, that is, a bunch of 1’s and 0’s which are sent one at a time by the transmitting device to the receiving device. Each 1 or 0 is called a bit and 8 bits are sent together to form a byte. Whenever a device wishes to control or send information to another device, it transmits one or more bytes to form a MIDI message, or command.
What are MIDI Status and Data Bytes?
The first byte in a message is called the Status Byte and it tells the receiving device what type of message is being sent. After the Status Byte, the transmitting device sends a number of Data Bytes. The number of Data Bytes to be sent depends upon the message type. There are many different types of messages, but here are the most common ones:
- Control Change (CC): Used to change parameters such as volume, modulation, footswitches and other controls. CC messages have 2 data bytes; the CC number which determines what parameter is being controlled, and the CC value which is the value of that parameter. CC messages are sometimes labelled as “Continuous Controller.”
- Program Change (PC): Used to navigate presets/banks. PC messages have only 1 data byte; the program number.
- Note On/Off: Tells audio generating devices when to make sounds. Just like pressing and releasing a keyboard key, the Note On message begins playing a note/sound, and the Note Off message stops it. Note On/Off messages have 2 data bytes; the note number, and the note velocity (or how loud the note is).
- Clock: Synchronises time based devices by sending 24 messages per quarter note. Clock messages don’t have any data bytes, so the Clock message consists only of the status byte.
A full list of MIDI messages can be found on the MIDI Organisation website.
If you know something about binary numbers, you’ll know that an 8-bit binary number can have 256 possible values. That is, it can be any decimal number between 0-255. And if you’re not familiar with binary numbers, you can always use this super handy calculator.
Not so fast, there’s something we haven’t mentioned yet. The most significant bit of a MIDI byte (the left-most 1 or 0 in the binary number format) is used to differentiate between a status byte and a data byte. For a status byte, that bit is always a 1, and for a data byte, it is always a 0. Because that bit can’t be used to transmit data, our data only has 7-bits available which means it can have 128 different values, which are translated into readable decimal numbers from 0-127.
This means that CC and PC numbers and MIDI notes are available from 0-127, and their values can be set between 0-127 as well.
Now that we know a bit more about how the MIDI bytes work, let’s look at another key part of the MIDI protocol; channels.
How Do MIDI Channels Work?
Traditionally, MIDI devices are daisy chained together. That is, the output of the first device goes to the input of the second device, whose output goes to the input of the third device and so on. Whilst being fairly straightforward, this setup poses a few challenges. Firstly, the data can only flow in one direction which is somewhat limiting. Secondly, because every device has the same data sent to it, there is no way to only communicate with a specific device without also triggering the others that use the same MIDI mapping. Right? Wrong. MIDI channels to the rescue!
Some MIDI messages use the lower 4 bits (the 4 rightmost bits) to signify which channel the message is being transmitted on. This allows devices to only listen to a specific channel, and thus, allows for specific device targeting when sending messages.
Here are the MIDI messages which can be sent on a specific channel (Channel Messages):
- Note On
- Note Off
- Control Change
- Program Change
- Polyphonic Key Pressure
- Channel Pressure
- Pitch Bend
There are also MIDI messages that don’t use a channel as they are intended to synchronise all devices in the chain:
- System Exclusive
- Time Code Quarter Frame
- Song Position Pointer
- Song Select
- Tune Request
- Timing Clock
- Start (Clock)
- Continue (Clock)
- Stop (Clock)
- Active Sensing
The MIDI protocol is far more expansive than most people need to use. If you’re a beginner, you will probably only be dealing with the most common MIDI messages as we mentioned at the beginning of this article. As a reminder, they are:
- Program Change
- Control Change
- Note On/Off
- Timing Clock
Manufacturers & How They Use MIDI
MIDI control is built into thousands of different musical devices and controllers, and even though there is a standard for how MIDI is supposed to be implemented, there are a number of areas where manufacturers - particularly in the effects pedal world - have departed from the documentation. These changes have often been for good (and creative) reasons, but it has caused some confusion because of the differences between how MIDI has traditionally been used - mostly for synthesisers - and the more modern implementations of MIDI by these brands.
In Keys-land MIDI is very rigid. Note on/off messages are used to emulate a keyboard, CC messages are tied to very specific functions (sustain pedal, sostenuto, volume, pan, and expression being a few), with spare numbers available to map to any other parameters the manufacturer wants to include.
In Pedal-land it’s a bit different. CC messages are generally assigned to whatever the manufacturer has deemed most straightforward, and the way modes and features are switched on and off is left up to the creativity of the development team. There is almost no consistency across different brands.
Pedals have historically had a much smaller and simpler user interface than synthesisers and keyboards with only a few knobs and buttons and (very rarely) a screen. Synthesisers often had the luxury of some kind of display, lots of knobs and buttons, and lots of labels, so it makes sense that it had to be different for effects pedals.
To learn how your pedal uses MIDI you usually need to watch a YouTube video, or crack the user manual and check out the “MIDI Implementation” section which will have a table of the MIDI messages and how they’re mapped to each knob or mode or function.
The more complex MIDI-controllable multi-effects units like Helix, Axe-FX, and QuadCortex usually have a small number of commands in this table. For the many remaining parameters they allow the user to set a MIDI CC number or PC number, and then when you send that CC or PC, that parameter that you chose will be modified. It’s really flexible, but requires a confidence with MIDI that some beginners lack.
PIRATE MIDI’s Contribution
We have been using MIDI for many years, and we have used it as keys players, guitarists, and sound engineers. The potential for simplified gear and effects rigs is enormous but the learning curve can be a little steep for some people.
In 2020/21 we released our first MIDI controllers to the world with great success and community support. Our aim was (and still is) to create devices that make MIDI easier so that you can think less, and create more.
The Device Library
On top of making our hardware as user friendly as possible, we also made sure that working with MIDI messages in our Web Editor is as easy as possible. For those devices that have MIDI commands listed in the back of their user manual, we spent almost a year entering those commands into a database so that you don’t have to open the manual. We call it our Device Library. Just add a new message from our Device Library, select your device and the command you want to send, and the MIDI data is entered behind the scenes.
MIDI is an incredibly powerful tool in the world of music, allowing musicians to connect different electronic devices together and create complex musical arrangements in real-time. By understanding how MIDI messages work, musicians can unlock a new level of creativity and flexibility in their performances and productions. So whether you're a beginner looking to set up your first MIDI rig, or a seasoned pro looking to explore the latest MIDI advancements, understanding the fundamentals of MIDI is an essential step in your musical journey.