A primer on MIDI and Audio

Link to this article | 2009-01-31 16:01:31

MIDI. Mysterious, complicated, lots of abbreviations like CC and NRPN, hexadecimal numbers in the back of your gear's manual, and you probably won't see the word at all unless you're looking for a MIDI controller. Here's a quick introduction.

MIDI is not audio

MIDI is to audio as sheet music is to a CD. MIDI tells you what to play, but doesn't tell you what it sounds like. A CD tells you what it sounds like, but not how to play it.

MIDI does not make a "sound"

When someone says a song sounds like MIDI, what they really mean is that the instruments sound like they come from the General MIDI soundset. On-board soundcards have a (wrongly named) wavetable of 128 instruments that are used to play back MIDI files with.

On-board soundcards are cheap; therefore, the instruments sound cheap since there's only very limited memory in there, but it's not as bad as most mobile phones, which have an even more basic wavetable.

MIDI Controllers do not make sound

Unless they have a sound source built in them and it's mentioned specifically, these things are remotes only - and following the analogy, they tell your computer only what to play, not what it sounds like. A set of pads on a controller will send the same kind of notes as on the keyboard; there's nothing in there that says that you want to play a drum sound. To make it so, you have to filter all the notes coming from the keyboard and send the notes of the drumpads to a different synthesizer or plugin. This is of course easier if you make the pads send notes you won't use anyway - either the highest or the lowest ones.

Other uses of MIDI

You can use MIDI to send sounds to synthesizers. To understand why this does not contradict what's said above here, the first thing to explore is how synthesizers store their sounds.

Let's take Synth1 as an example:

Synth1 basic saw wave

 

It sounds like this.

When we save (write) this program, it's not the sound that is saved. The plugin knows exactly all the buttons and knobs it contains, and it asks them one by one what their current position is. For knobs, it's a number between 0 and 127 (even when the knob's actual displayed range goes from -64 to +64!). For selection buttons like the waveform, it can still be 0 to 127 - it is just interpreted differently, so any values above 0 but below 32 will be seen as "oscillator 1 sinewave".

It's not that different with a hardware synthesizer; there's a fixed number of settings and writing them all down allows you to save a sound.

So, the most common assumption you should make when there's no user-made samples is that sounds are just a bunch of information repackaged in MIDI, as so called System Exclusive (SysEx) messages. When samples are involved, you're still not storing the sound - you store its basic building blocks and again a whole load of settings.

Furthermore, this also shows why you can't just load a sound from one synthesizer in the other - unless they use a very similar structure. A DX7 sound won't fit into a D50 because a D50 does not have the possible settings of a DX7 and vice-versa.

On the other hand, even synthesizers with similar structures may still not read eachother's sounds, because the known list of settings was put in ROM. To upgrade that, you'd need to overwrite the ROM which was not a trivial task back then. It still isn't now, but making it possible to connect your gear directly to the computer using USB, it's easier.

To actually get a sound on synthesizer A to sound the same as on B, you have to recreate it - if it's even possible. Recreating within different types of synthesis is not an easy task, and you can't automatically translate from say, FM synthesis to plain subtractive synthesis. Even if you recreate it on a different synthesizer with the same type of synthesis, you have to keep in mind that oscillators and filters may not sound the same, so you're left with an approximation of the sound.

Categories: Theory, MIDI