MIDI (Musical Instrument Digital Interface) is a language that allows electronic musical instruments, computers and other devices to communicate and sync with each other. It works by sending MIDI messages as binary code over cables to control things like notes, effects, and sounds. A MIDI message contains a status byte to identify the type of message, and can have up to two data bytes with more details like note number, velocity, or effect settings. This experiment helped the author learn how MIDI works under the hood and how its messages are structured, giving them more options for composition and troubleshooting MIDI systems in the future.
Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...
2 Midi
1. MIDI
Introduction
When Wendy Carlos released the platinum-selling Switched-On Bach in 1968 many people became
aware of the Moog Modular synthesizer that was used on the album. Synthesizers were big pieces of
equipment at the time and creater Bob Moog created a portable sized synth called the MiniMoog. [1]
http://www.textura.org/imagesgraphics/henke/moog.jpg http://www.derekspratt.com/Images/Audio/Mini%20Moog%20Synth.jpg
Other leading companies such as Yamaha and Fairlight made more affordable electronic keyboards
and by the 1980's synthesizers were used in many genres of music.
In the early 1980's Dave Smith came up with idea of MIDI(Musical Instrument Digital Interface). This
would be a language that would allow computers to send out messages to control your keyboards and
other MIDI instruments. The MIDI sequencer was then creaqted.
This experiment will help me find out how MIDI works and what this language is. It will also give me
more options with MIDI, more controls to use.
Experiment
A MIDI message is not a sound. MIDI messages are a set of instructions that are sent down a MIDI
cable. These messages are made up of 3 parts. A status byte and 2 data bytes.
http://www.planetoftunes.com/sequence/se_media/message.gif
These bytes are made up of binary numbers which is a language recognised by computers. Binary is
made up of bits which are counted as 0's and 1's.
Status Byte
The Status Byte is made up of two sections. The first section (first four binary numbers) tells the
device that type of message is being sent. These types of messages are: [2]
Message Binary Number
Note Off 1000
Note On 1001
Polyphonic aftertouch 1010
Control/Mode change 1011
Program change 1100
Channel aftertouch 1101
Pitch bend 1110
(Depends on system) 1111
2. The second section (last four binary numbers) in a status byte determines what MIDI channel each
message is on.
MIDI devices can send these messages to 16 channels:
Channel 1 – 0000
Channel 2 – 0001
Channel 3 – 0010
Channel 4 – 0011
Etc.
Channel 15 – 1110
Channel 16 – 1111
These 16 channels mean 16 different MIDI decvices can be controlled with the same MIDI messages.
The program MIDI Inspector allows MIDI data to be displayed graphically. By using this I can see the
MIDI message of a status byte when I play a note on the MIDI keyboard.
Here is a note on message on channel 5. 1001 = Note on and 0100 = Channel 5
Data Bytes
The other two parts of a MIDI message are data bytes. These tell the computer or device exactly what
it needs to do. These data bytes take different roles depending on what the status byte message is.
When the status byte is set to Note on the first data byte is the note number and the second data byte
determines the velocity of the note.
The image below is a MIDI message I created in MIDI inspector.
The data byte showing velocity
is at its maximum. Showing I
pressed the key down as hard
as possible.
Every MIDI note is
allocated a number.
65 shows I am playing F
on the 4th Octave.
3. Each data byte has 8 binary numbers so the highest value that can be made is 127. Therefore there
are 128 different values as 0 is also counted as a value.
Control Change Message
This message is generated by the dials and sliders on MIDI devices. Control change messages can
command most MIDI devices allowing them to control such effects including modulation, panning,
delay and reverb. This is very useful in MIDI sequencing.
Pitch Bend
The pitch bend uses the two data bytes together. This allows the pitch bend to have 16,384 values
(128x128) as supposed to the normal 128 values; meaning the wheel can create a smooth pitch bend
instead of it being stuttered.
Program Change
The program change tells a MIDI device what sound to make.
General MIDI is a set of sounds that all MIDI devices recognise. There are 128 different sounds
ranging from pianos to sound effects.
This GM MIDI sound is a
telephone ring sound effect.
Conclusion
This experiment has helped me learn more about how MIDI works. I have discovered that MIDI is not
sound but electronic messages. This will help when I have problems with MIDI. By learning more
about new devices and interfaces it will help me when making my own compositions in MIDI
sequencers. It will also help as I now know more about what MIDI can do. My new knowledge on how
MIDI works and is programmed could even help me create my own MIDI device or software in the
future.
4. References
1. Suite 101, A History of Moog Synthesizers [Online]
Available at: http://instrumentalmusic.suite101.com/article.cfm/moog_synthesizers
[Accessed 31st November 2008].
2. Harmony Central, Table 1: Summary of MIDI Status & Data Bytes [Online]
Available at: http://www.harmony-central.com/MIDI/Doc/table1.html
[Accessed 31st November 2008].