understanding and using midi part 2

Upload: 568974

Post on 04-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Understanding and Using MIDI Part 2

    1/3

    Understanding and Using MIDI - Part 2

    Using MIDI Messagesby

    Ken Lanyon (Slider)

    n Understanding Midi - Part One, I introduced you to the world of MIDI and hopefully made you more comfortablbout confronting your own gear. If you haven't readpart one yet, then I suggest you do that first, or you will surely

    become lost now. MIDI messages are the backbone of the entire protocol. They can be used to represent the notes

    hemselves, such as the note number and pressure, or to control global functions. They are used within the master

    nstrument, and can also be sent to all slaves in the chain. There are multiple types of messages that MIDI can send, will break down the hierarchy of those groups. MIDI messages are either Channel messages or System messages.

    Channel messages are those that specify the musical data, and on what channel that information will be sent and

    onsequently affect. They can also be further divided up into Voice messages, and Mode messages. In turn, Systemmessages are those covering all other information, including most global information, and are further divided up int

    Common messages, Real-Time messages, and Exclusive messages. To fully understand the different types of messa

    we need to first understand how MIDI data is organized and sent out.

    MIDI Data

    Most of us have heard the term "bit," and this refers to the individual ones and zeros used in computer code indicatin

    on and off respectively. Eight of these bits together make up a byte, and this is how most electronic data is packaged

    nd transmitted. Except for System Exclusive messages, all MIDI messages are sent out in data packages of two or

    hree bytes at a time, each byte indicating a specific message. The first byte is called the Status byte, which indicateshe type of message being sent, and also the channel the data will affect. The first bit of a status byte is always 1 so t

    eceiving unit knows there is a new message coming through. The next three bits signify the type of MIDI message

    being sent (i.e. Note On, Note Off). Finally, the last 4 bits of a status byte specify the channel that the message isbeing sent out on and will affect. The second two bytes of a MIDI message are called Data bytes, and these identify

    nformation specific to the type of message being sent. For example, pressing on a key will trigger a voice message

    be sent, and the status byte to indicate the "Note On" message and the channel it is being played on, while the databytes specify the specific note number value (for example, the D above middle C) and the velocity with which that n

    was hit. The first bit of a data byte is always 0, and the next seven bits specify the 128 possible values of the messag

    Channel Voice Messages

    Channel voice messages in the data byte describe the information for the notes that are being played. In this categor

    here are 7 specific messages; Note On, Note Off, Channel Pressure, Poly Pressure, Program Change, Pitch Change,nd Control Change. With all of these, the status byte will always specify that type of message and the channel on

    which it is sent. The data bytes, however, vary from message to message. As I mentioned before, the data bytes in aNote On message describe the note number and the velocity with which that note was hit. This note will continue to

    play until a Note Off message is sent. This happens when you let up on the key, and the data bytes describe the notenumber and velocity at which that note was released. Channel pressure messages are what many keyboard players c

    after-touch." This is where the note is already pressed down, and more pressure is added, causing extra sound to ocOnly one data byte is used in this case, and it specifies the amount of pressure being applied. The highest pressure hby any one key will now become the pressure over the entire board. Poly-Pressure is very similar to channel pressur

    xcept that each key can have its own pressure. Therefore, both data bytes are used in this case, one to identify the

    pecific note number and the other to specify the pressure value. However, poly pressure is not a very common featuince it is expensive to make each key responsive to its own pressure. Next, Program Change messages cause a chan

    n the voice of the notes. Only one data byte is used to signify the specific program number. Patch Mapping also com

    nto play at this point. Patch Mapping is where a specific patch change value is sent out on a certain channel, the slaeceives it, and then changes the voice to one that does not correspond to the specific data sent. For example, imagin

    patch change message is sent out on channel 3 specifying a change to patch 25.

    mailto:[email protected]://recordingwebsite.com/articles/midi.htmlmailto:[email protected]://recordingwebsite.com/articles/midi.html
  • 8/13/2019 Understanding and Using MIDI Part 2

    2/3

  • 8/13/2019 Understanding and Using MIDI Part 2

    3/3

    System Real-Time Messages

    System Real-Time messages control the syncing of the keyboard or sequencer with another external unit. Within thi

    group, there is MIDI Clock, Start, Stop, Continue, Active Sensing, and System Reset. MIDI clock, when engaged,

    ends out 24 pulses for every quarter note that passes. Combine this with Song Position Pointer messages and you h

    MIDI Sync, which is an external sync mode that slaves can respond and lock to. Next, the Start, Stop, and Continuemessages obviously control the playback of the song. Active Sensing is very important for live performances becaus

    ends a pulse out every 250ms that the slaves receive and become addicted to. If for some reason that pulse is

    nterrupted (such as a MIDI cable being accidentally pulled out), the slaves stop playing, preventing notes from beintuck on because a Note Off message never reached it. Finally, System Reset messages tell the slaves to return to th

    ettings they were at when they were first turned on.

    System Exclusive Messages

    System exclusive messages are very handy for loading and backing-up patch information, as well as for sending andeceiving other information not pertaining to actual performance data. In this group, the messages are: Start of

    Exclusive, Manufacturer's ID Number, Product ID Number, Device ID Number, Program Data, and End of Exclusiv

    Start of Exclusive is the status byte info that identifies the message as a system exclusive. Next, the Manufacturer's

    Product ID, and Device ID numbers are all sent out to identify the make and model of a specific machine. Then the

    Program Data is sent. System Exclusive messages don't have a specific number of data bytes to send this informatiobut rather use as many as needed to transmit the information. After the program data has finished transmitting, anoth

    tatus byte is sent to signify the End of Exclusive message The data that is sent can be many things. It can be theontents of a bank of voices whose parameters you have changed and want to back up. It can be the sequenced MID

    data of a song you have worked on and want to dump into a computer sequencer. It can be the basic information of

    nstruments in the chain so that the master knows what it is connected to. You can send drum patterns you have woron and want to back up to a dedicated sequencer. Many rack-mount effects units today have MIDI ports on them, w

    an also allow you to back up presets or banks that you have programmed or changed. Just imagine not having to

    document all those changes anymore! You can also send show control information to ignite pyrotechnics on stage, o

    ontrol lights. Finally, rather than sending data, you can also reload data you have backed up or created on anothermachine. When using System Exclusive messages, there are three ways to transfer the information. First, you can do

    direct transfer, which is manually initiated at the sending machine. Second, you can initiate a request for data fromnother machine. The other machine will then send its data out to be received and loaded onto the requesting machinThe third way is via a handshake transfer. This is where the information is requested from one machine, the data is s

    nd then verification is sent to make sure that the receiving machine is getting the info. That verification will go on

    until all the data has been received.

    Summary

    Hopefully by now you understand how MIDI messages are structured and work, and can utilize them to control the

    laves in your MIDI rig. I said it before, and I will say it again: MIDI is a powerful protocol that can help you do

    mazing things if you take the time to understand it. I personally feel a lot more confident about using my keyboard

    nd am definitely eager to buy some outboard tone generators to improve and expand my music. So pick up yourkeyboard manuals and dive in! Be creative and let MIDI do the work for you.

    c) 2000, Ken Lanyon,

    All rights reserved.

    About the Author

    You are allowed to copy and use this essay for your own non-professional use. You are prohibited from distributing copies to other

    fee or for no-charge. You may not publish or quote this essay without obtaining the written permission of the author.)

    http://recordingwebsite.com/slider.htmlhttp://recordingwebsite.com/slider.html