MIDI

Sorry, your browser either has JavaScript disabled or does not have any supported player.
You can download the clip or download a player to play the clip in your browser.

Example of music created in MIDI format

MIDI allows multiple instruments to be played from a single controller, which makes stage setups much more portable. This system fits into a single rack case, but prior to the advent of MIDI would have required four separate keyboard instruments, plus outboard mixing and effects.

MIDI carries event messages that specify notation, pitch and velocity, control signals for parameters such as volume, vibrato, audio panning, cues, and clock signals that set and synchronize tempo between multiple devices. These messages are sent to other devices where they control sound generation and other features. This data can also be recorded into a hardware or software device called a sequencer, which can be used to edit the data and to play it back at a later time.[2]:4

By the end of the 1970s, electronic musical devices were becoming increasingly common and affordable in North America, Europe and Japan. Early analog synthesizers were usually monophonic, and controlled via a voltage produced by their keyboards. Manufacturers used this voltage to link instruments together so that one device could control one or more others, but this system was inadequate for control of newer polyphonic and digital synthesizers.[2]:3 Some manufacturers created systems that allowed their own equipment to interconnect, but the systems were incompatible, so one manufacturer's systems could not synchronize with those of another.[2]:4

MIDI's appeal was originally limited to those who wanted to use electronic instruments in the production of popular music. The standard allowed different instruments to speak with each other and with computers, and this spurred a rapid expansion of the sales and production of electronic instruments and music software.[4]:21 This intercompatibility allowed one device to be controlled from another, which rid musicians of the need for excessive hardware.[7] MIDI's introduction coincided with the dawn of the personal computer era and the introductions of samplers, whose ability to play back prerecorded sounds allowed stage performances to include effects that previously were unobtainable outside the studio, and digital synthesizers, which allowed pre-programmed sounds to be stored and recalled with the press of a button.[8] The creative possibilities brought about by MIDI technology have been credited as having helped to revive the music industry in the 1980s.[9]

MIDI introduced many capabilities which transformed the way musicians work. MIDI sequencing makes it possible for a user with no notation skills to build complex arrangements.[10] A musical act with as few as one or two members, each operating multiple MIDI-enabled devices, can deliver a performance which sounds similar to that of a much larger group of musicians.[11] The expense of hiring outside musicians for a project can be reduced or eliminated,[2]:7 and complex productions can be realized on a system as small as a single MIDI workstation, a synthesizer with integrated keyboard and sequencer. Professional musicians can do this in an environment such as a home recording space, without the need to rent a professional recording studio and staff. By performing preproduction in such an environment, an artist can reduce recording costs by arriving at a recording studio with a work that is already partially completed. Rhythm and background parts can be sequenced in advance, and then played back onstage.[2]:7–8 Performances require less haulage and set-up/tear-down time, due to the reduced amount and variety of equipment and associated connections necessary to produce a variety of sounds.[citation needed]Educational technology enabled by MIDI has transformed music education.[12]

MIDI was invented so that musical instruments could communicate with each other and so that one instrument can control another. Analog synthesizers that have no digital component and were built prior to MIDI's development can be retrofit with kits that convert MIDI messages into analog control voltages.[5]:277 When a note is played on a MIDI instrument, it generates a digital signal that can be used to trigger a note on another instrument.[2]:20 The capability for remote control allows full-sized instruments to be replaced with smaller sound modules, and allows musicians to combine instruments to achieve a fuller sound, or to create combinations such as acoustic piano and strings.[14] MIDI also enables other instrument parameters to be controlled remotely. Synthesizers and samplers contain various tools for shaping a sound. Filters adjust timbre, and envelopes automate the way a sound evolves over time.[15] The frequency of a filter and the envelope attack, or the time it takes for a sound to reach its maximum level, are examples of synthesizer parameters, and can be controlled remotely through MIDI. Effects devices have different parameters, such as delay feedback or reverb time. When a MIDI continuous controller number is assigned to one of these parameters, the device will respond to any messages it receives that are identified by that number. Controls such as knobs, switches, and pedals can be used to send these messages. A set of adjusted parameters can be saved to a device's internal memory as a "patch", and these patches can be remotely selected by MIDI program changes. The MIDI standard allows selection of 128 different programs, but devices can provide more by arranging their patches into banks of 128 programs each, and combining a program change message with a bank select message.[16]

MIDI events can be sequenced with computer software, or in specialized hardware music workstations. Many digital audio workstations (DAWs) are specifically designed to work with MIDI as an integral component. MIDI piano rolls have been developed in many DAWs so that the recorded MIDI messages can be extensively modified.[17][better source needed] These tools allow composers to audition and edit their work much more quickly and efficiently than did older solutions, such as multitrack recording. They improve the efficiency of composers who lack strong pianistic abilities, and allow untrained individuals the opportunity to create polished arrangements.[18]:67–8,72

Because MIDI is a set of commands that create sound, MIDI sequences can be manipulated in ways that prerecorded audio cannot. It is possible to change the key, instrumentation or tempo of a MIDI arrangement,[19]:227 and to reorder its individual sections.[20] The ability to compose ideas and quickly hear them played back enables composers to experiment.[18]:175 Algorithmic composition programs provide computer-generated performances that can be used as song ideas or accompaniment.[2]:122

Some composers may take advantage of MIDI 1.0 and General MIDI (GM) technology to allow musical data files to be shared among various electronic instruments by using a standard, portable set of commands and parameters. The data composed via the sequenced MIDI recordings can be saved as a Standard MIDI File (SMF), digitally distributed, and reproduced by any computer or electronic instrument that also adheres to the same MIDI, GM, and SMF standards. MIDI data files are much smaller than recorded audio files.

At the time of MIDI's introduction, the computing industry was mainly devoted to mainframe computers, and personal computers were not commonly owned. The personal computer market stabilized at the same time that MIDI appeared, and computers became a viable option for music production.[5]:324 In the years immediately after the 1983 ratification of the MIDI specification, MIDI features were adapted to several early computer platforms, including Apple II Plus, IIe and Macintosh, Commodore 64 and Amiga, Atari ST, Acorn Archimedes, and PC DOS.[5]:325–7 The Macintosh was the favorite among US musicians, as it was marketed at a competitive price, and would be several years before PC systems would catch up to its efficiency and graphical interface[citation needed]. The Atari ST was favored in Europe, where Macintoshes were more expensive.[5]:324–5, 331 Apple computers included audio hardware that was more advanced than that of their competitors. The Apple IIGS used a digital sound chip designed for the Ensoniq Mirage synthesizer, and later models used a custom sound system and upgraded processors, which drove other companies to improve their own offerings.[5]:326,328 The Atari ST was favored for its MIDI ports that were built directly into the computer.[5]:329 Most music software in MIDI's first decade was published for either the Apple or the Atari.[5]:335 By the time of Windows 3.0's 1990 release, PCs had caught up in processing power and had acquired a graphical interface,[5]:325 and software titles began to see release on multiple platforms.[5]:335

The Standard MIDI File (SMF) is a file format that provides a standardized way for sequences to be saved, transported, and opened in other systems. The compact size of these files has led to their widespread use in computers, mobile phone ringtones, webpage authoring and greeting cards. They are intended for universal use, and include such information as note values, timing and track names. Lyrics may be included as metadata, and can be displayed by karaoke machines.[21] The SMF specification was developed and is maintained by the MMA. SMFs are created as an export format of software sequencers or hardware workstations. They organize MIDI messages into one or more parallel tracks, and timestamp the events so that they can be played back in sequence. A header contains the arrangement's track count, tempo and which of three SMF formats the file is in. A type 0 file contains the entire performance, merged onto a single track, while type 1 files may contain any number of tracks that are performed in synchrony. Type 2 files are rarely used[22] and store multiple arrangements, with each arrangement having its own track and intended to be played in sequence. Microsoft Windows bundles SMFs together with Downloadable Sounds (DLS) in a Resource Interchange File Format (RIFF) wrapper, as RMID files with a .rmi extension. RIFF-RMID has been deprecated in favor of Extensible Music Files (XMF).[23]

A MIDI file is not a recording of actual music. Rather, it is a spreadsheet-like set of instructions, and can use a thousand times less disk space than the equivalent recorded audio.[24] This made MIDI file arrangements an attractive way to share music, before the advent of broadband internet access and multi-gigabyte hard drives. Licensed MIDI files on floppy disks were commonly available in stores in Europe and Japan during the 1990s.[25] The major drawback to this is the wide variation in quality of users' audio cards, and in the actual audio contained as samples or synthesized sound in the card that the MIDI data only refers to symbolically. Even a sound card that contains high-quality sampled sounds can have inconsistent quality from one instrument to another,[24] while different model cards have no guarantee of consistent sound of the same instrument. Early budget cards, such as the AdLib and the Sound Blaster and its compatibles, used a stripped-down version of Yamaha's frequency modulation synthesis (FM synthesis) technology[26] played back through low-quality digital-to-analog converters. The low-fidelity reproduction[24] of these ubiquitous[26] cards was often assumed to somehow be a property of MIDI itself. This created a perception of MIDI as low-quality audio, while in reality MIDI itself contains no sound,[27] and the quality of its playback depends entirely on the quality of the sound-producing device (and of samples in the device).[19]:227

The main advantage of the personal computer in a MIDI system is that it can serve a number of different purposes, depending on the software that is loaded.[2]:55Multitasking allows simultaneous operation of programs that may be able to share data with each other.[2]:65

Sequencing software provides a number of benefits to a composer or arranger. It allows recorded MIDI to be manipulated using standard computer editing features such as cut, copy and paste and drag and drop. Keyboard shortcuts can be used to streamline workflow, and editing functions are often selectable via MIDI commands. The sequencer allows each channel to be set to play a different sound, and gives a graphical overview of the arrangement. A variety of editing tools are made available, including a notation display that can be used to create printed parts for musicians. Tools such as looping, quantization, randomization, and transposition simplify the arranging process. Beat creation is simplified, and groove templates can be used to duplicate another track's rhythmic feel. Realistic expression can be added through the manipulation of real-time controllers. Mixing can be performed, and MIDI can be synchronized with recorded audio and video tracks. Work can be saved, and transported between different computers or studios.[28][29]:164–6

Sequencers may take alternate forms, such as drum pattern editors that allow users to create beats by clicking on pattern grids,[2]:118 and loop sequencers such as ACID Pro, which allow MIDI to be combined with prerecorded audio loops whose tempos and keys are matched to each other. Cue list sequencing is used to trigger dialogue, sound effect, and music cues in stage and broadcast production.[2]:121

With MIDI, notes played on a keyboard can automatically be transcribed to sheet music.[4]:213Scorewriting, or notation software typically lacks advanced sequencing tools, and is optimized for the creation of a neat, professional printout designed for live instrumentalists.[29]:157 These programs provide support for dynamics and expression markings, chord and lyric display, and complex score styles.[29]:167 Software is available that can print scores in braille.[30]

DoReMIR Music Research's ScoreCloud is widely recognised as the best tool for real time transcription from MIDI to scores.[31]

Prominent notation programs include Finale, published by MakeMusic, and Encore, originally published by Passport Designs Inc., but now by GVOX. Sibelius, originally created for RISC-based Acorn computers, was so well-regarded that, before Windows and Macintosh versions were available, composers would purchase Acorns for the sole purpose of using Sibelius.[33]

Patch editors allow users to program their equipment through the computer interface. These became essential with the appearance of complex synthesizers such as the Yamaha FS1R,[34] which contained several thousand programmable parameters, but had an interface that consisted of fifteen tiny buttons, four knobs and a small LCD.[35] Digital instruments typically discourage users from experimentation, due to their lack of the feedback and direct control that switches and knobs would provide,[36]:393 but patch editors give owners of hardware instruments and effects devices the same editing functionality that is available to users of software synthesizers.[37] Some editors are designed for a specific instrument or effects device, while other, "universal" editors support a variety of equipment, and ideally can control the parameters of every device in a setup through the use of System Exclusive commands.[2]:129

Patch librarians have the specialized function of organizing the sounds in a collection of equipment, and allow transmission of entire banks of sounds between an instrument and a computer. This allows the user to augment the device's limited patch storage with a computer's much greater disk capacity,[2]:133 and to share custom patches with other owners of the same instrument.[38] Universal editor/librarians that combine the two functions were once common, and included Opcode Systems' Galaxy and eMagic's SoundDiver. These programs have been largely abandoned with the trend toward computer-based synthesis, although Mark of the Unicorn's (MOTU)'s Unisyn and Sound Quest's Midi Quest remain available. Native Instruments' Kore was an effort to bring the editor/librarian concept into the age of software instruments.[39]

Programs that can dynamically generate accompaniment tracks are called "auto-accompaniment" programs. These create a full band arrangement in a style that the user selects, and send the result to a MIDI sound generating device for playback. The generated tracks can be used as educational or practice tools, as accompaniment for live performances, or as a songwriting aid. Examples include Band-in-a-Box,[40]:42 which originated on the Atari platform in the 1980s, One Man Band,[41] Busker,[42] MiBAC Jazz, SoundTrek JAMMER[43] and DigiBand.[44]

Computers can use software to generate sounds, which are then passed through a digital-to-analog converter (DAC) to a loudspeaker system.[4]:213 Polyphony, the number of sounds that can be played simultaneously, is dependent on the power of the computer's Central Processing Unit, as are the sample rate and bit depth of playback, which directly affect the quality of the sound.[45] Synthesizers implemented in software are subject to timing issues that are not present with hardware instruments, whose dedicated operating systems are not subject to interruption from background tasks as desktop operating systems are. These timing issues can cause distortion as recorded tracks lose synchronization with each other, and clicks and pops when sample playback is interrupted. Software synthesizers also exhibit a noticeable delay in their sound generation, because computers use an audio buffer that delays playback and disrupts MIDI timing.[46]

Software synthesis' roots go back as far as the 1950s, when Max Mathews of Bell Labs wrote the MUSIC-N programming language, which was capable of non-real-time sound generation.[47] The first synthesizer to run directly on a host computer's CPU[48] was Reality, by Dave Smith's Seer Systems, which achieved a low latency through tight driver integration, and therefore could run only on Creative Labs soundcards.[49] Some systems use dedicated hardware to reduce the load on the host CPU, as with Symbolic Sound Corporation's Kyma System,[47] and the Creamware/Sonic Core Pulsar/SCOPE systems,[50] which used several DSP chips hosted on a PCI card to power an entire studio's worth of instruments, effects, and mixers.[51]

The ability to construct full MIDI arrangements entirely in computer software allows a composer to render a finalized result directly as an audio file.[14]

Early PC games were distributed on floppy disks, and the small size of MIDI files made them a viable means of providing soundtracks. Games of the DOS and early Windows eras typically required compatibility with either Ad Lib or SoundBlaster audio cards. These cards used FM synthesis, which generates sound through modulation of sine waves. John Chowning, the technique's pioneer, theorized that the technology would be capable of accurate recreation of any sound if enough sine waves were used, but budget computer audio cards performed FM synthesis with only two sine waves. Combined with the cards' 8-bit audio, this resulted in a sound described as "artificial"[52] and "primitive".[53] Wavetable daughterboards that were later available provided audio samples that could be used in place of the FM sound. These were expensive, but often used the sounds from respected MIDI instruments such as the E-mu Proteus.[53] The computer industry moved in the mid-1990s toward wavetable-based soundcards with 16-bit playback, but standardized on a 2MB ROM, a space too small in which to fit good-quality samples of 128 instruments plus drum kits. Some manufacturers used 12-bit samples, and padded those to 16 bits.[54]

MIDI has been adopted as a control protocol in a number of non-musical applications. MIDI Show Control uses MIDI commands to direct stage lighting systems and to trigger cued events in theatrical productions. VJs and turntablists use it to cue clips, and to synchronize equipment, and recording systems use it for synchronization and automation. Apple Motion allows control of animation parameters through MIDI. The 1987 first-person shooter game MIDI Maze and the 1990 Atari STcomputer puzzle gameOxyd used MIDI to network computers together, and kits are available that allow MIDI control over home lighting and appliances.[55]

Despite its association with music devices, MIDI can control any device that can read and process a MIDI command. It is therefore possible to send a spacecraft from earth to another destination in space, control home lighting, heating and air conditioning and even sequence traffic light signals all through MIDI commands. The receiving device or object would require a General MIDI processor, however in this instance, the program changes would trigger a function on that device rather than notes from MIDI instrument. Each function can be set to a timer (also controlled by MIDI) or other condition determined by the devices creator.

The cables terminate in a 180° five-pin DIN connector. Standard applications use only three of the five conductors: a ground wire, and a balanced pair of conductors that carry a +5 volt signal.[40]:41 This connector configuration can only carry messages in one direction, so a second cable is necessary for two-way communication.[2]:13 Some proprietary applications, such as phantom-powered footswitch controllers, use the spare pins for direct current (DC) power transmission.[56]

Opto-isolators keep MIDI devices electrically separated from their connectors, which prevents the occurrence of ground loops[57]:63 and protects equipment from voltage spikes.[5]:277 There is no error detection capability in MIDI, so the maximum cable length is set at 15 meters (50 feet) in order to limit interference.[58]

A MIDI connector, showing the pins as numbered.

Most devices do not copy messages from their input to their output port. A third type of port, the "thru" port, emits a copy of everything received at the input port, allowing data to be forwarded to another instrument[5]:278 in a "daisy chain" arrangement.[59] Not all devices contain thru ports, and devices that lack the ability to generate MIDI data, such as effects units and sound modules, may not include out ports.[36]:384

Each device in a daisy chain adds delay to the system. This is avoided with a MIDI thru box, which contains several outputs that provide an exact copy of the box's input signal. A MIDI merger is able to combine the input from multiple devices into a single stream, and allows multiple controllers to be connected to a single device. A MIDI switcher allows switching between multiple devices, and eliminates the need to physically repatch cables. MIDI patch bays combine all of these functions. They contain multiple inputs and outputs, and allow any combination of input channels to be routed to any combination of output channels. Routing setups can be created using computer software, stored in memory, and selected by MIDI program change commands.[2]:47–50 This enables the devices to function as standalone MIDI routers in situations where no computer is present.[2]:62–3 MIDI patch bays also clean up any skewing of MIDI data bits that occurs at the input stage.

MIDI data processors are used for utility tasks and special effects. These include MIDI filters, which remove unwanted MIDI data from the stream, and MIDI delays, effects which send a repeated copy of the input data at a set time.[2]:51

A computer MIDI interface's main function is to match clock speeds between the MIDI device and the computer.[59] Some computer sound cards include a standard MIDI connector, whereas others connect by any of various means that include the D-subminiature DA-15 game port, USB, FireWire, Ethernet or a proprietary connection. The increasing use of USB connectors in the 2000s has led to the availability of MIDI-to-USB data interfaces that can transfer MIDI channels to USB-equipped computers. Some MIDI keyboard controllers are equipped with USB jacks, and can be plugged into computers that run music software.

MIDI's serial transmission leads to timing problems. Experienced musicians can detect time differences of as small as 1/3 of a millisecond (ms)[citation needed] (which is how long it takes sound to travel 4 inches), and a three-byte MIDI message requires nearly 1ms for transmission.[60] Because MIDI is serial, it can only send one event at a time. If an event is sent on two channels at once, the event on the higher-numbered channel cannot transmit until the first one is finished, and so is delayed by 1ms. If an event is sent on all channels at the same time, the highest-numbered channel's transmission will be delayed by as much as 16ms. This contributed to the rise of MIDI interfaces with multiple in- and out-ports, because timing improves when events are spread between multiple ports as opposed to multiple channels on the same port.[46] The term "MIDI slop" refers to audible timing errors that result when MIDI transmission is delayed.[61]

There are two types of MIDI controllers: performance controllers that generate notes and are used to perform music,[62] and controllers which may not send notes, but transmit other types of real-time events. Many devices are some combination of the two types.

Two-octave MIDI controllers are popular for use with laptop computers, due to their portability. This unit provides a variety of real-time controllers, which can manipulate various sound design parameters of computer-based or standalone hardware instruments, effects, mixers and recording devices.

MIDI was designed with keyboards in mind, and any controller that is not a keyboard is considered an "alternative" controller.[63] This was seen as a limitation by composers who were not interested in keyboard-based music, but the standard proved flexible, and MIDI compatibility was introduced to other types of controllers, including guitars, wind instruments and drum machines.[4]:23

Keyboards are by far the most common type of MIDI controller.[38] These are available in sizes that range from 25-key, 2-octave models, to full-sized 88-key instruments. Some are keyboard-only controllers, though many include other real-time controllers such as sliders, knobs, and wheels.[64] Commonly, there are also connections for sustain and expression pedals. Most keyboard controllers offer the ability to split the playing area into "zones", which can be of any desired size and can overlap with each other. Each zone can respond to a different MIDI channel and a different set of performance controllers, and can be set to play any desired range of notes. This allows a single playing surface to target a number of different devices.[2]:79–80 MIDI capabilities can also be built into traditional keyboard instruments, such as grand pianos[2]:82 and Rhodes pianos.[65]Pedal keyboards can operate the pedal tones of a MIDI organ, or can drive a bass synthesizer such as the revived Moog Taurus.

MIDI wind controllers can produce expressive, natural-sounding performances in a way that is difficult to achieve with keyboard controllers.

Wind controllers allow MIDI parts to be played with the same kind of expression and articulation that is available to players of wind and brass instruments. They allow breath and pitch glide control that provide a more versatile kind of phrasing, particularly when playing sampled or physically modeled wind instrument parts.[2]:95 A typical wind controller has a sensor that converts breath pressure to volume information, and may allow pitch control through a lip pressure sensor and a pitch-bend wheel. Some models include a configurable key layout that can emulate different instruments' fingering systems.[66] Examples of such controllers include Akai's Electronic Wind Instrument (EWI) and Electronic Valve Instrument (EVI). The EWI uses a system of keypads and rollers modeled after a traditional woodwind instrument, while the EVI is based on an acoustic brass instrument, and has three switches that emulate a trumpet's valves.[5]:320–321

Drum controllers, such as the Roland V-Drums, are often built in the form of an actual drum kit. The unit's sound module is mounted to the left.

Keyboards can be used to trigger drum sounds, but are impractical for playing repeated patterns such as rolls, due to the length of key travel. After keyboards, drum pads are the next most significant MIDI performance controllers.[5]:319–320 Drum controllers may be built into drum machines, may be standalone control surfaces, or may emulate the look and feel of acoustic percussion instruments. The pads built into drum machines are typically too small and fragile to be played with sticks, and are played with fingers.[2]:88 Dedicated drum pads such as the Roland Octapad or the DrumKAT are playable with the hands or with sticks, and are often built in the form of a drum kit. There are also percussion controllers such as the vibraphone-style MalletKAT,[2]:88–91 and Don Buchla's Marimba Lumina.[67] MIDI triggers can also be installed into acoustic drum and percussion instruments. Pads that can trigger a MIDI device can be homemade from a piezoelectric sensor and a practice pad or other piece of foam rubber.[68]

A guitar can be fit with special pickups that digitize the instrument's output, and allow it to play a synthesizer's sounds. These assign a separate MIDI channel for each string, and may give the player the choice of triggering the same sound from all six strings, or playing a different sound from each.[2]:92–93 Some models, such as Yamaha's G10, dispense with the traditional guitar body and replace it with electronics.[5]:320 Other systems, such as Roland's MIDI pickups, are included with or can be retrofitted to a standard instrument. Max Mathews designed a MIDI violin for Laurie Anderson in the mid-1980s,[69] and MIDI-equipped violas, cellos, contrabasses, and mandolins also exist.[70]

A MIDI controller designed for use with an iPhone. The phone docks in the center.

DJ digital controllers may be standalone units such as the Faderfox or the Allen & Heath Xone 3D, or may be integrated with a specific piece of software, such as Traktor or Scratch Live. These typically respond to MIDI clock sync, and provide control over mixing, looping, effects, and sample playback.[71]

MIDI triggers attached to shoes or clothing are sometimes used by stage performers. The Kroonde Gamma wireless sensor can capture physical motion as MIDI signals.[72] Sensors built into a dance floor at the University of Texas at Austin convert dancers' movements into MIDI messages,[73] and David Rokeby's Very Nervous Systemart installation created music from the movements of passers-through.[74] Software applications exist which enable the use of iOS devices as gesture controllers.[75]

Numerous experimental controllers exist which abandon traditional musical interfaces entirely. These include the gesture-controlled Buchla Thunder,[76] sonomes such as the C-Thru Music Axis,[77] which rearrange the scale tones into an isometric layout,[78] and Haken Audio's keyless, touch-sensitive Continuum playing surface.[79] Experimental MIDI controllers may be created from unusual objects, such as an ironing board with heat sensors installed,[80] or a sofa equipped with pressure sensors.[81]

Software synthesizers offer great power and versatility, but some players feel that division of attention between a MIDI keyboard and a computer keyboard and mouse robs some of the immediacy from the playing experience.[82] Devices dedicated to real-time MIDI control provide an ergonomic benefit, and can provide a greater sense of connection with the instrument than can an interface that is accessed through a mouse or a push-button digital menu. Controllers may be general-purpose devices that are designed to work with a variety of equipment, or they may be designed to work with a specific piece of software. Examples of the latter include Akai's APC40 controller for Ableton Live, and Korg's MS-20ic controller that is a reproduction of their MS-20 analog synthesizer. The MS-20ic controller includes patch cables that can be used to control signal routing in their virtual reproduction of the MS-20 synthesizer, and can also control third-party devices.[83]

Control surfaces are hardware devices that provide a variety of controls that transmit real-time controller messages. These enable software instruments to be programmed without the discomfort of excessive mouse movements,[84] or adjustment of hardware devices without the need to step through layered menus. Buttons, sliders, and knobs are the most common controllers provided, but rotary encoders, transport controls, joysticks, ribbon controllers, vector touchpads in the style of Korg's Kaoss pad, and optical controllers such as Roland's D-Beam may also be present. Control surfaces may be used for mixing, sequencer automation, turntablism, and lighting control.[84]

MIDI footswitches are commonly used to send MIDI program change commands to effects devices, but may be combined with pedals in a pedalboard that allows detailed programming of effects units. Pedals are available in the form of on/off switches, either momentary or latching, or as "rocker" pedals whose position determines the value of a MIDI continuous controller.

Drawbar controllers are for use with MIDI and virtual organs. Along with a set of drawbars for timbre control, they may provide controls for standard organ effects such as rotating speaker speed, vibrato and chorus.[85]

A sound module, which requires an external controller to trigger its sounds. These devices are highly portable, but their limited programming interface requires computer-based tools for comfortable access to their sound parameters.

A MIDI instrument contains ports to send and receive MIDI signals, a CPU to process those signals, an interface that allows user programming, audio circuitry to generate sound, and controllers. The operating system and factory sounds are often stored in a Read-only memory (ROM) unit.[2]:67–70

A MIDI Instrument can also be a stand-alone module (without a piano style keyboard) consisting of a General MIDI soundboard (GM, GS and/XG), onboard editing, including transposing/pitch changes, MIDI instrument changes and adjusting volume, pan, reverb levels and other MIDI controllers. Typically, the MIDI Module will include a large screen, enabling the user to view information depending on the function selected at that time. Features can include scrolling lyrics, usually embedded in a MIDI File or Karaoke MIDI, playlists, song library and editing screens. Some MIDI Modules include a Harmonizer and the ability to playback and transpose MP3 audio files.

Synthesizers may employ any of a variety of sound generation techniques. They may include an integrated keyboard, or may exist as "sound modules" or "expanders" that generate sounds when triggered by an external controller. Sound modules are typically designed to be mounted in a 19-inch rack.[2]:70–72 Manufacturers commonly produce a synthesizer in both standalone and rack-mounted versions, and often offer the keyboard version in a variety of sizes.

A sampler can record and digitize audio, store it in random-access memory (RAM), and play it back. Samplers typically allow a user to edit a sample and save it to a hard disk, apply effects to it, and shape it with the same tools that synthesizers use. They also may be available in either keyboard or rack-mounted form.[2]:74–8 Instruments that generate sounds through sample playback, but have no recording capabilities, are known as "ROMplers".

Samplers did not become established as viable MIDI instruments as quickly as synthesizers did, due to the expense of memory and processing power at the time.[5]:295 The first low-cost MIDI sampler was the Ensoniq Mirage, introduced in 1984.[5]:304 MIDI samplers are typically limited by displays that are too small to use to edit sampled waveforms, although some can be connected to a computer monitor.[5]:305

Drum machines typically are sample playback devices that specialize in drum and percussion sounds. They commonly contain a sequencer that allows the creation of drum patterns, and allows them to be arranged into a song. There often are multiple audio outputs, so that each sound or group of sounds can be routed to a separate output. The individual drum voices may be playable from another MIDI instrument, or from a sequencer.[2]:84

Yamaha's Tenori-on controller allows arrangements to be built by "drawing" on its array of lighted buttons. The resulting arrangements can be played back using its internal sounds or external sound sources, or recorded in a computer-based sequencer.

Sequencer technology predates MIDI. Analog sequencers use CV/Gate signals to control pre-MIDI analog synthesizers. MIDI sequencers typically are operated by transport features modeled after those of tape decks. They are capable of recording MIDI performances, and arranging them into individual tracks along a multitrack recording concept. Music workstations combine controller keyboards with an internal sound generator and a sequencer. These can be used to build complete arrangements and play them back using their own internal sounds, and function as self-contained music production studios. They commonly include file storage and transfer capabilities.[2]:103–4

Audio effects units that are frequently used in stage and recording, such as reverbs, delays and choruses, can be remotely adjusted via MIDI signals. Some units allow only a limited number of parameters to be controlled this way, but most will respond to program change messages. The Eventide H3000 Ultra-harmonizer is an example of a unit that allows such extensive MIDI control that it is playable as a synthesizer.[5]:322

MIDI messages are made up of 8-bit words (commonly called bytes) that are transmitted serially at 31.25 kbit/s. This rate was chosen because it is an exact division of 1 MHz, the speed at which many early microprocessors operated.[5]:286 The first bit of each word identifies whether the word is a status byte or a data byte, and is followed by seven bits of information.[2]:13–14 A start bit and a stop bit are added to each byte for framing purposes, so a MIDI byte requires ten bits for transmission.[5]:286

A MIDI link can carry sixteen independent channels of information. The channels are numbered 1–16, but their actual corresponding binary encoding is 0–15. A device can be configured to only listen to specific channels and to ignore the messages sent on other channels (“Omni Off” mode), or it can listen to all channels, effectively ignoring the channel address (“Omni On”). An individual device may be monophonic (the start of a new “note-on” MIDI command implies the termination of the previous note), or polyphonic (multiple notes may be sounding at once, until the polyphony limit of the instrument is reached, or the notes reach the end of their decay envelope, or explicit “note-off” MIDI commands are received). Receiving devices can typically be set to all four combinations of “omni off/on” versus “mono/poly” modes.[2]:14–18

A MIDI message is an instruction that controls some aspect of the receiving device. A MIDI message consists of a status byte, which indicates the type of the message, followed by up to two data bytes that contain the parameters.[19] MIDI messages can be "channel messages", which are sent on only one of the 16 channels and can be heard only by devices receiving on that channel, or "system messages", which are heard by all devices. Any data not relevant to a receiving device is ignored.[36]:384 There are five types of message: Channel Voice, Channel Mode, System Common, System Real-Time, and System Exclusive.[86]

Channel Voice messages transmit real-time performance data over a single channel. Examples include "note-on" messages which contain a MIDI note number that specifies the note's pitch, a velocity value that indicates how forcefully the note was played, and the channel number; "note-off" messages that end a note; program change messages that change a device's patch; and control changes that allow adjustment of an instrument's parameters. Channel Mode messages include the Omni/mono/poly mode on and off messages, as well as messages to reset all controllers to their default state or to send "note-off" messages for all notes. System messages do not include channel numbers, and are received by every device in the MIDI chain. MIDI time code is an example of a System Common message. System Real-Time messages provide for synchronization, and include MIDI clock and Active Sensing.[2]:18–35

System Exclusive (SysEx) messages are a major reason for the flexibility and longevity of the MIDI standard. They allow manufacturers to create proprietary messages which provide control over their equipment in a way that is more thorough than is provided for by standard MIDI messages.[5]:287 SysEx messages are addressed to a specific device in a system. Each manufacturer has a unique identifier that is included in its SysEx messages, which helps ensure that the messages will be heard only by the targeted device, and ignored by all others. Many instruments also include a SysEx ID setting, which allows two devices of the same model to be addressed independently while connected to the same system.[87] SysEx messages may include functionality beyond what the MIDI standard provides. They are targeted at a specific instrument, and are ignored by all other devices on the system.

Devices typically do not respond to every type of message defined by the MIDI specification. The MIDI Implementation Chart was standardized by the MMA as a way for users to see what specific capabilities an instrument has, and how it responds to messages.[2]:231 A specific MIDI Implementation Chart is usually published for each MIDI device within the device documentation.

MIDI allows selection of an instrument's sounds through program change messages, but there is no guarantee that any two instruments have the same sound at a given program location.[88] Program #0 may be a piano on one instrument, or a flute on another. The General MIDI (GM) standard was established in 1991, and provides a standardized sound bank that allows a Standard MIDI File created on one device to sound similar when played back on another. GM specifies a bank of 128 sounds arranged into 16 families of eight related instruments, and assigns a specific program number to each instrument. Percussion instruments are placed on channel 10, and a specific MIDI note value is mapped to each percussion sound. GM-compliant devices must offer 24-note polyphony.[89] Any given program change will select the same instrument sound on any GM-compatible instrument.[90]

The GM standard eliminates variation in note mapping. Some manufacturers had disagreed over what note number should represent middle C, but GM specifies that note number 69 plays A440, which in turn fixes middle C as note number 60. GM-compatible devices are required to respond to velocity, aftertouch, and pitch bend, to be set to specified default values at startup, and to support certain controller numbers such as for sustain pedal, and Registered Parameter Numbers.[91] A simplified version of GM, called "GM Lite", is used in mobile phones and other devices with limited processing power.[88]

A general opinion quickly formed that the GM's 128-instrument sound set was not large enough. Roland's General Standard, or GS, system included additional sounds, drumkits and effects, provided a "bank select" command that could be used to access them, and used MIDI Non-Registered Parameter Numbers (NRPNs) to access its new features. Yamaha's Extended General MIDI, or XG, followed in 1994. XG similarly offered extra sounds, drumkits and effects, but used standard controllers instead of NRPNs for editing, and increased polyphony to 32 voices. Both standards feature backward compatibility with the GM specification, but are not compatible with each other.[92] Neither standard has been adopted beyond its creator, but both are commonly supported by music software titles.

Member companies of Japan's AMEI developed the General MIDI Level 2 specification in 1999. GM2 maintains backward compatibility with GM, but increases polyphony to 32 voices, standardizes several controller numbers such as for sostenuto and soft pedal (una corda), RPNs and Universal System Exclusive Messages, and incorporates the MIDI Tuning Standard.[93] GM2 is the basis of the instrument selection mechanism in Scalable Polyphony MIDI (SP-MIDI), a MIDI variant for low power devices that allows the device's polyphony to scale according to its processing power.[88]

Most MIDI synthesizers use equal temperament tuning. The MIDI Tuning Standard (MTS),ratified in 1992, allows alternate tunings.[94] MTS allows microtunings that can be loaded from a bank of up to 128 patches, and allows real-time adjustment of note pitches.[95] Manufacturers are not required to support the standard. Those who do are not required to implement all of its features.[94]

A sequencer can drive a MIDI system with its internal clock, but when a system contains multiple sequencers, they must synchronize to a common clock. MIDI Time Code (MTC), developed by Digidesign,[96] implements SysEx messages[97] that have been developed specifically for timing purposes, and is able to translate to and from the SMPTE time code standard.[5]:288 MIDI Clock is based on tempo, but SMPTE time code is based on frames per second, and is independent of tempo. MTC, like SMPTE code, includes position information, and can adjust itself if a timing pulse is lost.[98] MIDI interfaces such as Mark of the Unicorn's MIDI Timepiece can convert SMPTE code to MTC.[99]

MIDI Machine Control (MMC) consists of a set of SysEx commands[100] that operate the transport controls of hardware recording devices. MMC allows a sequencer to send "Start", "Stop", and "Record" commands to a connected tape deck or hard disk recording system, and to fast-forward or rewind the device so that it starts playback at the same point as the sequencer. No synchronization data is involved, although the devices may synchronize through MTC.[101]

MIDI Show Control (MSC) is a set of SysEx commands which allows sequencing and remote cueing of show control devices such as lighting, music and sound playback, and motion control systems.[103] Applications include stage productions, museum exhibits, recording studio control systems, and amusement park attractions.[102]

One solution to MIDI timing problems is to mark MIDI events with the times they are to be played, and store them in a buffer in the MIDI interface ahead of time. Sending data beforehand reduces the likelihood that a busy passage will send a large amount of information that will overwhelm the transmission link. Once stored in the interface, the information is no longer subject to timing issues associated with USB jitter and computer operating system interrupts, and can be transmitted with a high degree of accuracy.[104] MIDI timestamping only works when both the hardware and software support it. MOTU's MTS, eMagic's AMT, and Steinberg's Midex 8 were implementations that were incompatible with each other, and required users to own software and hardware manufactured by the same company in order to gain its benefits.[46] Timestamping is built into FireWire MIDI interfaces[105] and Mac OS X Core Audio.

An unforeseen capability of SysEx messages was their use for transporting audio samples between instruments. SysEx is poorly suited to this purpose, as MIDI words are limited to seven bits of information, so an 8-bit sample requires two bytes for transmission instead of one. This led to the development of the Sample Dump Standard (SDS), which established a protocol for sample transmission.[5]:287 The SDS was later augmented with a pair of commands that allow the transmission of information about sample loop points, without requiring that the entire sample be transmitted.[106]

In addition to the original 31.25 kbit/s current-loop transported on 5-pin DIN, other connectors have been used for the same electrical data, and transmission of MIDI streams in different forms over USB, IEEE 1394 a.k.a. FireWire, and Ethernet is now common. Some samplers and hard drive recorders can also pass MIDI data between each other over SCSI.

Members of the USB-IF in 1999 developed a standard for MIDI over USB, the "Universal Serial Bus Device Class Definition for MIDI Devices"[109] MIDI over USB has become increasingly common as other interfaces that had been used for MIDI connections (serial, joystick, etc.) disappeared from personal computers. Microsoft Windows, Macintosh OS X, and Apple iOS operating systems include standard class drivers to support devices that use the "Universal Serial Bus Device Class Definition for MIDI Devices". Drivers are also available for Linux. Some manufacturers choose to implement a MIDI interface over USB that is designed to operate differently from the class specification, using custom drivers.

Apple Computer developed the FireWire interface during the 1990s. It began to appear on digital video cameras toward the end of the decade, and on G3 Macintosh models in 1999.[110] It was created for use with multimedia applications.[105] Unlike USB, FireWire uses intelligent controllers that can manage their own transmission without attention from the main CPU.[111] As with standard MIDI devices, FireWire devices can communicate with each other with no computer present.[112]

The Octave-Plateau Voyetra-8 synthesizer was an early MIDI implementation using XLR3 connectors in place of the 5-pin DIN. It was released in the pre-MIDI years and later retrofitted with a MIDI interface but keeping its XLR connector.[113]

As computer-based studio setups became common, MIDI devices that could connect directly to a computer became available. These typically used the 8-pin mini-DIN connector that was used by Apple for serial and printer ports prior to the introduction of the Blue & White G3 models. MIDI interfaces intended for use as the centerpiece of a studio, such as the Mark of the Unicorn MIDI Time Piece, were made possible by a "fast" transmission mode that could take advantage of these serial ports' ability to operate at 20 times the standard MIDI speed.[2]:62–3[112] Mini-DIN ports were built into some late-1990s MIDI instruments, and enabled such devices to be connected directly to a computer.[114] Some devices connected via PCs' DB-25parallel port, or through the joystick port found in many PC sound cards.[112]

Yamaha introduced the mLAN protocol in 1999. It was conceived as a Local Area Network for musical instruments using FireWire as the transport, and was designed to carry multiple MIDI channels together with multichannel digital audio, data file transfers, and time code.[110][111] mLan was used in a number of Yamaha products, notably digital mixing consoles and the Motif synthesizer, and in third-party products such as the PreSonus FIREstation and the Korg Triton Studio.[115] No new mLan products have been released since 2007.

The computer network implementation of MIDI provides network routing capabilities, and provides the high-bandwidth channel that earlier alternatives to MIDI, such as ZIPI, were intended to bring. Proprietary implementations have existed since the 1980s, some of which use fiber optic cables for transmission.[2]:53–4 The Internet Engineering Task Force's RTP MIDI open specification is gaining industry support, as proprietary MIDI/IP protocols require expensive licensing fees, or provide no advantage, apart from speed, over the original MIDI protocol. Apple has supported this protocol from Mac OS X 10.4 onwards, and a Windows driver based on Apple's implementation exists for Windows XP and newer versions.[116]

The Open Sound Control (OSC) protocol was developed at the Center for New Music and Audio Technologies (CNMAT) of the University of California, Berkeley, and is supported by software programs such as Reaktor, Max/MSP and Csound, and some newer hardware controllers, including the Lemur Input Device.[117] OSC can be transported over Ethernet connections at broadband speeds, but is poorly suited for use as a whole-studio solution, as to date it lacks widespread support from hardware and mainstream software. The increased size of OSC messages as compared to MIDI messages make OSC an impractical solution for many mobile devices, and its touted speed advantages over MIDI disappear when both are transmitted over equal media.[118] OSC is not proprietary, but is not maintained by a standards organization.

Systems for wireless MIDI transmission have been available since the 1980s.[2]:44 Several commercially available transmitters allow wireless transmission of MIDI and OSC signals over Wi-Fi and Bluetooth.[119] iOS devices are able to function as MIDI control surfaces, using Wi-Fi and OSC.[120] An XBee radio can be used to build a wireless MIDI transceiver as a do-it-yourself project.[121] Android devices are able to function as full MIDI control surfaces using several different protocols over Wi-Fi and Bluetooth.[122]

A new version of MIDI tentatively called "HD Protocol" or "High-Definition Protocol" has been under discussion since 2005, when it was announced as "HD-MIDI".[27] This new standard offers full backward compatibility with MIDI 1.0 and is intended to support higher-speed transports, allow plug-and-play device discovery and enumeration, and provide greater data range and resolution. The numbers of channels and controllers are to be increased, new kinds of events are to be added, and messages are to be simplified. Entirely new kinds of events will be supported, such as a Note Update message and Direct Pitch in the Note message which are aimed at guitar controllers.[123][124] Proposed physical layer transports include Ethernet-based protocols such as RTP MIDI and Audio Video Bridging.[112] The HD Protocol and a User Datagram Protocol (UDP)-based transport are under review by MMA's High-Definition Protocol Working Group (HDWG), which includes representatives from all sizes and types of companies.[124] Prototype devices based on the draft standard have been shown privately at NAMM using wired and wireless connections,[123] however it is uncertain if and when the new protocol will be picked up by the industry.[125] As of 2015, the HD Protocol specifications are nearing completion and MMA develops the policies on licensing and product certification.[126] Because the cost of data storage has dropped so much, MIDI music is more and more replaced by compressed audio in consumer products, making MIDI a professional music creation protocol once again. MIDI connectivity and a software synthesizer is still included in Windows, OS X and iOS but not in Android.