Preview only show first 10 pages with watermark. For full document please download

Midi - A Quick Crib Sheet

   EMBED


Share

Transcript

MIDI - A Quick Crib Sheet Here is a summary of what happens down the wires. All values are in hex. Byte Structure There are 2 types of byte; Message bytes and Data bytes. Message bytes always have their top bit set, Data bytes always have their top bit cleared. All Data bytes therefore have values from 0 to 7F. Some data bytes are paired, making a 14 bit word. Some data bytes have ‘centre zeros’, with a value of 40 for a single byte. Data bytes that represent on/off states have their 7 bits true (7F) for on, and false (00) for off. Message Bytes All Message bytes are made up of 2 nibbles. The Most Significant Nibble (MSN) contains the message type, and the Least (LSN) contains the MIDI channel number (0 F), except in the case of System messages (F), in which the LSN contains the System Message type. No. 8 9 A B C D E F Message Type Note off Note on Polyphonic Key Pressure Control Change Program Change Overall Key Pressure Pitch Bend System Message 1st Data Byte Note Value Note Value Note Value Data (See Below) Data Data LS 7bits Data (See Below) 2nd Data Byte Velocity Velocity Data Data N/A N/A MS 7bits Data System Messages The MSN is always F. The LSN is as follows: LSN 0 1 2 3 4 5 6 7 8 9 A B C D E F Message Type Start System Exclusive Messages MIDI timecode quarter frame signal Song Position Song Select No of Data Bytes 1 plus anything 1 2 1 Re-tune request Stop System Exclusive Messages Clock Signal 0 1 1 Clock Start Clock Continue Clock Stop 1 1 1 Active Sensing System Reset 0 0 Examples 91 23 81 23 Play note number 23 on channel 1 Stop playing note number 23 on channel 1 MIDI - A Quick Crib Sheet Control Changes The MSN is always B. The LSN contains the channel number. The data bytes with an asterisk are those with ‘centre zero’ values. Those with ‘=0’ are those where the data byte must take a zero value. The Data bytes are as follows: 1st Data Byte 00 01 02 04 05 06 07 08 09 : 20 21 22 23 24 25 26 27 28 29 : 40 41 42 43 : 5C 5D 5E 5F 60 61 62 63 64 65 : 79 7A 7B 7C 7D 7E 7F Effect 2nd Data Byte Modulation Wheel Breath controller LS 7bit LS 7bit Foot pedal Portamento time Data entry knob Main volume control Balance Pan LS 7bit LS 7bit LS 7bit LS 7bit LS 7bit LS 7bit Modulation Wheel Breath controller MS 7bit MS 7bit Foot pedal Portamento time Data entry knob Main volume control Balance Pan MS 7bit MS 7bit MS 7bit MS 7bit MS 7bit MS 7bit Sustain pedal Portamento Sostenuto Soft pedal on/off on/off on/off on/off Tremolo depth Chorus depth Celeste depth Phase depth Data entry increment Data entry decrement Non registered parameter Non registered parameter Registered parameter Registered parameter on/off on/off on/off on/off Reset all controls Local control All notes off Omni off Omni on Mono on Mono off * * * * MS 7bit LS 7bit MS 7bit LS 7bit =0 on/off =0 =0 =0 Channel # or 0 for all =0 Cobbled together hurriedly by Ben Byram-Wigfield