860 likes | 1.03k Views
midi language. what is a byte?. 8-bit digital word. MS b = Most Significant Bit. 128. 64. 32. 16. 8. 4. 2. 1. 1st bit = highest value MSb 1 1 1 1 1 1 LSb. LSb = Least Significant Bit. 128. 64. 32. 16. 8. 4. 2. 1. MSb 1 1 1 1 1 1 LSb last bit = lowest value.
E N D
what is a byte? 8-bit digital word
MSb = Most Significant Bit 128 64 32 16 8 4 2 1
LSb = Least Significant Bit 128 64 32 16 8 4 2 1
2 or more bytes (or other digital words) connected create message 0 1 1 0 0 0 0 0 0 1 1 0 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1
MSB = Most Significant Byte 128 64 32 16 8 4 2 1 128 64 32 16 8
LSB = Least Significant Byte 128 64 32 16 8 4 2 1 128 64 32 16 8 4
MSByte + LSByte = 16 bits 14 in MIDI remember indicator bits
MIDI Commands MIDI commands represent the performance data that is sent as a musician plays a MIDI controller (keyboard, MIDI guitar, etc.).
MIDI Commands Typically 2 or more bytes
MIDI Commands Each MIDI command tells the receiving unit how the following data bytes are to be used and the MIDI channel bits tell it which MIDI channel is to get the command.
DATA BYTE The data byte contains the data needed to specify how the MIDI command is performed. It can be divided into two parts:
DATA BYTE 1.The indicator bit (MSb) is always a 0 used to identify the byte as a data byte.
DATA BYTE 2.The actual data that completes the MIDI message signified by the status byte (128 values possible).
More than one data byte can follow a status byte. For example: 10010001 00000001 00000001 Status data (note #) data (vel) Note on channel 1
Data bytes can also be strung together to provide data that exceeds 128 values (such is used in pitch bend).
2 data bytes combined to create 14 bits of data = 16,384 11100001 – 01111111 + 01111111
01111111 + 01111111 8,1924,096 2,048 1,024512 25612864 32 16 8 4 2 1
MIDI MESSAGES MIDI messages consist of digital bytes that represent specific commands, data, and functions.
MIDI MESSAGES The binary system of 1s and 0s are used like the alphabet to create words that tell MIDI devices what, when, how, and where.
MIDI MESSAGES There are two types of MIDI messages: oSystem
MIDI MESSAGES oChannel oSystem
MIDI MESSAGES Channel messages are meant for specific MIDI channels. Which notes to play, how hard, how loud, etc. are all channel specific.
MIDI MESSAGES • Channel messages are put into two groups: oVoice oMode
MIDI MESSAGES System messages Controls the whole SYSTEM. Not channel specific.
MIDI MESSAGES • System messages are put into three groups: oCommon oSystem exclusive oReal time
CHANNEL MESSAGES - VOICE The combination of a status byte and data bytes makes up a complete MIDI message.
CHANNEL MESSAGES - VOICE The MIDI messages that are MIDI channel specific (go to specific MIDI channels) are: 1.Voice – has an effect on how the MIDI unit produces sounds. 2.Mode – defines the instrument’sresponse to the voice messages.
Voice messages Note -On [key is pressed] Has a status byte and two data bytes
Note value: There are 128 (0 – 127 / A1 to C8) possible notes since the data byte represents 128 values. An 88-note piano ranges from B2 to C7.
Note value: Note (attack) velocity: There are 128 (0 – 127) levels to represent the speed (ppp – fff) the key is played.
Each note has two physical contacts in the keys (assuming that the keyboard is velocity sensitive, an organ is not velocity sensitive).
Contact number 1 determines that pressure (movement) has been applied. Contact number 2 determines the end of the movement.
VELOCITY CROSSFADE 100-128 64 - 110 0 - 75
Not all MIDI keyboards transmit or respond to 128 levels of MIDI velocity Non-velocity sensitive keyboards always transmit a value of 64 for velocity data.
Early Yamaha DX7 keyboards transmitted up to around 112 MIDI velocities. This meant that MIDI modules that were played from it never reached their full velocity potential. Some MIDI units can be programmed to receive or transmit velocity in different ways (ex. some drum pads can have their sensitivity changed).
Note-Off [key is released] Note-off messages are similar to note-on commands comprising of three bytes.
Some MIDI units will respond to the speed that the key is released. For instance, let off quick and the note cuts off immediately; let off slow and the note fades out.
Some MIDI units can be programmed to ignore note-off commands.
This is evident in keyboards/samplers that play drum and bass patterns when the musician hits a key and continues to play the patterns when the key is released so that the player can jam.
Program change messages cause the receiving unit to change to another patch number (ex. piano to strings, or on an effect unit, from reverb to chorus). Program messages have two bytes.
patch program
It is important to record program change data into a sequencer on the first beat, and then to allow a couple of beats to go by before playing.
This provides time for the MIDI units to respond to the patch changes before trying to play notes. If a unit receives a patch change while it is playing a note, it may cut off the note during the patch change.
Some units may not cut off the note, but any effects assigned to the patch may change making the sound change. (ex. reverb for piano patch to distortion for guitar patch).