MIDI usage and applications
Encyclopedia
Many extensions of the original official MIDI 1.0 specification have been jointly standardized by the MIDI Manufacturers Association
(MMA) in the US and the Association of Musical Electronics Industry
(AMEI) in Japan. General MIDI
(GM) was an attempt by the MIDI Manufacturers' Association (MMA) to standardize an instrument programme number map.
Later, companies in Japan's AMEI developed General MIDI Level 2 (GM2), which extended the instrument palette, specified more message responses, and defined new messages. GM2 became the basis of the instrument selection mechanism in Scalable Polyphony MIDI (SP-MIDI), a MIDI variant for mobile applications. In addition to the original 31.25 kBaud current-loop, 5-pin DIN
transport, transmission of MIDI streams over USB
, IEEE 1394 a.k.a FireWire, and Ethernet
is now common. MIDI is also used every day as a control protocol in applications other than music, including for show control
and theatre lighting.
(MMA) in the US and the Association of Musical Electronics Industry
(AMEI) in Japan. Only a few of them are described here; for more comprehensive information, see the MMA web site.
(GM) and General MIDI 2 (GM2) standards define a MIDI instrument's response to the receipt of a defined set of MIDI messages. As such, they allow a given, conformant MIDI stream to be played on any conformant instrument. Although dependent on the basic MIDI 1.0 specification, the GM and GM2 specifications are each separate from it. As such, it is not generally safe to assume that any given MIDI message stream or MIDI file is intended to drive GM-compliant or GM2-compliant MIDI instruments.
At heart, these specifications resolve certain ambiguities in the MIDI message protocol. In MIDI, instruments (one per channel) are selected by number (0-127), using the Program Change message. However, the basic MIDI 1.0 specification did not specify what instrument sound (piano, tuba, etc.) corresponds to each number. This was intentional, as MIDI originated as a professional music protocol, and in that context it is typical for a performer to assemble a custom palette of instruments appropriate for their particular repertoire, rather than taking a least-common-denominator approach.
Eventually interest developed in adapting MIDI as a consumer content format, and for computer multimedia applications. In this context, in order for MIDI file content to be portable, the instrument program numbers used must call up the same instrument sound on every player. General MIDI
(GM) was an attempt by the MIDI Manufacturers' Association (MMA) to resolve this problem by standardising an instrument programme number map, so that for example Program Change 1 always results in a piano sound on all GM-compliant players. GM also specified the response to certain other MIDI messages in a more controlled manner than the MIDI 1.0 specification. The GM spec is maintained and published by the MIDI Manufacturers' Association (MMA).
From a musical perspective, GM has a mixed reputation, mainly because of small or large audible differences in corresponding instrument sounds across player implementations, the limited size of the instrument palette (128 instruments), its lowest-common-denominator character, and the inability to add customised instruments to suit the needs of the particular piece. Yet the GM instrument set is still included in most MIDI instruments, and from a standardisation perspective GM has proven durable.
General Midi 1 was introduced in 1991.
General MIDI 2 was introduced in 1999 and last amended in February 2007.
GM, GM2, and SP-MIDI are also the basis for selecting player-provided instruments in several of the MMA/AMEI XMF file formats (XMF Type 0, Type 1, and Mobile XMF), which allow extending the instrument palette with custom instruments in the Downloadable Sound (DLS) formats, addressing another major GM shortcoming.
transport, transmission of MIDI streams over USB
, IEEE 1394 a.k.a FireWire, and Ethernet
is now common (see below).
implementation of MIDI provides network routing capabilities, which are extremely useful in studio or stage environements (USB and FireWire are restricted to connections between one computer and some devices and do not provide any routing capabilities).
Ethernet is moreover capable of providing the high-bandwidth channel that earlier alternatives to MIDI (such as ZIPI
) were intended to bring.
After the initial fight between different protocols (IEEE-P1639, MIDI-LAN, IETF RTP-MIDI), it appears that IETF's RTP MIDI specification for transport of MIDI streams over Ethernet
and Internet
is now spreading faster and faster since more and more manufacturer's are integrating RTP-MIDI in their products (Apple, CME, Kiss-Box, etc...). Mac OS X, Windows and Linux drivers are also available to make RTP MIDI devices appear as standard MIDI devices within these operating systems.
(Real Time Protocol) layer (most often running over UDP
, but compatible with TCP
also), widely used for real-time audio and video streaming over networks.
RTP
layer is extremely easy to implement and requires very little power from microprocessors, while providing very useful information to the receiver (network latency, loss of packets, reordered packets, etc...). RTP-MIDI defines a specific payload type, that allows the receiver to identify MIDI streams.
RTP-MIDI does not alter the MIDI messages in any way (all messages defined in the MIDI norm are transported transparently over the network), but it adds some specific functionalities, like timestamping and sysex fragmentation. RTP-MIDI also adds a very powerful mechanism, named journaling, that allows the receiver to detect the loss of MIDI messages in the network, but also to retrieve lost information.
The first part of the RTP-MIDI specification is mandatory and describes how MIDI messages are encapsulated within the RTP telegram. It also describes how the journaling system is working. It must be noted that the use of the journaling system is not mandatory (journaling is not very useful for LAN applications, but it is very important for WAN applications).
The second part of RTP-MIDI specification describes the session control mechanisms that allow multiple stations to synchronize across the network to exchange RTP-MIDI telegrams. This part is informational only, and it is not required that all RTP-MIDI implementations use the described mechanisms.
RTP-MIDI is included in Apple's Mac OS X
since 10.4 and iOS since 4.2, as standard MIDI ports (the RTP-MIDI ports appear in Macintosh applications as any other USB or FireWire port. Thus, any MIDI application running on Mac OS X is able to use the RTP-MIDI capabilities in a transparent way). However, Apple's developers have considered that the session control protocol described in IETF's specification was by far too complex, and they created their own session control protocol. Since the session protocol uses a different UDP port of the main RTP-MIDI stream port, the two protocols do not interfere (so the RTP-MIDI implementation in Mac OS X fully complies to the IETF specification).
Apple's implementation has been used as reference by other MIDI manufacturers. A Windows
XP RTP-MIDI driver specifically for their own devices has also been released by the Dutch company Kiss-Box, another Windows
RTP-MIDI driver compatible to Windows XP up to Windows 7 (32bit and 64bit) has also been released and a Linux implementation is currently under development by the Grame association.
It is then quite probable that Apple's implementation will become the "de-facto" standard (and could even become the MMA reference implementation).
[1] IETF RTP-MIDI specification RFC 4695
[2] Windows XP RTP-MIDI driver download http://www.kiss-box.com
[3] Grame's website http://www.grame.fr
, or MTS. This standard allows MIDI instruments that support MTS to be tuned in any way desired, through the use of a MIDI Non-Real Time System Exclusive message.
MTS uses three bytes, which can be thought of as a three-digit number base 128, to specify a pitch in logarithmic form. The following formula gives the byte values needed to encode a given frequency in hertz:
For a note in A440 equal temperament, this formula delivers the standard MIDI note number. Any other frequencies fill the space evenly.
While support for MTS is not particularly widespread in commercial hardware instruments, it is nonetheless supported by some instruments and software, for example the free software
programs TiMidity
and Scala
, as well as other microtuner
s.
Such non-musical applications of MIDI are possible because any device built with a standard MIDI Out connector should in theory be able to control any other device with a MIDI In port, just as long as the developers of both devices have the same understanding about the semantic meaning of all the MIDI messages the sending device emits. This agreement can come either because both follow the published MIDI specifications, or else in the case of any non-standard functionality, because the message meanings are agreed upon by the two manufacturers.
The following are classes of MIDI controller (using definition 1 above):
This section uses the second definition of "MIDI controller".
Performance modifier controls such as modulation wheels, pitch bend wheels, sustain pedals, pitch sliders, buttons, knobs, faders, switches, ribbon controllers, etc., can alter an instrument's state of operation, and thus can be used to modify sounds or other parameters of music performance. Because MIDI includes messages for representing such controller events, they can be sent in real time over MIDI connections. MIDI makes approximately 120 virtual controller numbers (addresses) available for this purpose, i.e. connecting the actual buttons, knobs, wheels, sliders, etc. with their intended actions within the receiving device. In MIDI, the value data range of the Control Change message is 128 steps (0 to 127), and the first 32 controller numbers (including, for example, Volume) are allocated an additional 7 bits of "Least Significant Bits" precision for a total of 14 bits or a range of 0-16383 (although many manufacturers do not implement this increased resolution).
Some controller functions, such as pitch bend or key pressure, are special, with a dedicated MIDI data range of 16,384 steps. This higher resolution makes it possible to, for example, produce the illusion of a continuously sliding pitch, as in a violin's portamento, rather than a series of zippered steps such as a guitarist sliding fingers up the frets of the guitar's neck. At the MIDI message stream level, pitch bend and key velocity use different, dedicated messages (Polyphonic Key Pressure, Channel Pressure, or Pitch Bend Change) instead of the ordinary Control Change message. There is a trade-off, however: the pitch wheel and/or key pressure functions of a MIDI keyboard can, depending on the performance, generate large amounts of data which can in turn lead to a slowdown of data throughput on the MIDI connection. This can be remedied by using a sequencer to "thin" pitch-bend (or any other continuous controller) data down to only a limited number of messages per second, or down to only messages that change the controller value by at least a certain amount.
The original MIDI spec included approximately 120 virtual controller numbers for real time modifications to live instruments or their audio. MIDI Show Control
(MSC) and MIDI Machine Control
(MMC) are two separate extensions of the original MIDI spec, expanding the MIDI protocol to become far more than its original intent.
MIDI Manufacturers Association
The MIDI Manufacturers Association is an organization where companies work together to create the standards that assure compatibility among MIDI products. The MMA is a U.S. organization established in 1985 by the original developers of the MIDI 1.0 Specification in 1983. Since 1985 the MMA has...
(MMA) in the US and the Association of Musical Electronics Industry
Association of Musical Electronics Industry
The Association of Musical Electronics Industry is an organization where companies work together to create the standards that assure compatibility among electronic musical instruments, particularly MIDI products. The AMEI is a Japanese organization established in 1996.- External links :*...
(AMEI) in Japan. General MIDI
General MIDI
General MIDI or GM is a standardized specification for music synthesizers that respond to MIDI messages. GM was developed by the MIDI Manufacturers Association and the Japan MIDI Standards Committee and first published in 1991...
(GM) was an attempt by the MIDI Manufacturers' Association (MMA) to standardize an instrument programme number map.
Later, companies in Japan's AMEI developed General MIDI Level 2 (GM2), which extended the instrument palette, specified more message responses, and defined new messages. GM2 became the basis of the instrument selection mechanism in Scalable Polyphony MIDI (SP-MIDI), a MIDI variant for mobile applications. In addition to the original 31.25 kBaud current-loop, 5-pin DIN
DIN connector
A DIN connector is a connector that was originally standardized by the , the German national standards organization. There are DIN standards for a large number of different connectors, therefore the term "DIN connector" alone does not unambiguously identify any particular type of connector unless...
transport, transmission of MIDI streams over USB
Universal Serial Bus
USB is an industry standard developed in the mid-1990s that defines the cables, connectors and protocols used in a bus for connection, communication and power supply between computers and electronic devices....
, IEEE 1394 a.k.a FireWire, and Ethernet
Ethernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....
is now common. MIDI is also used every day as a control protocol in applications other than music, including for show control
Show control
Show control is the use of automation technology to link together and operate multiple entertainment control systems in a coordinated manner. It is distinguished from entertainment control , which coordinates elements within a single entertainment discipline such as lighting, sound, video, rigging...
and theatre lighting.
Extensions of the MIDI standard
Many extensions of the original official MIDI 1.0 specification have been jointly standardized by the MIDI Manufacturers AssociationMIDI Manufacturers Association
The MIDI Manufacturers Association is an organization where companies work together to create the standards that assure compatibility among MIDI products. The MMA is a U.S. organization established in 1985 by the original developers of the MIDI 1.0 Specification in 1983. Since 1985 the MMA has...
(MMA) in the US and the Association of Musical Electronics Industry
Association of Musical Electronics Industry
The Association of Musical Electronics Industry is an organization where companies work together to create the standards that assure compatibility among electronic musical instruments, particularly MIDI products. The AMEI is a Japanese organization established in 1996.- External links :*...
(AMEI) in Japan. Only a few of them are described here; for more comprehensive information, see the MMA web site.
General MIDI
The General MIDIGeneral MIDI
General MIDI or GM is a standardized specification for music synthesizers that respond to MIDI messages. GM was developed by the MIDI Manufacturers Association and the Japan MIDI Standards Committee and first published in 1991...
(GM) and General MIDI 2 (GM2) standards define a MIDI instrument's response to the receipt of a defined set of MIDI messages. As such, they allow a given, conformant MIDI stream to be played on any conformant instrument. Although dependent on the basic MIDI 1.0 specification, the GM and GM2 specifications are each separate from it. As such, it is not generally safe to assume that any given MIDI message stream or MIDI file is intended to drive GM-compliant or GM2-compliant MIDI instruments.
At heart, these specifications resolve certain ambiguities in the MIDI message protocol. In MIDI, instruments (one per channel) are selected by number (0-127), using the Program Change message. However, the basic MIDI 1.0 specification did not specify what instrument sound (piano, tuba, etc.) corresponds to each number. This was intentional, as MIDI originated as a professional music protocol, and in that context it is typical for a performer to assemble a custom palette of instruments appropriate for their particular repertoire, rather than taking a least-common-denominator approach.
Eventually interest developed in adapting MIDI as a consumer content format, and for computer multimedia applications. In this context, in order for MIDI file content to be portable, the instrument program numbers used must call up the same instrument sound on every player. General MIDI
General MIDI
General MIDI or GM is a standardized specification for music synthesizers that respond to MIDI messages. GM was developed by the MIDI Manufacturers Association and the Japan MIDI Standards Committee and first published in 1991...
(GM) was an attempt by the MIDI Manufacturers' Association (MMA) to resolve this problem by standardising an instrument programme number map, so that for example Program Change 1 always results in a piano sound on all GM-compliant players. GM also specified the response to certain other MIDI messages in a more controlled manner than the MIDI 1.0 specification. The GM spec is maintained and published by the MIDI Manufacturers' Association (MMA).
From a musical perspective, GM has a mixed reputation, mainly because of small or large audible differences in corresponding instrument sounds across player implementations, the limited size of the instrument palette (128 instruments), its lowest-common-denominator character, and the inability to add customised instruments to suit the needs of the particular piece. Yet the GM instrument set is still included in most MIDI instruments, and from a standardisation perspective GM has proven durable.
General Midi 1 was introduced in 1991.
General MIDI 2
Later, companies in Japan's AMEI developed General MIDI Level 2 (GM2), incorporating aspects of the Yamaha XG and Roland GS formats, extending the instrument palette, specifying more message responses in detail, and defining new messages for custom tuning scales and more. The GM2 specs are maintained and published by the MMA and AMEI.General MIDI 2 was introduced in 1999 and last amended in February 2007.
SP-MIDI
Later still, GM2 became the basis of the instrument selection mechanism in Scalable Polyphony MIDI (SP-MIDI), a MIDI variant for mobile applications where different players may have different numbers of musical voices. SP-MIDI is a component of the 3GPP mobile phone terminal multimedia architecture, starting from release 5.GM, GM2, and SP-MIDI are also the basis for selecting player-provided instruments in several of the MMA/AMEI XMF file formats (XMF Type 0, Type 1, and Mobile XMF), which allow extending the instrument palette with custom instruments in the Downloadable Sound (DLS) formats, addressing another major GM shortcoming.
Alternate Hardware Transports
In addition to the original 31.25 kBaud current-loop, 5-pin DINDIN connector
A DIN connector is a connector that was originally standardized by the , the German national standards organization. There are DIN standards for a large number of different connectors, therefore the term "DIN connector" alone does not unambiguously identify any particular type of connector unless...
transport, transmission of MIDI streams over USB
Universal Serial Bus
USB is an industry standard developed in the mid-1990s that defines the cables, connectors and protocols used in a bus for connection, communication and power supply between computers and electronic devices....
, IEEE 1394 a.k.a FireWire, and Ethernet
Ethernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....
is now common (see below).
MIDI over Ethernet
Compared to USB or FireWire, the EthernetEthernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....
implementation of MIDI provides network routing capabilities, which are extremely useful in studio or stage environements (USB and FireWire are restricted to connections between one computer and some devices and do not provide any routing capabilities).
Ethernet is moreover capable of providing the high-bandwidth channel that earlier alternatives to MIDI (such as ZIPI
ZIPI
Zeta Instrument Processor Interface was a research project initiated by Zeta Instruments and UC Berkeley's CNMAT...
) were intended to bring.
After the initial fight between different protocols (IEEE-P1639, MIDI-LAN, IETF RTP-MIDI), it appears that IETF's RTP MIDI specification for transport of MIDI streams over Ethernet
Ethernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....
and Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
is now spreading faster and faster since more and more manufacturer's are integrating RTP-MIDI in their products (Apple, CME, Kiss-Box, etc...). Mac OS X, Windows and Linux drivers are also available to make RTP MIDI devices appear as standard MIDI devices within these operating systems.
RTP-MIDI Transport Protocol
The RTP-MIDI protocol has been officially released first in public domain by IETF in December 2006 (RFC 4695). It was obsoleted by RFC 6295 in June 2011, which fixes errors of the old RFC. RTP-MIDI relies on the well-known RTPReal-time Transport Protocol
The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...
(Real Time Protocol) layer (most often running over UDP
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...
, but compatible with TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
also), widely used for real-time audio and video streaming over networks.
RTP
Real-time Transport Protocol
The Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...
layer is extremely easy to implement and requires very little power from microprocessors, while providing very useful information to the receiver (network latency, loss of packets, reordered packets, etc...). RTP-MIDI defines a specific payload type, that allows the receiver to identify MIDI streams.
RTP-MIDI does not alter the MIDI messages in any way (all messages defined in the MIDI norm are transported transparently over the network), but it adds some specific functionalities, like timestamping and sysex fragmentation. RTP-MIDI also adds a very powerful mechanism, named journaling, that allows the receiver to detect the loss of MIDI messages in the network, but also to retrieve lost information.
The first part of the RTP-MIDI specification is mandatory and describes how MIDI messages are encapsulated within the RTP telegram. It also describes how the journaling system is working. It must be noted that the use of the journaling system is not mandatory (journaling is not very useful for LAN applications, but it is very important for WAN applications).
The second part of RTP-MIDI specification describes the session control mechanisms that allow multiple stations to synchronize across the network to exchange RTP-MIDI telegrams. This part is informational only, and it is not required that all RTP-MIDI implementations use the described mechanisms.
RTP-MIDI is included in Apple's Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
since 10.4 and iOS since 4.2, as standard MIDI ports (the RTP-MIDI ports appear in Macintosh applications as any other USB or FireWire port. Thus, any MIDI application running on Mac OS X is able to use the RTP-MIDI capabilities in a transparent way). However, Apple's developers have considered that the session control protocol described in IETF's specification was by far too complex, and they created their own session control protocol. Since the session protocol uses a different UDP port of the main RTP-MIDI stream port, the two protocols do not interfere (so the RTP-MIDI implementation in Mac OS X fully complies to the IETF specification).
Apple's implementation has been used as reference by other MIDI manufacturers. A Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
XP RTP-MIDI driver specifically for their own devices has also been released by the Dutch company Kiss-Box, another Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
RTP-MIDI driver compatible to Windows XP up to Windows 7 (32bit and 64bit) has also been released and a Linux implementation is currently under development by the Grame association.
It is then quite probable that Apple's implementation will become the "de-facto" standard (and could even become the MMA reference implementation).
[1] IETF RTP-MIDI specification RFC 4695
[2] Windows XP RTP-MIDI driver download http://www.kiss-box.com
[3] Grame's website http://www.grame.fr
Alternate Tunings
By convention, instruments that receive MIDI generally use the conventional 12-pitch per octave equal temperament tuning system. Unfortunately this tuning system makes many types of music inaccessible because the music depends on a different intonation system. To address this issue in a standardized manner, in 1992 the MMA ratified the MIDI Tuning StandardMIDI Tuning Standard
MIDI Tuning Standard is a specification of precise musical pitch agreed to by the MIDI Manufacturers Association in the MIDI protocol. MTS allows for both a bulk tuning dump message, giving a tuning for each of 128 notes, and a tuning message for individual notes as they are played.-Frequency...
, or MTS. This standard allows MIDI instruments that support MTS to be tuned in any way desired, through the use of a MIDI Non-Real Time System Exclusive message.
MTS uses three bytes, which can be thought of as a three-digit number base 128, to specify a pitch in logarithmic form. The following formula gives the byte values needed to encode a given frequency in hertz:
For a note in A440 equal temperament, this formula delivers the standard MIDI note number. Any other frequencies fill the space evenly.
While support for MTS is not particularly widespread in commercial hardware instruments, it is nonetheless supported by some instruments and software, for example the free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
programs TiMidity
TiMidity
TiMidity++, originally and still frequently informally called TiMidity, is a software synthesizer that can play MIDI files without a hardware synthesizer...
and Scala
Scala (program)
Scala is a freeware software application with versions supporting Windows, Mac OS X, and Linux. It allows users to create and archive musical scales, analyze and transform them with built-in theoretical tools, play them with an on-screen keyboard or from an external MIDI keyboard, and export them...
, as well as other microtuner
Microtuner
A microtuner or microtonal tuner is an electronic device or software program designed to modify and test the tuning of musical instruments with microtonal precision, allowing for the design and construction of microtonal scales and just intonation scales, and for tuning intervals that differ from...
s.
Other applications of MIDI
MIDI is also used every day as a control protocol in applications other than music, including:- show controlShow controlShow control is the use of automation technology to link together and operate multiple entertainment control systems in a coordinated manner. It is distinguished from entertainment control , which coordinates elements within a single entertainment discipline such as lighting, sound, video, rigging...
- theatre lighting
- special effects
- sound designSound designSound design is the process of specifying, acquiring, manipulating or generating audio elements. It is employed in a variety of disciplines including filmmaking, television production, theatre, sound recording and reproduction, live performance, sound art, post-production and video game software...
- Console automationConsole automationModern digital audio consoles or mixers use automation. Automation allows the console to remember the audio engineer's adjustment of faders during the post-production editing process. A timecode is necessary for synchronization of automation.- Types of Automation :...
- recording system synchronization
- audio processor control
- computerComputer animationComputer animation is the process used for generating animated images by using computer graphics. The more general term computer generated imagery encompasses both static scenes and dynamic images, while computer animation only refers to moving images....
animationAnimusicAnimusic is an American company specializing in the 3D visualization of MIDI-based music. Founded by Wayne Lytle, it is incorporated in New York and has offices in Texas and California... - computer networking, as demonstrated by the early first-person shooterFirst-person shooterFirst-person shooter is a video game genre that centers the gameplay on gun and projectile weapon-based combat through first-person perspective; i.e., the player experiences the action through the eyes of a protagonist. Generally speaking, the first-person shooter shares common traits with other...
game MIDI MazeMIDI MazeMIDI Maze is an early first person shooter maze video game for the Atari ST developed by Xanth Software F/X, published by Hybrid Arts, and released around 1987. It owes a significant debt to what may be the first of its genre, Maze War...
, 1987 - animatronic figure control
Such non-musical applications of MIDI are possible because any device built with a standard MIDI Out connector should in theory be able to control any other device with a MIDI In port, just as long as the developers of both devices have the same understanding about the semantic meaning of all the MIDI messages the sending device emits. This agreement can come either because both follow the published MIDI specifications, or else in the case of any non-standard functionality, because the message meanings are agreed upon by the two manufacturers.
MIDI controllers which are hardware and software
Note: The term MIDI controller is used in two different ways.
(1) In one sense, a MIDI controller is a hardware or software entity able to transmit MIDI messages via a MIDI Out connector to other devices with MIDI In connectors.
(2) In the other (more technical) sense, a MIDI controller is any parameter in a device with a MIDI In connector that can be set with the MIDI Control Change message. For example, a synthesizer may use controller number 18 for a low-pass filter's frequency; to open and close that filter with a physical slider, a user would assign the slider to transmit controller number 18. Then, all changes in the slider position will be transmitted as MIDI Control Change messages with the controller number field set to 18; when the synthesizer receives the messages, the filter frequency will change accordingly.
The following are classes of MIDI controller (using definition 1 above):
- The human interface component of a traditional instrument redesigned as a MIDI input device. The most common type of device in this class is the keyboard controller. Such a device provides a musical keyboardMusical keyboardA musical keyboard is the set of adjacent depressible levers or keys on a musical instrument, particularly the piano. Keyboards typically contain keys for playing the twelve notes of the Western musical scale, with a combination of larger, longer keys and smaller, shorter keys that repeats at the...
and perhaps other actuators (pitch bend and modulation wheels, for example) but produces no sound on its own. It is intended only to drive other MIDI devices. Percussion controllers such as the Roland OctapadRoland Octapadrolando sir is a range of MIDI percussion controllers produced by the Roland Corporation.-Roland Pad-8:The first model, introduced in 1985, was the Pad-8. It was a very important device at that time, allowing drummers and percussionists the opportunity to trigger virtually any MIDI sound source...
fall into this class, as do guitar-like controllers such as the SynthAxeSynthAxeThe SynthAxe is a fretted, guitar-like MIDI controller, created by Bill Aitken, Mike Dixon, and Tony Sedivy and manufactured in England in the middle to late 1980s. It is a musical instrument that uses electronic synthesizers to produce sound and is controlled through the use of an arm resembling...
and a variety of wind controllers.
- Electronic musical instrumentElectronic musical instrumentAn electronic musical instrument is a musical instrument that produces its sounds using electronics. Such an instrument sounds by outputting an electrical audio signal that ultimately drives a loudspeaker....
s, including synthesizerSynthesizerA synthesizer is an electronic instrument capable of producing sounds by generating electrical signals of different frequencies. These electrical signals are played through a loudspeaker or set of headphones...
s, samplerSampler (musical instrument)A sampler is an electronic musical instrument similar in some respects to a synthesizer but, instead of generating sounds, it uses recordings of sounds that are loaded or recorded into it by the user and then played back by means of a keyboard, sequencer or other triggering device to perform or...
s, drum machineDrum machineA drum machine is an electronic musical instrument designed to imitate the sound of drums or other percussion instruments. They are used in a variety of musical genres, not just purely electronic music...
s, and electronic drumElectronic drumAn electronic drum is an electronic synthesizer which mimics an acoustic drum kit.The electronic drum usually consists of a set of pads mounted on a stand in a disposition similar to an acoustic drum kit. The pads are discs with a rubber or cloth-like coating. Each pad has a sensor which generates...
s, which are used to perform music in real time and are inherently able to transmit a MIDI data stream of the performance.
- Pitch-to-MIDI converters including guitar/synthesizerGuitar/synthesizerA guitar synthesizer is any one of a number of musical instrument systems that allow a guitar player to play synthesizer sound. While the term "MIDI guitar" is often used as a synonym for the field of guitar/synthesis or for a guitar/synthesizer, MIDI is not always used...
s analyze a pitch and convert it into a MIDI signal. There are several devices which do this for the human voice and for monophonic instruments such as flutes, for example.
- Traditional instruments such as drumDrum kitA drum kit is a collection of drums, cymbals and often other percussion instruments, such as cowbells, wood blocks, triangles, chimes, or tambourines, arranged for convenient playing by a single person ....
s, pianoPianoThe piano is a musical instrument played by means of a keyboard. It is one of the most popular instruments in the world. Widely used in classical and jazz music for solo performances, ensemble use, chamber music and accompaniment, the piano is also very popular as an aid to composing and rehearsal...
s, and accordionAccordionThe accordion is a box-shaped musical instrument of the bellows-driven free-reed aerophone family, sometimes referred to as a squeezebox. A person who plays the accordion is called an accordionist....
s which are outfitted with sensors and a computer which accepts input from the sensors and transmits real-time performance information as MIDI data.
- SequencerMusic sequencerThe music sequencer is a device or computer software to record, edit, play back the music, by handling note and performance information in several forms, typically :...
s, which store and retrieve MIDI data and send the data to MIDI enabled instruments in order to reproduce a performance.
- The MIDI Show ControlMIDI Show ControlMIDI Show Control, or MSC, is a significant Real Time System Exclusive extension of the international Musical Instrument Digital Interface standard...
(MSC) protocol (in the Real Time System Exclusive subset) is an industry standard ratified by the MIDI Manufacturers AssociationMIDI Manufacturers AssociationThe MIDI Manufacturers Association is an organization where companies work together to create the standards that assure compatibility among MIDI products. The MMA is a U.S. organization established in 1985 by the original developers of the MIDI 1.0 Specification in 1983. Since 1985 the MMA has...
in 1991 which allows all types of media control devices to talk with each other and with computers to perform show controlShow controlShow control is the use of automation technology to link together and operate multiple entertainment control systems in a coordinated manner. It is distinguished from entertainment control , which coordinates elements within a single entertainment discipline such as lighting, sound, video, rigging...
functions in live and canned entertainmentEntertainmentEntertainment consists of any activity which provides a diversion or permits people to amuse themselves in their leisure time. Entertainment is generally passive, such as watching opera or a movie. Active forms of amusement, such as sports, are more often considered to be recreation...
applications. Just like musical MIDI (above), MSC does not transmit the actual show media — it simply transmits digital data providing information such as the type, timing and numbering of technical cues called during a multimediaMultimediaMultimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
or live theatreTheatreTheatre is a collaborative form of fine art that uses live performers to present the experience of a real or imagined event before a live audience in a specific place. The performers may communicate this experience to the audience through combinations of gesture, speech, song, music or dance...
performance.
- MIDI Machine ControlMIDI Machine ControlMIDI Machine Control, or MMC, a subset of the MIDI specification, provides specific commands for controlling recording equipment such as multi-track recorders....
(MMC) devices such as recording equipment, which transmit messages to aid in the synchronization of MIDI-enabled devices. For example, a recorder may have a feature to index a recording by measure and beat. The sequencer that it controls would stay synchronized with it as the recorder's transport controls are pushed and corresponding MIDI messages transmitted.
MIDI controllers in the data stream
Note: The term MIDI controller is used in two different ways.
(1) In one sense, a MIDI controller is a hardware or software entity able to transmit MIDI messages via a MIDI Out connector to other devices with MIDI In connectors.
(2) In the other (more technical) sense, a MIDI controller is any parameter in a device with a MIDI In connector that can be set with the MIDI Control Change message. For example, a synthesizer may use controller number 18 for a low-pass filter's frequency; to open and close that filter with a physical slider, a user would assign the slider to transmit controller number 18.
This section uses the second definition of "MIDI controller".
Performance modifier controls such as modulation wheels, pitch bend wheels, sustain pedals, pitch sliders, buttons, knobs, faders, switches, ribbon controllers, etc., can alter an instrument's state of operation, and thus can be used to modify sounds or other parameters of music performance. Because MIDI includes messages for representing such controller events, they can be sent in real time over MIDI connections. MIDI makes approximately 120 virtual controller numbers (addresses) available for this purpose, i.e. connecting the actual buttons, knobs, wheels, sliders, etc. with their intended actions within the receiving device. In MIDI, the value data range of the Control Change message is 128 steps (0 to 127), and the first 32 controller numbers (including, for example, Volume) are allocated an additional 7 bits of "Least Significant Bits" precision for a total of 14 bits or a range of 0-16383 (although many manufacturers do not implement this increased resolution).
Some controller functions, such as pitch bend or key pressure, are special, with a dedicated MIDI data range of 16,384 steps. This higher resolution makes it possible to, for example, produce the illusion of a continuously sliding pitch, as in a violin's portamento, rather than a series of zippered steps such as a guitarist sliding fingers up the frets of the guitar's neck. At the MIDI message stream level, pitch bend and key velocity use different, dedicated messages (Polyphonic Key Pressure, Channel Pressure, or Pitch Bend Change) instead of the ordinary Control Change message. There is a trade-off, however: the pitch wheel and/or key pressure functions of a MIDI keyboard can, depending on the performance, generate large amounts of data which can in turn lead to a slowdown of data throughput on the MIDI connection. This can be remedied by using a sequencer to "thin" pitch-bend (or any other continuous controller) data down to only a limited number of messages per second, or down to only messages that change the controller value by at least a certain amount.
The original MIDI spec included approximately 120 virtual controller numbers for real time modifications to live instruments or their audio. MIDI Show Control
MIDI Show Control
MIDI Show Control, or MSC, is a significant Real Time System Exclusive extension of the international Musical Instrument Digital Interface standard...
(MSC) and MIDI Machine Control
MIDI Machine Control
MIDI Machine Control, or MMC, a subset of the MIDI specification, provides specific commands for controlling recording equipment such as multi-track recorders....
(MMC) are two separate extensions of the original MIDI spec, expanding the MIDI protocol to become far more than its original intent.