• An Explanation of MIDI
    1 replies, posted
If you're a musician, you've likely heard the word MIDI and you may not be quite sure about what it is. You know it has something to do with music, yet you know that what you think it is happens to be inaccurate granted all the people correcting you. Where the word trips most people up is when it comes to keyboards. This is a guide to help people understand what MIDI is. [B]What isn't MIDI?[/B] MIDI is not a synthesizer. MIDI can never produce sound. There is no audio data contained within the MIDI data. This is to say, if you have a device that generates MIDI messages, it does not at all generate audio. If you have a MIDI controller you will never have it make a sound without hooking it so something else. [B]What is MIDI?[/B] MIDI stands for Musical Instrument Digital Interface. It was a protocol made in the early 80's. It was designed to transmit data regarding music to a device that can interpret the the data. MIDI data is in some sense like sheet music. [IMG]http://i51.tinypic.com/2e0iu8g.png[/IMG] Sheet music in no way music, but it describes music. Typically the music is intended for a certain instrument, and the person who plays the sheet music interprets what is on the sheet. The sheet music contains about when to play notes, how long to play them for, how loud to play the notes, whether to include vibrato or some other effect. Sheet music is no way is music, but you can use the data to make music, just the same way MIDI is. MIDI data is made up of certain commands that tells an external device such as a synth what to do. The external device interprets this data and responds accordingly. The most common MIDI data that is sent is note data. The MIDI controller will tell the external device to play a note and whatever is interpreting the data will react according to the sound that corresponds with that note. A note being held is considered to be on while a note that isn't being held is considered to be off. The way the process works is -You press a C4 on your MIDI keyboard -The MIDI controller sends the message that C4 is on through the MIDI out port. -The external device that is receiving that MIDI data receives the information that C4 is on and does whatever corresponds with the note C4 -When you stop pressing down C4 your midi keyboard sends the message that C4 is off through the MIDI out port -The external device gets the message and stops doing what C4 does In the case of an electric piano C4 on would play the note C4 and turning the note off would silence the note. Depending on what the external device is, C4 might do something very different. Turning it on usually just plays a sound and turning it off usually stops a sound, but this isn't always the case. So it should be obvious that the MIDI data just tells the external device what to do. The external device knows how the read and interpret MIDI data, just as a musician knows how to read and interpret sheet music. So what is MIDI? It's just data about music that is interpreted by an external device. It isn't at all music, but it is data that describes musical events. So it should make more sense as to why a MIDI keyboard won't make doesn't produce music by itself, all it is doing is sending instructions. It's also good to note that more is being sent than just note on and off events, there is also data being send about velocity, pitch bend, modulation, and so many other things. Your midi controller will only send data when you do something, like press a note, or move a knob, if you aren't doing anything, it won't send any update. So pressing C4 for example won't send any message about pitch bend. [B]Where some confusion comes in[/B] One confusing aspect is that MIDI is so popular that most all musical devices use it. One reason for this is that the MIDI protocol covers most anything you'd need and is extremely efficient in what it does. The second is that there is no reason to develop a standard that already exists. The third reason has to do with compatibility. Because of all this, many devices are MIDI based yet also produce sound. What is key to note here is that these devices also have something that that interprets the MIDI data and responds to it. This means that the external device that interprets the midi is actually all enclosed in the same box, but the process as describe earlier is still the same and the MIDI portion still don't not generate any music. It's also good to realize that MIDI interpreter doesn't have to prescribe to the original intentions. This is why I keep stressing the that what is interpreting the MIDI data responds with what happens when you press a note. You could be using a sampler which will play a certain sound when you press C4. Oddly enough, my Digitech RP250 multi-effects pedal communicates with my computer through MIDI. [B]Why does music play when I open up a MIDI file?[/B] Most operating systems come built in with a MIDI interpreter and will have built in synths that correspond with different instruments. If you're wondering how the program knows what instrument to play, it is due to a midi message called “Program Change” which is sent at the start of the song, and this tells the synth sound to play. General Midi (GM) is a standard that defines what instrument corresponds with a program change value. Changing the program to 0 would be an acoustic piano, 30 would be a distorted guitar. You can find a list and more information about GM in the link below. [url]http://en.wikipedia.org/wiki/General_MIDI[/url] [B]Isn't there a lot more to MIDI than just that?[/B] Certainly. The explanation process I explained earlier is a good bit simplified and there is a whole lot more to MIDI. But to expand a bit about MIDI messages, since MIDI is a digital interface, it sends and receives everything through binary. If you're not too familiar with binary then this might be a bit confusing. MIDI messages are broken up into channel messages and system messages, I'll be focusing on channel messages. MIDI messages always start out with a status byte. In the case of a channel message, half of the bye describes what kind of event it is and the other half describes the channel. This is followed by one or two data bytes. In the case of note on and off events, the first bytes describes what note while the second describes the note velocity. 10010000 00111100 01111111 Breaking up the above message the first four bits 1001 means it is a note on event, 0000 means channel 1, the next byte says the note is 60 which is C4 (in context of GM), and a velocity of 127 is the maximum velocity. 10000000 00111100 01111111 This MIDI message would turn C4 off at the same velocity. If you're wondering what velocity determines with note off messages, it is usually note decay, though it may not be used for anything in some cases. In the case of pitch bends, it actually takes two bytes (14 bits though) to send a message. Typically, each message only requires one byte, but when developing the MIDI standard they found that pitch bending with one byte just doesn't sound realistic, they needed far more depth. One big reason is that pitch bends go both way, and sticking to 7 bits would only allows for 64 steps from the current note position up to the bend which sounds really rough. So they doubled the bits which gave range of 0-16384. which allowed there to be 8192 up and down from the original pitch. Something that is good to note about most midi messages is that the status byte always starts with a 1, and the data byte always starts with a 0. Why do they do that? For good reason that I won't explain here though always starting with a 1 is pretty obvious. If you want to look into at other MIDI messages you can follow the link below. [url]http://www.midi.org/techspecs/midimessages.php[/url] There is so much more to MIDI, and if you want to learn more there is a lot of information out there. This guide is intended to clear up some of the mistaken concepts about MIDI, the most common being that MIDI controllers produce audio or that MIDI produces audio, and so on. [B]So I want to get a keyboard, what should I get?[/B] You have to take into consideration what you want. A lot of keyboards on the markets are just MIDI controllers. If you want something that you can play without hooking it up to a computer or other device you should not get a midi controller. If you're just playing at home and have constant access to something you can hook up your midi controller to, then you should get a midi controller. MIDI controllers are generally cheaper and and the sounds you can get aren't as limited when you have a computer and internet access. The issue with the cheaper portable keyboards is that they sound pretty bad and the sound pallet is limited. If you don't have the money to spend, but still want a portable keyboard and also want to record, you should look for one that also has a external midi capabilities. If there are any questions, corrections, requests for expansion or clarification, just say so.
Wow, it's like you wrote an entire thread to respond to mine. This is great.
Sorry, you need to Log In to post a reply to this thread.