|In this guide we'll explain the basic theory behind MIDI, and show you some of the ways you can use it to make music on your computer...|
What is MIDI?
'MIDI' stands for 'Musical Instrument Digital Interface'.
MIDI is a type of musical language based around numbers, designed for sending musical data to and from computers.
A MIDI file is made up from a list of numbers. These numbers tell the computer things like the pitch of a note, its length and volume, what 'patch' (instrument sound) to use to play it, and potentially many other pieces of information. This information is split into 'channels' so that information on more than one instrument can be sent at a time.
MIDI is used to send data from MIDI keyboards and drum pads, which can then be used to generate sounds in a virtual instrument or an external sound module.
MIDI can also be used to control other aspects of music software, by using MIDI controllers with faders and buttons to mix and change settings without using the mouse and keyboard.
What makes a MIDI music file (.mid) different to audio files(.mp3, .wav, etc.) is that it's not an actual recording but a series of instructions to a computer or sound module. Rather than simply playing a recording, the computer reads the information in the MIDI file and rebuilds the music according to the instructions.
This means that, if the MIDI file tells the computer to play a piano sound, you'll always hear a piano, but depending on the type of sound card the computer has this may sound different on different machines. For example, a MIDI file played on a basic computer sound card might sound very unrealistic, but the same file played through a top-of-the-range sound module might give a much higher quality sound.
This 'reconstructing' way of playing files makes MIDI a very powerful and flexible tool, because it can always be imported into different software and made to sound different, or opened in a sequencer and edited at any time. For example, if you start making MIDI music with a very simple piece of software, you can always change the sounds by buying extra virtual instruments or synthesizers later on. If you recorded audio from a keyboard and wanted to change it, you'd have to make a new recording, but with a MIDI file you can edit the performance any time you like, changing the key, correcting mistakes from a recording or rearranging the entire song structure.
MIDI Files - Structure
Every stream of MIDI data is split up into 16 independent 'channels', like the channels of a mixer. Each instrument in a MIDI file is stored on a different channel, and for the most part you can choose which instruments go on which channel. You don't have to use the channels in numerical order (but it usually makes sense to!), and you can have duplicate instruments if you want to. For example, you could choose to have a piano sound on channel 1, guitars on channels 4 and 6 and a trumpet on channel 5.
There is one exception to this, though: drum parts are always stored on channel 10. This is because drums are programmed differently to other instruments. Instead of having one sound played at different pitches, they have a different sound assigned to each note (kick drum, snare, cymbals etc.). This means that they need to be treated differently, so drums have a channel of their own which no other instrument parts can be stored on.
Since every channel contains information on one instrument, the first information that's stored in any channel is a number representing the instrument that's being used, followed by information on what to play, and how to play it.
It's all very well giving a number to represent an instrument or note, but how do we know that all computers will use the same numbering system? Say, for example, that my computer interprets the number 15 as the note D#. How do I know that another computer, or a sound module made by a different manufacturer, will also interpret 15 as a D# and not an F?
To avoid this sort of problem, there is a standard format for MIDI data called GM (General MIDI) Format. GM Format sets out a definitive list of every number it's possible to use in MIDI, and states what that number should represent to make sure that MIDI is compatible with as much equipment as possible.
The most obvious sort of MIDI data to standardize is the note values. In GM Format, A440Hz is represented by the number 69, middle C is 60, and the rest of the notes work out from there.
Instrument sounds are also standardized by GM MIDI, as are drum sounds. Instruments are arranged by their 'patch number' (the number that represents them), but drum sounds are different.
Because drum sounds are always stored on channel 10, they don't need a patch number because the computer always knows to play channel 10 using drum sounds. Instead, what's listed in the GM Format is the note that corresponds to each drum type.
The other functions that MIDI can control, such as vibrato, sustain and panning, are also standardized - they're known as 'controllers', and again they're referred to by number.
Not all of the numbers that can be used in MIDI have a controller assigned to them, though - this is so that software can use certain numbers to control other things, like using a control surface to move faders in a piece of software.
A USB MIDI interface is an adapter that connects to your computer via a spare USB port. Some are designed like a long cable with MIDI connectors at one end and a USB plug at the other end, so all you need to do is connect one end to a keyboard or other MIDI device and the other end to your computer. The interface will transfer data in and out of the computer for recording or performance.
Other, larger MIDI interfaces are designed for connecting more than one MIDI device, so they have multiple MIDI ports. To use these you'll also need MIDI cables to connect from the interface to your keyboard(s).
1-in, 1-out USB MIDI interface. MIDI cables are incorporated into the design so no extra leads are necessary.
The UX16 USB-MIDI Interface is about the easiest way to connect your musical keyboard to your computer.
3-in, 3-out USB MIDI Interface.
Novation Remote 25SL
Having to input each individual note into your computer with a mouse and keyboard can be very fiddly and time-consuming.
Using a MIDI keyboard or other controller can make using sequencing software much faster, as you can 'play' your ideas into the software rather than having to use the mouse.
Most MIDI controllers connect to your computer via a spare USB port. MIDI keyboards come in all shapes and sizes, from small models that'll fit in a backpack to full-size weighted keyboards designed to feel like pianos. Small keyboards are best for playing in simple bass or melody lines or chords, but if you're a pianist and want to use both hands it's best to choose a larger keyboard.
There are also MIDI controllers without keyboards - these might have drum pads for playing in percussion lines, faders for mixing or DJ controls.
Ultra-thin 49-key USB MIDI keyboard with semi-weighted keys & joystick control.
|Akai MPD 24
Velocity sensitive MIDI pad controller.
49-key MIDI keyboard with velocity pads and free software bundle.
MIDI Control Surfaces
M-Audio ProjectMix I/O
These controllers are designed to look and work like analogue mixers, allowing a more hands-on approach to operating software like Cubase and Reason.
Often, MIDI controllers include “templates” which will automatically configure the controller to work with certain software applications. The controls can also be customized, often using a software 'control panel' designed to make setting up the controller quick and easy.
|M-Audio ProjectMix I/O|
Control surface with motorised faders and 18x14 audio interface.
USB MIDI automation and transport controller.
|M-Audio X-Session Pro|
USB MIDI DJ Mixer Controller
If you're unsure about any of the above, or if you're not sure which products would be best for you, please
contact us and we'll be happy to offer friendly, impartial advice and recommendations.