Title: The MIDI Language
1The MIDI Language
- MIDI messages fall into five categories
- Channel (pertaining to information on a
particular channel) - Voice
- Mode
- System (pertaining to the system as a whole)
- Real time
- Common
- System Exclusive (SysEx)
2System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard.
3System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products.
4System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products. 11110000 Start System Exclusive
5System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products. 11110000 Start System
Exclusive Takes the system out of normal MIDI
operating mode.
6System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products. 11110000 Start System
Exclusive Takes the system out of normal MIDI
operating mode. Followed by a manufacturers
identification byte.
7System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products. 11110000 Start System
Exclusive Takes the system out of normal MIDI
operating mode. Followed by a manufacturers
identification byte. Each manufacturer has a
unique identifier assigned by the MIDI
Manufacturers Association.
8System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products. 11110000 Start System
Exclusive Takes the system out of normal MIDI
operating mode. Followed by a manufacturers
identification byte. Each manufacturer has a
unique identifier assigned by the MIDI
Manufacturers Association. Different devices by
the same company may be identified by subsequent
bytes.
9System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products. 11110000 Start System
Exclusive Takes the system out of normal MIDI
operating mode. Followed by a manufacturers
identification byte. Each manufacturer has a
unique identifier assigned by the MIDI
Manufacturers Association. Different devices by
the same company may be identified by subsequent
bytes. Any number of bytes may follow for any
purpose specified by the manufacturer.
10System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products. 11110000 Start System
Exclusive Takes the system out of normal MIDI
operating mode. Followed by a manufacturers
identification byte. Each manufacturer has a
unique identifier assigned by the MIDI
Manufacturers Association. Different devices by
the same company may be identified by subsequent
bytes. Any number of bytes may follow for any
purpose specified by the manufacturer. 11110111
End System Exclusive
11System Exclusive Messages
Allows a device to be addressed in ways that are
not covered by the MIDI standard. Allows
manufacturers to include proprietary features in
their products. 11110000 Start System
Exclusive Takes the system out of normal MIDI
operating mode. Followed by a manufacturers
identification byte. Each manufacturer has a
unique identifier assigned by the MIDI
Manufacturers Association. Different devices by
the same company may be identified by subsequent
bytes. Any number of bytes may follow for any
purpose specified by the manufacturer. 11110111
End System Exclusive Returns the system to MIDI
operating mode.
12System Exclusive Messages
Voice Editor/Librarians rely on System Exclusive
messages to address voice parameters of
individual instruments.
13System Exclusive Messages
Voice Editor/Librarians rely on System Exclusive
messages to address voice parameters of
individual instruments. Some writers (Loy)
criticized System Exclusive as an escape hatch,
defeating the purpose of a standard.
14System Exclusive Messages
Voice Editor/Librarians rely on System Exclusive
messages to address voice parameters of
individual instruments. Some writers (Loy)
criticized System Exclusive as an escape hatch,
defeating the purpose of a standard. Contrary to
these warnings, SysEx has not replaced any
message types covered by the MIDI standard.
15MIDI Implementation Charts
- Typically, MIDI devices cannot send and/or
receive every message type
16MIDI Implementation Charts
- Typically, MIDI devices cannot send and/or
receive every message type - A MIDI implementation chart details which
messages a device is capable of sending and
receiving
17MIDI Implementation Charts
- Typically, MIDI devices cannot send and/or
receive every message type - A MIDI implementation chart details which
messages a device is capable of sending and
receiving - A devices MIDI documentation will also give
System Exclusive information -- what parameters
may be addressed and how
18Additions to the MIDI protocol
19Standard MIDI Files (SMFs)
20Standard MIDI Files
- Added to the MIDI standard in 1988
21Standard MIDI Files
- Added to the MIDI standard in 1988
- These are to sequencers what plain text files are
to word processors a generic file format that
may be opened in a variety of applications
22Standard MIDI Files
- Added to the MIDI standard in 1988
- These are to sequencers what plain text files are
to word processors a generic file format that
may be opened in a variety of applications - They typically have the extension .mid
23Standard MIDI Files
- Added to the MIDI standard in 1988
- These are to sequencers what plain text files are
to word processors a generic file format that
may be opened in a variety of applications - They typically have the extension .mid
- A sequencer may export its contents to a standard
MIDI file
24Standard MIDI Files
- SMFs contain the following information
25Standard MIDI Files
- SMFs contain the following information
- MIDI events
26Standard MIDI Files
- SMFs contain the following information
- MIDI events
- Delta times amount of time between MIDI events
27Standard MIDI Files
- SMFs contain the following information
- MIDI events
- Delta times amount of time between MIDI
eventsThis may be a relative time measurement,
a number multiplied by the tempo setting, or an
absolute time measurement in minutes and seconds
28Standard MIDI Files
- SMFs contain the following information
- MIDI events
- Delta times amount of time between MIDI
eventsThis may be a relative time measurement,
a number multiplied by the tempo setting, or an
absolute time measurement in minutes and seconds - System Exclusive events
29Standard MIDI Files
- SMFs contain the following information
- MIDI events
- Delta times amount of time between MIDI
eventsThis may be a relative time measurement,
a number multiplied by the tempo setting, or an
absolute time measurement in minutes and seconds - System Exclusive events
- Meta events e.g., tempo changes, lyrics, track
names, key signatures, instrument names, etc.
30Standard MIDI Files
31Standard MIDI Files
- There are three types
- Type 0 All information is combined onto one
track.
32Standard MIDI Files
- There are three types
- Type 0 All information is combined onto one
track.When imported into a sequencer, some
programs prompt the user to decide whether the
file should be exploded into 16 tracks, with
each track containing information from the
corresponding channel number.
33Standard MIDI Files
- There are three types
- Type 1Track information is maintained
34Standard MIDI Files
- There are three types
- Type 1Track information is maintained(NOTE
sequencer tracks and MIDI channels are two
different things. A single track may contain
information on more than one channel multiple
tracks may contain information on the same
channel)
35Standard MIDI Files
- There are three types
- Type 2Track information is maintained, each
track has its own tempo
36Standard MIDI Files
- There are three types
- Type 2Track information is maintained, each
track has its own tempo - Type 2 is implemented less often than types 0 and
1
37General MIDI
38General MIDI
39General MIDI
- Adopted in 1991
- Assigns instrument types to patch numbers
40General MIDI
- Adopted in 1991
- Assigns instrument types to patch numbers, for
example - Patch 0 Piano
41General MIDI
- Adopted in 1991
- Assigns instrument types to patch numbers, for
example - Patch 0 Piano
- Patch 19 Organ
42General MIDI
- Adopted in 1991
- Assigns instrument types to patch numbers, for
example - Patch 0 Piano
- Patch 19 Organ
- Patch 56 Trumpet
43General MIDI
- Adopted in 1991
- Assigns instrument types to patch numbers, for
example - Patch 0 Piano
- Patch 19 Organ
- Patch 56 Trumpet
- Also assigns drums to channel 10
44General MIDI
- Adopted in 1991
- Assigns instrument types to patch numbers, for
example - Patch 0 Piano
- Patch 19 Organ
- Patch 56 Trumpet
- Also assigns drums to channel 10
- While a particular instrument type may sound
different on different devices, this convention
ensures that, for example, Patch 0 will always be
piano-like.
45General MIDI
- Adopted in 1991
- Assigns instrument types to patch numbers, for
example - Patch 0 Piano
- Patch 19 Organ
- Patch 56 Trumpet
- Also assigns drums to channel 10
- While a particular instrument type may sound
different on different devices, this convention
ensures that, for example, Patch 0 will always be
piano-like. - By beginning each track with the appropriate
Program Change event, composers can be confident
that their sequences will be intelligible on any
GM playback device.
46General MIDI
- While many musicians in 1991 thought General MIDI
was a dumbing down of MIDI instruments, its
adoption has allowed MIDI to become a standard
multi-media element.
47General MIDI
- While many musicians in 1991 thought General MIDI
was a dumbing down of MIDI instruments, its
adoption has allowed MIDI to become a standard
multi-media element. - Games could enhance soundtracks with MIDI files,
knowing that the files would be functional with
any General MIDI soundcard.
48General MIDI
- While many musicians in 1991 thought General MIDI
was a dumbing down of MIDI instruments, its
adoption has allowed MIDI to become a standard
multi-media element. - Games could enhance soundtracks with MIDI files,
knowing that the files would be functional with
any General MIDI soundcard. - MIDI files could be added to web pages as long as
end-users had a General MIDI plug-in (such as
QuickTime).
49General MIDI
- While many musicians in 1991 thought General MIDI
was a dumbing down of MIDI instruments, its
adoption has allowed MIDI to become a standard
multi-media element. - Games could enhance soundtracks with MIDI files,
knowing that the files would be functional with
any General MIDI soundcard. - MIDI files could be added to web pages as long as
end-users had a General MIDI plug-in (such as
QuickTime). - Today, virtually all synthesizers have a General
MIDI bank of patches (the Yamaha W7 among them).
50Multi Mode
- Allows an instrument to play all sixteen channels
polyphonically.
51Multi Mode
- Allows an instrument to play all sixteen channels
polyphonically. - An instrument can contain up to sixteen
sub-instruments, or parts. Each may have a
different patch number assigned to it.
52Multi Mode
- Allows an instrument to play all sixteen channels
polyphonically. - An instrument can contain up to sixteen
sub-instruments, or parts. Each may have a
different patch number assigned to it. - An instrument in Multi Mode that has a General
MIDI bank can play Standard MIDI Files.
53Multi Mode
- Allows an instrument to play all sixteen channels
polyphonically. - An instrument can contain up to sixteen
sub-instruments, or parts. Each may have a
different patch number assigned to it. - An instrument in Multi Mode that has a General
MIDI bank can play Standard MIDI Files. - Virtually all MIDI instruments now operate in
Multi Mode (the Yamaha W7 among them). - The key specification with such instruments is
their degree of polyphony -- the more notes an
instrument can play, the more complex
arrangements it can realize.
54Karaoke Files
55Karaoke Files
56Karaoke Files
- Specified in 1998
- Standard MIDI files with meta information about
lyrics
57Karaoke Files
- Specified in 1998
- Standard MIDI files with meta information about
lyrics - They typically have the extension .kar
58Karaoke Files
- Specified in 1998
- Standard MIDI files with meta information about
lyrics - They typically have the extension .kar
- A device that can read karaoke files can play
back MIDI tracks and project the lyrics
59Extensions of General MIDI
60Extensions of General MIDI
GS MIDI
61Extensions of General MIDI
GS MIDI
Created by Roland for its SoundCanvas module.
62Extensions of General MIDI
GS MIDI
Created by Roland for its SoundCanvas module.
Adds more drumkit banks
63Extensions of General MIDI
GS MIDI
Created by Roland for its SoundCanvas module.
Adds more drumkit banks Standardizes certain
controllers to address effects such as
reverberation and brightness.
64Extensions of General MIDI
GS MIDI
Created by Roland for its SoundCanvas module.
Adds more drumkit banks Standardizes certain
controllers to address effects such as
reverberation and brightness. Also standardized
Bank Select controllers to allow for more than
128 patches.
65Extensions of General MIDI
GS MIDI
Created by Roland for its SoundCanvas module.
Adds more drumkit banks Standardizes certain
controllers to address effects such as
reverberation and brightness. Also standardized
Bank Select controllers to allow for more than
128 patches. The QuickTime Musical Instruments
use GS parameters
66Extensions of General MIDI
GS MIDI
Created by Roland for its SoundCanvas module.
Adds more drumkit banks Standardizes certain
controllers to address effects such as
reverberation and brightness. Also standardized
Bank Select controllers to allow for more than
128 patches. The QuickTime Musical Instruments
use GS parameters So does Microsofts GS Synth
67Extensions of General MIDI
XG MIDI
68Extensions of General MIDI
XG MIDI
Created by Yamaha for its MU80 module.
69Extensions of General MIDI
XG MIDI
Created by Yamaha for its MU80 module. More
standardized controllers for additional
expressiveness (chorus, attack time, release
time, etc.)
70Extensions of General MIDI
XG MIDI
Created by Yamaha for its MU80 module. More
standardized controllers for additional
expressiveness (chorus, attack time, release
time, etc.) Special SysEx messages allow
processing of an input signal, such as a
karaoke vocalist
71Extensions of General MIDI
Many web sites with downloadable MIDI files
specify that the files are GS MIDI or XG MIDI,
meaning that such files will take advantage of
the special features on these types of devices.
72Extensions of SysEx
MIDI Machine Control (MMC)
73Extensions of SysEx
MIDI Machine Control (MMC)
A class of SysEx messages to control recording
and playback devices
74Extensions of SysEx
MIDI Machine Control (MMC)
A class of SysEx messages to control recording
and playback devices After going into SysEx mode
and sending the device ID, a device can be made
to play, record, stop, fast forward, rewind or
pause.
75Extensions of SysEx
MIDI Show Control (MSC)
76Extensions of SysEx
MIDI Show Control (MSC)
A class of SysEx messages to control non-musical
theatrical devices such as lighting, scenery,
pyrotechnics, sound effects playback.
77Extensions of SysEx
MIDI Show Control (MSC)
A class of SysEx messages to control non-musical
theatrical devices such as lighting, scenery,
pyrotechnics, sound effects playback. MSC allows
an entire production to be controlled by a
sequencing device.