Recent added movies
After a busy period we are back with the l
Back again with another great interview, t
Frank Kvitta, chief of the Bullshit family
Back again with another great interview, t
Newsletter:
If you'd like to be informed about future developments here at beatboost, please fill out the form below and you'll be added to our mailing list.
Trust us: it'll be worth it ;-)
Yes, keep me updated!

Beatboost Blog Add us to myspace!

Why you can’t listen to midi

   July 15th, 2008 by Frits

This tutorial intends to give a short introduction into the difference between audio and midi. The main idea is: Midi is a language, a protocol, a way to go from A to B. Audio is sound, air pressure fluctuations in time (analog) or a quantized, discrete version c.q. representation of it (digital).

So, what does midi stand for anyway? It stands for Musical Instrument Digital Interface. Please compare this with the word audio. Audio comes from Latin, meaning ‘I hear’. It is related, but not the same, right? Just like a guitar can produce audio but isn’t audio itself, so can midi produce audio without being audio itself.

Midi is a language. With a language you can send and receive messages. You can communicate with it. To use a language, you have to follow some grammar and because it’s a language, you can translate the ‘words’ to another language. A language itself is inaudible. It becomes audible when people use it to make things clear. You can use a language quite well without knowing the rules. But it can always come in handy to know the rules in the occasion that someone (or: some device/application) doesn’t seem to understand you.

Since midi is a computer language, it sends and receives bits, 0’s and 1’s, 31,25 kbit/s to be exact. Let’s take a key on a midi keyboard. If you hit it the keyboard will send values, messages in binary form. It does not send an air pressure fluctuations (audio). Midi can send many types of messages. Some examples are velocity, channel, note on, note off, note number and pitch bend.

You can also look at the language paradigm from an audio point of view. When you record a flute melody with a mic using your soundcard your soundcard won’t know which tones you are playing. It just takes measurements of air pressure fluctuations, your produced audio signal. Whether you play a C, a C# or hit the mic with the flute, the soundcard (more exact: the ADC of the soundcard) will sample it the same way. The language of the soundcards differs from the one used for pitch notation.

The messages midi sends goes from midi in to midi out or to midi through. These messages, called commands, can thus be altered to other commands or transformed into audio. When you play a middle C on a midi keyboard it tells the next device: ‘play middle C!’. This device follows the instruction, for instance a VST in your sequencer. The C (note number 60) triggers a note C in your software. The VST tells this to the sequencer. Your sequencer converts it into a digital signal. This becomes audible using the Digital to Audio-converter of your soundcard.

So is it really that simple?

Well. I’ll be honest with you. The actual path followed and the internal representation of data is a bit more complex and has many intermediate steps. This is just a provided framework so you can get the general idea. If you think this is interesting, please search for further information on the Net. The midi protocol is described in great detail on many offical websites. A good example is www.midi.org . This website was highly influential on this text.

Another confession: MIDI isn’t just a specification for messages, but also for physical connectors (e.g. a midi input) and a storage format. Then again, not all three have to be present to call something midi.

Some implications of the midi protocol:
- Since it sends messages it can be used for more things then just audio. In theory I could make a coffee machine working with the midi protocol where channel 1,2 and 3 would mean coffee, expresso, cappuccino. Another example: I can make a program using a midi keyboard to type text.
- Midi messages stored in a file can be changed quite efficiently. For instance, transposition of an entire track, changing an instrument or tempo.
- Because it’s a language it can be converted to other languages such as USB or OSC.
- A lot of programs use the MIDI protocol without you knowing it. It is often hiddden away behind the GUI (graphical user interface) of an application.
- Midi can be used by musicians who want to play something and print the result in a musical notation afterwards. This can be a lot faster and more pleasant than writing out a song note by note.



Leave a Reply