MIDI (Musical Instrument Digital Interface)
Rather than work with large digital audio files, one can also work with MIDI data that sends instructions to hardware devices and software applications to play sounds (in real time or saved to a file) based on performance information.
MIDI is not a digital audio file that one can play and hear sound. Rather, MIDI are the instructions that a MIDI capable instrument sends to a device that is capable of producing sound (MIDI instructions can also be used to control functions such as the automatic movement of knobs and faders/sliders on a mixing console). These instructions are created by playing a traditional looking instrument that has MIDI circuitry installed. The MIDI protocol has a pre-assigned value for each key on a traditional keyboard, or string on a guitar. A record of what is being played (pressing keys of strumming strings) in real-time is translated into the corresponding MIDI values. The value indicates what key or string was played, how long, etc.
You can purchase a MIDI keyboard with absolutely no electrical/digital circuitry to produce sound. Thus, you may have 4 octaves of piano-like keys in a modular, plastic casing. However, you can connect that keyboard to a synthesizer, by MIDI cable, and when you press a key the synthesizer will produce a corresponding sound for the same length of time you depress the key. You can assign any type of sound to a bank or file in the synthesizer for the corresponding key to trigger. Although you may depress Middle C on a piano-like keyboard, you could have assigned a Trumpet, Violin, Synthesizer or FX digital audio file as the instrument sound to be audibly heard. Thus, you could hear Middle C, in the correct scale played by a Trumpet.
One can save the MIDI data as a file (.mid) consisting of nothing but the instructions sent to a sound producing device. One can also save the output by the synthesizer, which was played based on the MIDI instructions, in an entirely separate digital audio file (.wav). Thus, you can use MIDI to create several instruction files that will play a performance of several sounds/devices simultaneously at a later time. You can edit the instruction file at a later date in order to have different notes played than in your original composition (Sequencer). (A sequencer software application installed and operating on your computer will save the MIDI instructions in an overall project file that is proprietary and utilized by the application, not as a .mid file). Or, you can use a MIDI instrument to trigger a synthesizer in real-time to create digitally produced sound, in a digital audio file and then save the file. Once you save the digital file, the original performance cannot actually be changed. Rather, you load the .wav file into a digital audio sound editing program and shift pitch, timing, etc., of a digital file.
Thus, MIDI is nothing more than the digital protocol (manner by which two devices will exchange digital data) by which various electronic devices can communicate and transmit digitized information for recording, playback and control. It is the interface between an instrument and the device that will produce sound (another instrument, a computer soundcard or a stand-alone module). Most electronic keyboards have included MIDI jacks for several years. Other musical instruments (string, wind and percussion) to which an electronic pick-up can be attached may then plug the other end of the cable into a MIDI-interface coupler (there are also MIDI pickups). One may then attach an adapter cable that fits to one end of the MIDI-interface coming from the instrument, which then plugs into the port of the soundcard (if capable) located on the back of your computer. You will plug the MIDI-out from MIDI device into the MIDI-In of the other device (soundcard). To transmit data to an additional MIDI device you will use the MIDI-Through (Thru) connector (either included on the device or stand alone). A MIDI cable connection will allow up to 16 channels of MIDI data (16 different instruments or devices).
The source of the MIDI signal comes from a “MIDI controller” which can be an instrument with a MIDI input/output jack or a computer keyboard (standard QWERTY keyboard). The signal is electronic digital circuit pulses assembled into binary number code data representing sound on and sound off, the location of the signal, duration, loudness and the pitch instructions. Any single or combined MIDI signal is known as a MIDI event. Again, it is important to remember that it is not sound. Rather a MIDI file (.mid) is a set of instructions to a device or instrument (synthesizer, sampler, drum machine, or a sequencer) that accesses the device and, upon playback, will produce sound based on those corresponding instructions. MIDI enabled devices can also transmit Program Change (specific instrument selection) data either just prior to the note data (or along with it) which will prompt the MIDI device to activate an effects program (to alter the sound).
A MIDI “patch” is specific MIDI channel (musical instrument sound). You will normally have several to hundreds of patches in a MIDI module. A MIDI device can also control another device through cable hookup and can trigger the other device to play in unison with the controller device. The controller device can make the other device respond by also assigning it to a specific channel and sending a specific set of instructions through that channel only. The controller can also be hooked by MIDI cable to several sound modules, each with its own bank of sounds. The controller can assign a channel to each module and have the specific instructions playback a pre-assigned sound bank. Thus, one could use the MIDI keyboard controller to play performances into a Sequencer software application which will record the MIDI instructions. Then, once the Sequencer application is instructed to play the performance, it becomes the controller by sending the data to a computer soundcard or external sound module.
A MIDI device also sends out MIDI Time Code which a controlling MIDI device (Master) uses to instruct a second device (Slave) what position to be in and synchronizes simultaneous performance.
One can play a MIDI instrument in real time or send MIDI information to a Sequencer which essentially is a device for the storage of the MIDI commands regarding start, stop, note, loudness, etc. However, as MIDI are instructions, and it accesses which ever MIDI compliant soundcard or device that is assigned, a MIDI file may not sound the same when played back on two different computers. The key is to determine if your computer’s soundcard meets the General MIDI standard established by the MIDI Manufacturers Association. If it is not GM compliant and you wish to compose in a GM environment, then this may require that you have to replace your existing sound card, if it is not recent, or you have to install a MIDI-compliant expansion card that works in tandem with your existing sound card.
General MIDI (GM) was designed so that the same sounds are stored within the memory location of a device regardless of manufacturer. Thus, when a MIDI signal is sent to a certain channel it will always trigger the same instrument sound. GM groups digitized sounds within 16 families (piano, chromatic percussion, organ, guitar, bass, solo strings, ensemble, brass, reed, pipe, synth lead, synth pad, synth effects, ethnic, percussive, sound effects) of 8 instrument variations within each family. The resultant instrument patch map consists of 128 sounds and complete octave range wihin those sounds, each with a corresponding MIDI program number. GM also includes a percussion program which is restricted to channel 10. GM also includes default velocity, modulation wheel, after touch, sustain, main volume, pan, and pitch bend.
1-8 Piano
1 Acoustic Grand Piano
2 Bright Acoustic Piano
3 Electric Grand Piano
4 Honky Tonk Piano
5 Electric Piano 1
6 Electric Piano 2
7 Harpsichord
8 Clavichord
9-16 Chromatic Percussion
9 Celesta
10 Glockenspiel
11 Music Box
12 Vibraphone
13 Marimba
14 Xylophone
15 Tubular Bells
16 Dulcimer
17-24 Organ
17 Drawbar Organ
18 Percussive Organ
19 Rock Organ
20 Church Organ
21 Reed Organ
22 Accordian
23 Harmonica
24 Tango Accordian
25-32 Guitar
25 Acoustic Guitar (Nylon)
26 Acoustic Guitar (Steel)
27 Electric Guitar (Jazz)
28 Electric Guitar (Clean)
29 Electric Guitar (Muted)
30 Overdrive Guitar
31 Distorted Guitar
32 Guitar Harmonics
33-40 Bass
33 Acoustic Bass
34 Electric Bass
35 Electric Bass
36 Fretless Bass
37 Slap Bass 1
38 Slap Bass 2
39 Synth Bass 1
40 Synth Bass 2
41-48 Strings
41 Violin
42 Viola
43 Cello
44 Contrabass
45 Tremolo Strings
46 Pizzacato Strings
47 Orchestral Harp
48 Timpani
49-56 Ensemble
49 String Ensemble 1
50 String Ensemble 2
51 Synth Strings 1
52 Synth Strings 2
53 Chior Ah
54 Chior Oh
55 Synth Voice
56 Orchestra Hit
57-64 Brass
57 Trumpet
58 Trombone
59 Tuba
60 Muted Trumpet
61 French Horn
62 Brass Section
63 Synth Brass 1
64 Synth Brass 2
65-72 Reed
65 Soprano Sax
66 Alto Sax
67 Tenor Sax
68 Baritone Sax
69 Oboe
70 English Horn
71 Bassoon
72 Clarinet
73-80 Pipe
73 Piccolo
74 Flute
75 Recorder
76 Pan Flute
77 Blown Bottle
78 Shakuhachi
79 Whistle
80 Ocarina
81-88 Synth Lead
81 Square
82 Sawtooth
83 Calliope
84 Chiff
85 Charang
86 Voice
87 Fifths
88 Bass & Lead
89-96 Synth Pad
89 New Age
90 Warm
91 Polysynth
92 Choir
93 Bowed
94 Metallic
95 Halo
96 Sweep
97-104 Synth Effects
97 Rain
98 Soundtrack
99 Crystal
100 Atmosphere
101 Brightness
102 Goblin
103 Echoes
104 Science Fiction
105-112 Ethnic
105 Sitar
106 Banjo
107 Shamisen
108 Koto
109 Kalimba
110 Bagpipes
111 Fiddle
112 Shanai
113-120 Percussion
113 Tinkle Bell
114 Agogo
115 Steel Drum
116 Wood Block
117 Taiko Drum
118 Melodic Drum
119 Synth Drum
120 Reverse Cymbal
121-128 Sound Effects
121 Guitar Fret
122 Breath
123 Seashore
124 Bird
125 Telephone
126 Helicopter
127 Applause
128 Gunshot
GS (Roland General Synthesis) is an enhancement of the General MIDI standard. It is fully compatible with GM. However, it exceeds GM by including additional instrument sounds (voices) and additional effects processing. Compared to GM’s 128 instrument sounds, GS offers 226 instrument and effects sounds with 24-voice polyphony.
XG (Yamaha XG) is an additional enhancement of the General MIDI standard. It is also fully compatible with GM. The protocol is installed on various models of Yamaha instruments and soundcards. Compared to GM’s 128 instrument sounds, GS’s 226 instruments, XG specifies 520 instrument and effects sounds. The standard also specifies a minimum 32-voice polyphony (simultaneous playback)