Revision:MIDI - The Student Room
The Student Room

Revision:MIDI

TSR Wiki > Study Help > Subjects and Revision > Revision Notes > Music Technology > MIDI


MIDI (short for Musical Instrument Digital Interface) is a music industry standard communications protocol that lets MIDI instruments and sequencers (or computers running sequencer software) talk to each other to play and record music.

Contents

The General MIDI Specification

The General MIDI (GM) specification was introduced to ensure improved compatibility between different MIDI devices such as sound modules, synthesisers and keyboards. There are a set of requirements and criterion for MIDI devices aimed at ensuring consistent playback performance on all instruments bearing the GM logo. Some of the requirements include 24-voice polyphony, a standardised group (and location) of sounds, as well as defining a limited number of controllers. For example, patch #17 will always be a drawbar organ sound on all General MIDI instruments. Continuous controller number 7 will control its volume. Music written and sequenced for General MIDI should play back with the same instrument sounds on any GM sound source.

The group of 128 sounds / timbres / programs / patches / are numbered 0–127 or 1–128. They are arranged in instrument groups / categories / families. There are 16 instrument groups, with 8 sounds in each. Instrument / timbre program numbers are universally the same.

GM devices must feature the following to be GM compatible:

  • The General MIDI standard sound set
  • Should be 16-part multi-timbral/able to play back on 16 channels simultaneously
  • Device should be able to play at least 24 notes simultaneously/should be minimum of 24 note polyphony
  • Drums kit layout across keyboard should match standard GM drum map
  • Channel 10 should always be reserved for drums
  • Must be able to respond to controllers, such as 1 (modulation), 7 (main volume), 10 (pan), 11 (expression), 64 (sustain pedal), 121 (reset controllers) and 123 (all notes off)
  • Pitch bend range should default to (+/-) 2 semitones
  • Respond to (SysEx) GM reset command


Multitimbrality

A multitimbral sound-making device (such as a sampler, sound module or keyboard) has the ability to play two or more sounds at the same time. Each sound is able to be configured to respond to a different channel of MIDI information.


MIDI Controllers

MIDI Controller Name
0 Bank Select (MSB)
1 Mod Wheel (coarse/MSB)
2 Breath Controller (coarse/MSB)
4 Foot Controller (coarse/MSB)
5 Portamento Time (coarse/MSB)
6 Data Entry (coarse/MSB)
7 Volume (coarse/MSB)
8 Balance (coarse/MSB)
10 Pan (coarse/MSB)
11 Expression Controller (coarse/MSB)
12 Effect Control 1 (coarse/MSB)
13 Effect Control 2 (coarse/MSB)
16 General Purpose Slider 1
17 General Purpose Slider 2
18 General Purpose Slider 3
19 General Purpose Slider 4
32 Bank Select (LSB)
33 Modulation Wheel (fine/LSB)
34 Breath Controller (fine/LSB)
36 Foot Controller (fine/LSB)
37 Portamento Time (fine/LSB)
38 Data Entry (fine/LSB)
39 Volume (fine/LSB)
40 Balance (fine/LSB)
42 Pan (fine/LSB)
43 Expression Controller (fine/LSB)
44 Effect Control 1 (fine/LSB)
45 Effect Control 2 (fine/LSB)
64 Sustain
65 Portamento
66 Sostenuto Pedal
67 Soft Pedal
68 Legato Pedal
69 Hold 2 Pedal
70 Sound Variation
71 Sound Timbre
72 Sound Release Time
73 Sound Attack Time
74 Sound Brightness
75 Sound Control 6
76 Sound Control 7
77 Sound Control 8
78 Sound Control 9
79 Sound Control 10
80 General Purpose 5
81 General Purpose 6
82 General Purpose 7
83 General Purpose 8
91 Reverb Level
92 Tremolo Level
93 Chorus Level
94 Celeste Level (Detune)
95 Phaser Level
96 Data Increment (Data Entry +1)
97 Data Decrement (Data Entry -1)
98 Non-Registered Parameter LSB
99 Non-Registered Parameter MSB
100 Registered Parameter LSB
101 Registered Parameter MSB
120 All Sound Off
121 Reset All Controllers
122 Local Control
123 All Notes Off
124 Omni Mode Off
125 Omni Mode On
126 Mono Mode On
127 Poly Mode On


Types

  • A continuous controller is a MIDI message capable of transmitting a range of values between 0 and 127, therefore having 128 possible states. Examples include modulation (1), main volume (7), pan (10) expression (11), reverb (91) and chorus (93).
  • A switch controller only responds to values of 0 and 127, where 0 means the controller is turned off and 127 means it is turned on. Examples include sustain (64), sostenuto (66) and legato pedal (68).
  • Pitchbend has been assigned its own dedicated MIDI type message. There are two different range of values for pitchbend - 0 to 16383 or -8192 to 8191. The lower the value, the lower the pitch, and the higher the value, the higher the pitch. Pitchbend uses two data variables to create a greater range of possible states. The MSB (Most Significant Byte) and LSB (Least Significant Byte) can be multiplied together (128x128) to give the total number of states, which is 16384.


GM Sound Set

Each instrument/sound has been given its own program change number. For example, PC#1 would correspond to the acoustic grand piano. The sounds are numbered either 0-127 or 1-128. There are 16 different family groups comprising of eight different sounds each. Note that the timpani sound (#48) is listed in the Strings section instead of the Chromatic Percussion section.


Piano
# Instrument Name # Instrument Name
1 Acoustic Grand Piano 5 Electric Piano 1
2 Bright Acoustic Piano 6 Electric Piano 2
3 Electric Grand Piano 7 Harpsichord
4 Honky-Tonk Piano 8 Clavinet


Chromatic Percussion
# Instrument Name # Instrument Name
9 Celesta 13 Marimba
10 Glockenspiel 14 Xylophone
11 Music Box 15 Tubular Bells
12 Vibraphone 16 Dulcimer


Organ
# Instrument Name # Instrument Name
17 Drawbar Organ 21 Reed Organ
18 Percussive Organ 22 Accordion
19 Rock Organ 23 Harmonica
20 Church Organ 24 Tango Accordion


Guitar
# Instrument Name # Instrument Name
25 Acoustic Guitar (Nylon) 29 Electric Guitar (Muted)
26 Acoustic Guitar (Steel) 30 Overdriven Guitar
27 Acoustic Guitar (Jazz) 31 Distorted Guitar
28 Electric Guitar (Clean) 32 Guitar Harmonics


Bass
# Instrument Name # Instrument Name
33 Acoustic Bass 37 Slap Bass 1
34 Electric Bass (Finger) 38 Slap Bass 2
35 Electric Bass (Pick) 39 Synth Bass 1
36 Fretless Bass 40 Synth Bass 2


Strings
# Instrument Name # Instrument Name
41 Violin 45 Tremolo Strings
42 Viola 46 Pizzicato Strings
43 Cello 47 Orchestral Harp
44 Contrabass 48 Timpani


Ensemble
# Instrument Name # Instrument Name
49 Strings Ensemble 1 53 Choir Aahs
50 Strings Ensemble 2 54 Choir Oohs
51 Synth Strings 1 55 Synth Voice
52 Synth Strings 2 56 Orchestral Hit


Brass
# Instrument Name # Instrument Name
57 Trumpet 61 French Horn
58 Trombone 62 Brass Section
59 Tuba 63 Synth Brass 1
60 Muted Trumpet 64 Synth Brass 2


Reed
# Instrument Name # Instrument Name
65 Soprano Sax 69 Oboe
66 Alto Sax 70 English Horn
67 Tenor Sax 71 Bassoon
68 Baritone Sax 72 Clarinet


Pipe
# Instrument Name # Instrument Name
73 Piccolo 77 Blown Bottle
74 Flute 78 Shakuhachi
75 Recorder 79 Whistle
76 Pan Flute 80 Ocarina


Synth Lead
# Instrument Name # Instrument Name
81 Lead 1 (Square) 85 Lead 5 (Charang)
82 Lead 2 (Sawtooth) 86 Lead 6 (Voice)
83 Lead 3 (Calliope) 87 Lead 7 (Fifths)
84 Lead 4 (Chiff) 88 Lead 8 (Bass & Lead)


Synth Pad
# Instrument Name # Instrument Name
89 Pad 1 (New Age) 93 Pad 5 (Bowed)
90 Pad 2 (Warm) 94 Pad 6 (Metallic)
91 Pad 3 (Polysynth) 95 Pad 7 (Halo)
92 Pad 4 (Choir) 96 Lead 8 (Sweep)


Synth Effects
# Instrument Name # Instrument Name
97 FX 1 (Rain) 101 FX 5 (Brightness)
98 FX 2 (Soundtrack) 102 FX 6 (Goblins)
99 FX 3 (Crystal) 103 FX 7 (Echoes)
100 FX 4 (Atmosphere) 104 FX 8 (Sci-Fi)


Ethnic
# Instrument Name # Instrument Name
105 Sitar 109 Kalimba
106 Banjo 110 Bag Pipe
107 Shamisen 111 Fiddle
108 Koto 112 Shanai


Percussive
# Instrument Name # Instrument Name
113 Tinkle Bell 117 Taiko Drum
114 Agogo 118 Melodic Drum
115 Steel Drums 119 Synth Drum
116 Woodblock 120 Reverse Cymbal


Sound Effects
# Instrument Name # Instrument Name
121 Guitar Fret Noise 125 Telephone Ring
122 Breath Noise 126 Helicopter
123 Seashore 127 Applause
124 Bird Tweet 128 Gunshot


Synchronisation

Music synchronisation is the process of getting musical events recorded on two separate recording devices (such as audio tracks on a multi-track tape recorder and MIDI events on a sequencer) to play together in time.

SMPTE

The SMPTE (which is an acronym for the Society of Motion Picture and Television Engineers) timecode signal carries clock information in the form of hours, minutes, seconds and frames.

MTC

MIDI Time Code (MTC) is a form of time code representing real time in hours, minutes, seconds, frames, subframes, and transmitted over MIDI. MTC can also be described as a way of sending SMPTE time code over MIDI cables. Like all forms of time code, MTC is designed to allow various pieces (in this case MIDI-equipped) of equipment to synchronise together.


Quantisation

In sequencing this is the process of aligning a set of musical notes to a particular setting. This results in notes being set on beats and on exact fractions of beats. MIDI sequencers typically include quantisation in their manifest of edit commands. In this case, the dimensions of this timing grid are set beforehand. When one instructs the music application to quantise a certain group of MIDI notes in a song, the program moves each note to the closest point on the timing grid.

The quantise setting is usually determined by whatever is the shortest note in the relevant section of music. For example, if the shortest note is a semiquaver, a quantise setting of 1/16 would be used to align all the notes strictly in time.


MIDI Data

The event list of a particular track displays:

  • Start and end times for the MIDI events
  • Program change numbers (the instrumental sound is set)
  • Note names, the octave in which the note is being played (for example, C3 is middle C) and its velocity
  • MIDI controllers, if applicable
  • Pitchbend values (Data 1 is the LSB (Least Significant Bit), whereas Data 2 is the MSB (Most Significant Bit)
  • Systems Exclusive (SysEx) commands


A MIDI sequence can also contain a 'header section' a bar or so at the beginning before the actual song begins. This contains a number of controller data instructions for that track.

The start times of the MIDI events, including program changes and controllers, are always staggered and not listed at the same point in time. This is because MIDI is a serial protocol, therefore only one message can be transmitted at a time. If the events are not staggered some of the data may not be transmitted correctly. This could result in data drop-out, corruption or MIDI choke. Exactly what happens when MIDI choke occurs depends on the system, but at the very least it is likely that the timing of note on/off messages will be severely disrupted. In an extreme case it is possible that the MIDI controller would crash, and the system would be brought to a halt.


MIDI Files

There are three different types of MIDI file, but only two of these types are commonly used today.

  • Type 0 (single track) - all MIDI channels are combined into one track (MIDI channel assignments and other information are not lost)
  • Type 1 (multi-track) - each track is kept separate
  • Type 2 - pattern files, but are rarely seen nowadays


Comments

These notes are aimed at students studying GCE Edexcel Music Technology

Discussions  
Best Country in the World
started by: datta01
forum: International Lounge
replies: 132
last post: 1 Minute Ago
OCR AS Salters Chemistry F332 - Wednesday 23rd May 2012 1:30pm
started by: EstebanK0
forum: Chemistry Exams
replies: 563
last post: 1 Minute Ago
OCR Gateway Biology 2012 B1 B2 B3
started by: ghost_rebel
forum: Biology Exams
replies: 93
last post: 1 Minute Ago
Tech Society 3.0
started by: secretmessages
forum: Technology and Computers
replies: 2209
last post: 1 Minute Ago
OCR Biology F212 (Molecules, Biodiversity, Food and Health)- 21st May 2012
started by: Future_Dr
forum: Biology Exams
replies: 5745
last post: 1 Minute Ago
The Edexcel C2 (24/05/12 - AM) Revision Thread
started by: Meme4
forum: Maths Exams
replies: 237
last post: 1 Minute Ago
OCR Chemistry A F322 Chains, Energy and Resources Wed 23 May 2012
started by: kickasskaz01
forum: Chemistry Exams
replies: 1225
last post: 1 Minute Ago
Is Cameron winning the Scottish Independence argument...for the SNP?
started by: Cmca1
forum: UK Politics
replies: 172
last post: 1 Minute Ago
If EVERY animal in the world turned against us, could we survive?
started by: 0906079
forum: Society
replies: 117
last post: 1 Minute Ago
Chemistry Unit 2 Edexcel, Exam- 23rd May 2012
started by: AmrinderRai
forum: Chemistry Exams
replies: 963
last post: 2 Minutes Ago
Architecture Applicants for 2012 entry (& Offers - for when they're given!)
started by: SomeoneIveNeverMet
forum: Architecture and the Built Environment
replies: 1995
last post: 2 Minutes Ago
Psychology AQA A PSYA1 23rd May 2012!
started by: chelsey
forum: Psychology
replies: 481
last post: 2 Minutes Ago
Your Summer Reading List
started by: Steveluis10
forum: Books, Literature & Poetry
replies: 29
last post: 2 Minutes Ago
Medicine without chemistry A level
started by: pepeeglesfield
forum: A-Levels, ASs, A2s, VCEs
replies: 2
last post: 2 Minutes Ago
The bumper thread of University League Tables discussion - includes an info post
started by: IlexAquifolium
forum: General University Discussion
replies: 2619
last post: 2 Minutes Ago
A2 WJEC IT3(Use and Impact of ICT) 12 June 2012
started by: a123
forum: Computer Science and IT
replies: 18
last post: 2 Minutes Ago
Edexcel AS GeographyUnit 1: Global Challenges
started by: Killer_94
forum: Geography and Geology
replies: 36
last post: 3 Minutes Ago
The London Underground: Love It or Hate It?
started by: simonbellringer
forum: Travel
replies: 131
last post: 3 Minutes Ago
Tsr Pakistani Society VI... Saag and Toast for all members!!
started by: killa78
forum: International Lounge
replies: 7874
last post: 4 Minutes Ago
OCR AS History Exams - 22nd May
started by: nataschawoolliams
forum: History
replies: 17
last post: 4 Minutes Ago
Article Updates Edit