MIDI (//; short for Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and related audio devices for playing, editing and recording music. A single MIDI link through a MIDI cable can carry up to sixteen channels of information, each of which can be routed to a separate device or instrument. This could be sixteen different digital instruments, for example.
MIDI carries event messages, data that specify the instructions for music, including a note's notation, pitch, velocity (which is heard typically as loudness or softness of volume), vibrato, panning to the right or left of stereo, and clock signals (which set tempo). When a musician plays a MIDI instrument, all of the key presses, button presses, knob turns and slider changes are converted into MIDI data. One common MIDI application is to play a MIDI keyboard or other controller and use it to trigger a digital sound module (which contains synthesized musical sounds) to generate sounds, which the audience hears produced by a keyboard amplifier. MIDI data can be transferred via MIDI cable, or recorded to a sequencer to be edited or played back.:4
A file format that stores and exchanges the data is also defined. Advantages of MIDI include small file size, ease of modification and manipulation and a wide choice of electronic instruments and synthesizer or digitally-sampled sounds. A MIDI recording of a performance on a keyboard could sound like a piano or other keyboard instrument; however, since MIDI records the messages and information about their notes and not the specific sounds, this recording could be changed to many other sounds, ranging from synthesized or sampled guitar or flute to full orchestra. A MIDI recording is not an audio signal, as with a sound recording made with a microphone.
Prior to the development of MIDI, electronic musical instruments from different manufacturers could generally not communicate with each other. This meant that a musician could not, for example, plug a Roland keyboard into a Yamaha synthesizer module. With MIDI, any MIDI-compatible keyboard (or other controller device) can be connected to any other MIDI-compatible sequencer, sound module, drum machine, synthesizer, or computer, even if they are made by different manufacturers.
MIDI technology was standardized in 1983 by a panel of music industry representatives, and is maintained by the MIDI Manufacturers Association (MMA). All official MIDI standards are jointly developed and published by the MMA in Los Angeles, and the MIDI Committee of the Association of Musical Electronics Industry (AMEI) in Tokyo. In 2016, the MMA established the MIDI Association (TMA) to support a global community of people who work, play, or create with MIDI.
In the early 1980s, there was no standardized means of synchronizing electronic musical instruments manufactured by different companies. Manufacturers had their own proprietary standards to synchronize instruments, such as CV/gate and Digital Control Bus (DCB).
Roland founder Ikutaro Kakehashi felt the lack of standardization was limiting the growth of the electronic music industry. In June 1981, he proposed developing a standard to Oberheim Electronics founder Tom Oberheim, who had developed his own proprietary interface, the Oberheim System. Kakehashi felt the system was too cumbersome, and spoke to Sequential Circuits president Dave Smith about creating a simpler, cheaper alternative. While Smith discussed the concept with American companies, Kakehashi discussed it with Japanese companies Yamaha, Korg and Kawai. Representatives from all companies met to discuss the idea in October.
Using Roland's DCB as a basis, Smith and Sequential Circuits engineer Chet Wood devised a universal synthesizer interface to allow communication between equipment from different manufacturers. Smith proposed this standard at the Audio Engineering Society show in November 1981.:4 The standard was discussed and modified by representatives of Roland, Yamaha, Korg, Kawai, and Sequential Circuits.:20 Kakehashi favored the name Universal Musical Interface (UMI), pronounced you-me, but Smith felt this was "a little corny". However, he liked the use of "instrument" instead of "synthesizer", and proposed the name Musical Instrument Digital Interface (MIDI).:4
Moog Music founder Robert Moog announced MIDI in the October 1982 issue of Keyboard.:276 At the 1983 Winter NAMM Show, Smith demonstrated a MIDI connection between Prophet 600 and Roland JP-6 synthesizers. The MIDI specification was published in August 1983. The MIDI standard was unveiled by Kakehashi and Smith, who received Technical Grammy Awards in 2013 for their work.
The first MIDI synthesizers were the Roland Jupiter-6 and the Prophet 600, both released in 1982. 1983 saw the release of the first MIDI drum machine, the Roland TR-909, and the first MIDI sequencer, the Roland MSQ-700. The first computers to support MIDI were the NEC PC-88 and PC-98 in 1982, and the MSX (Yamaha CX5M) released in 1983.
MIDI's appeal was originally limited to professional musicians and record producers who wanted to use electronic instruments in the production of popular music. The standard allowed different instruments to communicate with each other and with computers, and this spurred a rapid expansion of the sales and production of electronic instruments and music software.:21 This interoperability allowed one device to be controlled from another, which reduced the amount of hardware musicians needed. MIDI's introduction coincided with the dawn of the personal computer era and the introduction of samplers and digital synthesizers. The creative possibilities brought about by MIDI technology are credited for helping revive the music industry in the 1980s.
MIDI introduced capabilities that transformed the way many musicians work. MIDI sequencing makes it possible for a user with no notation skills to build complex arrangements. A musical act with as few as one or two members, each operating multiple MIDI-enabled devices, can deliver a performance similar to that of a larger group of musicians. The expense of hiring outside musicians for a project can be reduced or eliminated,:7 and complex productions can be realized on a system as small as a synthesizer with integrated keyboard and sequencer.
MIDI also helped establish home recording. By performing preproduction in a home environment, an artist can reduce recording costs by arriving at a recording studio with a partially completed song.:7–8
MIDI was invented so that electronic or digital musical instruments could communicate with each other and so that one instrument can control another. For example, a MIDI-compatible sequencer can trigger beats produced by a drum sound module. 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.:277 When a note is played on a MIDI instrument, it generates a digital MIDI message that can be used to trigger a note on another instrument.: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 of synthesized instrument sounds, such as acoustic piano and strings. MIDI also enables other instrument parameters (volume, effects, etc.) to be controlled remotely.
Synthesizers and samplers contain various tools for shaping an electronic or digital sound. Filters adjust timbre, and envelopes automate the way a sound evolves over time after a note is triggered. The frequency of a filter and the envelope attack (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 (CCN) is assigned to one of these parameters, the device responds 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.
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 easily modified. These tools allow composers to audition and edit their work much more quickly and efficiently than did older solutions, such as multitrack recording.
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,:227 and to reorder its individual sections. The ability to compose ideas and quickly hear them played back enables composers to experiment.:175 Algorithmic composition programs provide computer-generated performances that can be used as song ideas or accompaniment.:122
Some composers may take advantage of standard, portable set of commands and parameters in MIDI 1.0 and General MIDI (GM) to share musical data files among various electronic instruments. 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 corresponding recorded audio files.
Use with computers
The personal computer market stabilized at the same time that MIDI appeared, and computers became a viable option for music production.:324 In 1983 computers started to play a role in mainstream music production. In the years immediately after the 1983 ratification of the MIDI specification, MIDI features were adapted to several early computer platforms. NEC's PC-88 and PC-98 began supporting MIDI as early as 1982. Yamaha modules introduced MIDI support and sequencing to the MSX in 1983.
The spread of MIDI on personal computers was largely facilitated by Roland Corporation's MPU-401, released in 1984, as the first MIDI-equipped PC sound card, capable of MIDI sound processing and sequencing. After Roland sold MPU sound chips to other sound card manufacturers, it established a universal standard MIDI-to-PC interface. The widespread adoption of MIDI led to computer-based MIDI software being developed. Soon after, a number of platforms began supporting MIDI, including the Apple II+, IIe and Macintosh, Commodore 64 and Amiga, Atari ST, Acorn Archimedes, and PC DOS.:325–7 The Macintosh was a favorite among US musicians, as it was marketed at a competitive price, and it took several years for PC systems to catch up with its efficiency and graphical interface.
The Atari ST was preferred in Europe, where Macintoshes were more expensive.:324–5, 331 The Atari ST had the advantage of MIDI ports that were built directly into the computer.:329 Most music software in MIDI's first decade was published for either the Apple or the Atari.:335 By the time of Windows 3.0's 1990 release, PCs had caught up in processing power and had acquired a graphical interface,:325 and software titles began to see release on multiple platforms.:335
The Standard MIDI File (SMF) is a file format that provides a standardized way for music sequences to be saved, transported, and opened in other systems. It was developed and is maintained by the MMA, and is usually comes with a
.mid extension.The compact size of these files led to their widespread use in computers, mobile phone ringtones, webpage authoring and musical greeting cards. These files 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.
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 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).
A MIDI file is not an audio recording. Rather, it is a set of instructions – for example, for pitch or tempo – and can use a thousand times less disk space than the equivalent recorded audio. 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. 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. There is no standardization of how symbols are expressed. Even a sound card that contains high-quality sampled sounds can have inconsistent quality from one sampled instrument to another, while different model cards have no guarantee of consistent sound of the same instrument. Early budget-priced 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 played back through low-quality digital-to-analog converters. The low-fidelity reproduction of these ubiquitous 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, and the quality of its playback depends entirely on the quality of the sound-producing device (and of samples in the device).: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.:55 Multitasking allows simultaneous operation of programs that may be able to share data with each other.: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.:164–6
Sequencers may take alternate forms, such as drum pattern editors that allow users to create beats by clicking on pattern grids,: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.:121
With MIDI, notes played on a keyboard can automatically be transcribed to sheet music.:213 Scorewriting software typically lacks advanced sequencing tools, and is optimized for the creation of a neat, professional printout designed for live instrumentalists.:157 These programs provide support for dynamics and expression markings, chord and lyric display, and complex score styles.:167 Software is available that can print scores in braille.
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, which contained several thousand programmable parameters, but had an interface that consisted of fifteen tiny buttons, four knobs and a small LCD. Digital instruments typically discourage users from experimentation, due to their lack of the feedback and direct control that switches and knobs would provide,:393 but patch editors give owners of hardware instruments and effects devices the same editing functionality that is available to users of software synthesizers. 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.: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,:133 and to share custom patches with other owners of the same instrument. 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.
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.:42
Synthesis and sampling
Computers can use software to generate sounds, which are then passed through a digital-to-analog converter (DAC) to a power amplifier and loudspeaker system.:213 The number of sounds that can be played simultaneously (the polyphony) is dependent on the power of the computer's CPU, as are the sample rate and bit depth of playback, which directly affect the quality of the sound. 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 synchronization problems, and clicks and pops when sample playback is interrupted. Software synthesizers also exhibit a noticeable delay known as latency in their sound generation, because computers use an audio buffer that delays playback and disrupts MIDI timing.
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. The first synthesizer to run directly on a host computer's CPU 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. Some systems use dedicated hardware to reduce the load on the host CPU, as with Symbolic Sound Corporation's Kyma System, and the Creamware/Sonic Core Pulsar/SCOPE systems, which power an entire recording studio's worth of instruments, effect units, and mixers.
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 Sound Blaster 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" and "primitive".
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. 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.
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 ST computer puzzle game Oxyd used MIDI to network computers together, and kits are available that allow MIDI control over home lighting and appliances.
Despite its association with music devices, MIDI can control any electronic or digital device that can read and process a MIDI command. 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 a MIDI instrument's controller. Each function can be set to a timer (also controlled by MIDI) or other condition or trigger determined by the device's 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. :41 This connector configuration can only carry messages in one direction, so a second cable is necessary for two-way communication.:13 Some proprietary applications, such as phantom-powered footswitch controllers, use the spare pins for direct current (DC) power transmission.
Opto-isolators keep MIDI devices electrically separated from their connectors, which prevents the occurrence of ground loops:63 and protects equipment from voltage spikes.:277 There is no error detection capability in MIDI, so the maximum cable length is set at 15 meters (50 feet) to limit interference.
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:278 in a "daisy chain" arrangement. 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.: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.:47–50 This enables the devices to function as standalone MIDI routers in situations where no computer is present.: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 that send a repeated copy of the input data at a set time.:51
A computer MIDI interface's main function is to match clock speeds between the MIDI device and the computer. 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. A three-byte MIDI message requires nearly 1 millisecond for transmission. 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 1 ms. If an event is sent on all channels at the same time, the highest-numbered channel's transmission is delayed by as much as 16 ms. 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. The term "MIDI slop" refers to audible timing errors that result when MIDI transmission is delayed.
There are two types of MIDI controllers: performance controllers that generate notes and are used to perform music, and controllers that may not send notes, but transmit other types of real-time events. Many devices are some combination of the two types.
Keyboards are by far the most common type of MIDI controller. MIDI was designed with keyboards in mind, and any controller that is not a keyboard is considered an "alternative" controller. 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, stringed and wind instruments, drums and specialized and experimental controllers.:23 Other controllers include drum controllers and wind controllers, which can emulate the playing of drum kit and wind instruments, respectively. Nevertheless, some features of the keyboard playing for which MIDI was designed do not fully capture other instruments' capabilities; Jaron Lanier cites the standard as an example of technological "lock-in" that unexpectedly limited what was possible to express. Some of these features, such as per-note pitch bend, are to be addressed in MIDI 2.0, described below.
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. Devices dedicated to real-time MIDI control provide an ergonomic benefit, and can provide a greater sense of connection with the instrument than 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.
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.: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 includes a large screen, so the user can view information for the currently selected function. 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, such as a MIDI keyboard. Sound modules are typically designed to be mounted in a 19-inch rack.: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.: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.:295 The first low-cost MIDI sampler was the Ensoniq Mirage, introduced in 1984.: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.: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.:84
Workstations and hardware sequencers
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.:103–4
MIDI messages are made up of 8-bit words (commonly called bytes) that are transmitted serially at a rate of 31.25 kbit/s. This rate was chosen because it is an exact division of 1 MHz, the operational speed of many early microprocessors.: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.: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.: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.: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. MIDI messages can be channel messages sent on only one of the 16 channels and monitored only by devices on that channel, or system messages that all devices receive. Each receiving device ignores data not relevant to its function.:384 There are five types of message: Channel Voice, Channel Mode, System Common, System Real-Time, and System Exclusive.
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. MIDI notes are numbered from 0 to 127 assigned to C-1 to G9. This corresponds to a range of 8.175798916 12543.85395 Hz (assuming equal temperament and 440 Hz A4) and extends beyond the 88 note piano range from A0 to C8.
|Event||Status byte||Byte 2||Byte 3|
|Note On||0x9||Note Number||Velocity|
|Polyphonic Key Pressure (Aftertouch)||0xA||Note Number||Pressure|
|Control Change||0xB||Controller Number||Value|
|Program Change||0xC||Program Number||Does not appear|
|Channel Pressure (Aftertouch)||0xD||Pressure||Does not appear|
|1||33O||Modulation wheel or lever|
|98||99||Non-Registered Parameter Number (NRPN)|
|100||101||Registered Parameter Number (RPN)|
|64||Damper Pedal (Sustain/Hold) On/Off|
|67||Soft Pedal On/Off|
|70||Sound Controller 1 (Sound Variation)|
|71||Sound Controller 2 (Timbre/Harmonic Intensity)|
|72||Sound Controller 3 (Release Time)|
|73||Sound Controller 4 (Attack Time)|
|74||Sound Controller 5 (Brightness)|
|75||Sound Controller 6 (Decay Time)|
|76||Sound Controller 7 (Vibrato Rate)|
|77||Sound Controller 8 (Vibrato Depth)|
|78||Sound Controller 9 (Vibrato Delay)|
|79||Sound Controller 10 (undefined)|
|91||Effects 1 Depth (Reverb Send Level)|
|92||Effects 2 Depth (formerly Tremolo Depth)|
|93||Effects 3 Depth (Chorus Send Level)|
|94||Effects 4 Depth (formerly Celeste [Detune] Depth)|
|95||Effects 5 Depth (formerly Phaser Depth)|
|96||Data Increment (Data Entry +1)|
|97||Data Decrement (Data Entry -1)|
O Optional (not widely implemented).
Registered Parameters provide control over instrument setup. Control Changes #101 and #100 select the parameter number, then CC #6 and #38 set the actual data while CC #96 and #97 set relative changes.
|Parameter Numbers||Function||Data Entry values|
|CC#101||CC#100||CC#6 / CC#38|
|0x00||0x0||Pitch Bend Sensitivity||+/- semitones, =+/--cents|
|0x1||Channel Fine Tuning||0x4000 = 440 Hz, range +/-100 cents|
|0x2||Channel Coarse Tuning||0x4000 = 440 Hz, resolution 100 cents|
|0x3||Tuning Program Change||Tuning Program Number|
|0x4||Tuning Bank Select||Tuning Bank Number|
|0x5||Modulation Depth Range||Defined by General MIDI Level 2|
|0x6||MPE Configuration Message||Defined by MIDI Polyphonic Expression|
|0x7F||0x7F||Null Function Number||Disable the data entry, data increment, and data decrement controllers|
Channel Mode messages are special Control Changes #120-127; they 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.
|120||All Sound Off|
|121||All Controllers Off|
|122||Local Control On/Off|
|123||All Notes Off|
|126||Mono On (Poly Off)|
|127||Poly On (Mono Off)|
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.:18–35
|Event||Status byte||Byte 2||Byte 3|
|MIDI Time Code||0xF||0x1||Timecode Piece||Does not appear|
|Song Position Pointer||0x2||LSB||MSB|
|Song Select||0x3||Song Number||Does not appear|
|Tune request||0x6||Does not appear|
System Exclusive messages
System Exclusive (SysEx) messages are a major reason for the flexibility and longevity of the MIDI standard. Manufacturers use them to create proprietary messages that control their equipment more thoroughly than standard MIDI messages could.: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 only the targeted device responds to the message, and that all others ignore it. Many instruments also include a SysEx ID setting, so a controller can address two devices of the same model independently. SysEx messages can include functionality beyond what the MIDI standard provides. They target 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.:231 A specific MIDI Implementation Chart is usually published for each MIDI device within the device documentation.
The MIDI specification for the electrical interface is based on a fully isolated current loop. The MIDI out port nominally sources a +5 volt source through a 220 ohm resistor out through pin 4 on the MIDI out DIN connector, in on pin 4 of the receiving device's MIDI in DIN connector, through a 220 ohm protection resistor and the LED of an opto-isolator. The current then returns via pin 5 on the MIDI in port to the originating device's MIDI out port pin 5, again with a 220 ohm resistor in the path, giving a nominal current of about 5 milliamperes. Despite the cable's appearance, there is no conductive path between the two MIDI devices, only an optically isolated one. Properly designed MIDI devices are relatively immune to ground loops and similar interference. The data rate on this system is 31,250 bits per second, logic 0 being current on.
The MIDI specification provides for a ground "wire" and a braid or foil shield, connected on pin 2, protecting the two signal-carrying conductors on pins 4 and 5. Although the MIDI cable is supposed to connect pin 2 and the braid or foil shield to chassis ground, it should do so only at the MIDI out port; the MIDI in port should leave pin 2 unconnected and isolated. Some large manufacturers of MIDI devices use modified MIDI in-only DIN 5-pin sockets with the metallic conductors intentionally omitted at pin positions 1, 2, and 3 so that the maximum voltage isolation is obtained.
MIDI's flexibility and widespread adoption have led to many refinements of the standard, and have enabled its application to purposes beyond those for which it was originally intended.
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. 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. Any given program change selects the same instrument sound on any GM-compatible instrument.
General MIDI is defined by a standard layout of defined instrument sounds called 'patches', defined by a 'patch' number (program number - PC#) and triggered by pressing a key on a MIDI keyboard. This layout ensures MIDI sound modules and other MIDI devices faithfully reproduce the designated sounds expected by the user and maintains reliable and consistent sound palettes across different manufacturers MIDI devices.
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. A simplified version of GM, called GM Lite, is used in mobile phones and other devices with limited processing power.
GS, XG, and GM2
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. 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. 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.
Most MIDI synthesizers use equal temperament tuning. The MIDI tuning standard (MTS), ratified in 1992, allows alternate tunings. MTS allows microtunings that can be loaded from a bank of up to 128 patches, and allows real-time adjustment of note pitches. Manufacturers are not required to support the standard. Those who do are not required to implement all of its features.
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, implements SysEx messages that have been developed specifically for timing purposes, and is able to translate to and from the SMPTE time code standard.: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. MIDI interfaces such as Mark of the Unicorn's MIDI Timepiece can convert SMPTE code to MTC.
MIDI Machine Control (MMC) consists of a set of SysEx commands that operate the transport controls of hardware recording devices. MMC lets a sequencer 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.
MIDI Show Control (MSC) is a set of SysEx commands for sequencing and remotely cueing show control devices such as lighting, music and sound playback, and motion control systems. Applications include stage productions, museum exhibits, recording studio control systems, and amusement park attractions.
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 can send a large amount of information that overwhelms 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. MIDI timestamping only works when both hardware and software support it. MOTU's MTS, eMagic's AMT, and Steinberg's Midex 8 had implementations that were incompatible with each other, and required users to own software and hardware manufactured by the same company to work. Timestamping is built into FireWire MIDI interfaces, Mac OS X Core Audio, and Linux ALSA Sequencer.
Sample dump standard
An unforeseen capability of SysEx messages was their use for transporting audio samples between instruments. This led to the development of the sample dump standard (SDS), which established a new SysEx format for sample transmission.: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.
The Downloadable Sounds (DLS) specification, ratified in 1997, allows mobile devices and computer sound cards to expand their wave tables with downloadable sound sets. The DLS Level 2 Specification followed in 2006, and defined a standardized synthesizer architecture. The Mobile DLS standard calls for DLS banks to be combined with SP-MIDI, as self-contained Mobile XMF files.
MIDI Polyphonic Expression
MIDI Polyphonic Expression (MPE) is a method of using MIDI that enables pitch bend, and other dimensions of expressive control, to be adjusted continuously for individual notes. MPE works by assigning each note to its own MIDI channel so that particular messages can be applied to each note individually. The specifications were released in November 2017 by AMEI and in January 2018 by the MMA. Instruments like the Continuum Fingerboard, Linnstrument, ROLI Seaboard, and Eigenharp let users control pitch, timbre, and other nuances for individual notes within chords. A growing number of soft synths and effects are also compatible with MPE (such as Equator, UVI Falcon, and Sandman Pro), as well as a few hardware synths (such as Modal Electronics 002, Futuresonus Parva, and Modor NF-1).
Alternative hardware transports
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.
USB and FireWire
Members of the USB-IF in 1999 developed a standard for MIDI over USB, the "Universal Serial Bus Device Class Definition for MIDI Devices" MIDI over USB has become increasingly common as other interfaces that had been used for MIDI connections (serial, joystick, etc.) disappeared from personal computers. Linux, 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". 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. It was created for use with multimedia applications. Unlike USB, FireWire uses intelligent controllers that can manage their own transmission without attention from the main CPU. As with standard MIDI devices, FireWire devices can communicate with each other with no computer present.
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.
Serial parallel, and joystick port
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.:62–3 Mini-DIN ports were built into some late-1990s MIDI instruments, and enabled such devices to be connected directly to a computer. Some devices connected via PCs' DB-25 parallel port, or through the joystick port found in many PC sound cards.
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. 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. No new mLan products have been released since 2007.
Ethernet and Internet
Computer network implementations of MIDI provide network routing capabilities, and 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.:53–4 The Internet Engineering Task Force's RTP-MIDI open specification has gained industry support. 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.
Systems for wireless MIDI transmission have been available since the 1980s.:44 Several commercially available transmitters allow wireless transmission of MIDI and OSC signals over Wi-Fi and Bluetooth. iOS devices are able to function as MIDI control surfaces, using Wi-Fi and OSC. An XBee radio can be used to build a wireless MIDI transceiver as a do-it-yourself project. Android devices are able to function as full MIDI control surfaces using several different protocols over Wi-Fi and Bluetooth.
Some devices use standard 3.5 mm TRS audio minijack connectors for MIDI data, including the Korg Electribe 2 and the Arturia Beatstep Pro. Both come with adaptors that break out to standard 5-pin DIN connectors.. This became widespread enough that the Midi Manufacturers' Association standardized the wiring. The MIDI-over-minijack standards document also recommends the use of 2.5 mm connectors over 3.5 mm ones to avoid confusion with audio connectors.
The MIDI 2.0 initiative, announced in January 2019, updates MIDI with auto-configuration, new DAW/web integrations, extended resolution, increased expressiveness, and tighter timing—all while maintaining a high priority on backward compatibility. This major update of MIDI paves the way for a new generation of advanced interconnected MIDI devices, while still preserving interoperability with the millions of existing MIDI 1.0 devices. One of the core goals of the MIDI 2.0 initiative is to also enhance the MIDI 1.0 feature set whenever possible.
The new protocol, then tentatively called "HD Protocol", "High-Definition Protocol", "New Protocol", or "Next Generation Protocol", has been researched since 2005. Prototype devices have been shown privately at NAMM using wired and wireless connections and licensing and product certification policies have been developed, however no projected release date was announced. Proposed physical layer and transport layer included Ethernet-based protocols such as RTP MIDI and Audio Video Bridging/Time-Sensitive Networking, as well as User Datagram Protocol (UDP)-based transport .
AMEI and MMA announced that complete specifications will be published following interoperability testing of prototype implementations from major manufacturers such as Google, Yamaha, Steinberg, Roland, Ableton, Native Instruments, and ROLI, among others.
MIDI 2.0 includes MIDI Capability Inquiry specification for property exchange and profiles, and the new Universal MIDI Packet format for high-speed transports which supports both MIDI 1.0 and MIDI 2.0 voice messages.
MIDI Capability Inquiry
MIDI Capability Inquiry (MIDI-CI) specifies Universal SysEx messages to implement device profiles, parameter exchange, and MIDI protocol negotiation. The specifications were released in November 2017 by AMEI and in January 2018 by the MMA.
Parameter exchange defines methods to inquiry device capabilities, such as supported controllers, patch names, instrument profiles, device configuration and other metadata, and to get or set device configuration settings. Property exchange uses System Exclusive messages that carry JSON format data. Profiles define common sets of MIDI controllers for various instrument types, such as drawbar organs and analog synths, or for particular tasks, improving interoperability between instruments from different manufacturers. Protocol negotiation allows devices to employ the Next Generation protocol or manufacturer-specific protocols.
Universal MIDI Packet
MIDI 2.0 defines a new Universal MIDI Packet format, which contains messages of varying length (32, 64, 96 or 128 bits) depending on the payload type:
|0x0||32 bit||Utility messages|
|0x1||32 bit||System Real-Time, System Common messages|
|0x2||32 bit||MIDI 1.0 Channel Voice messages|
|0x3||64 bit||Data message (including System Exclusive)|
|0x4||64 bit||MIDI 2.0 Channel Voice message|
|0x5||128 bit||Data message|
This new packet format supports a total of 256 MIDI channels, organized in 16 groups of 16 channels; each group can carry either a MIDI 1.0 Protocol stream or new MIDI 2.0 Protocol stream, and can also include system messages, system exclusive data, and timestamps for precise rendering of several simultaneous notes. To simplify initial adoption, existing products are explicitly allowed to only implement MIDI 1.0 messages. The Universal MIDI Packet is intended for high-speed transport such as USB and Ethernet and is not supported on the existing 5-pin DIN connections.
System Real-Time and System Common messages are the same as defined in MIDI 1.0, and the System Exclusive 8 messages are very similar but use 8-bit data format. Mixed Data Set messages are intended to transfer large sets of data.
|Header||Type = 0x2||Group||Status byte (Event/Channel)|
|# of bits||4||4||8|
|Payload||Byte 2||Byte 3||Does not appear|
|# of bits||8ZR||8ZR|
Z Unused bytes are reserved and set to zero.
R High bit is reserved.
As of January 2019, the draft specification of the new protocol supports all core messages that also exist in MIDI 1.0, but extends their precision and resolution; it also defines many new high-precision controller messages.
Existing controllers extended from 7-bit to 32-bit precision:
- Channel Control Change messages #0-127
- Polyphonic (per-note) pressure message
- Channel Pitch Bend message
- Channel Pressure (aftertouch) message
Controllers that were modified to use a single-message format with 32-bit data:
- Program/Bank Change message, bank #0-16383 program #0-127
- Registered controller (RPN) message, bank #0-127 index #0-127 with 32-bit data
- Assignable controller (NRPN) message, bank #0-127 index #0-127 with 32-bit data
New per-note controllers with 32-bit resolution:
- Note On/Off #0-127 with 16-bit Velocity and Attribute type #0-255 with 16-bit Attribute data
- Per-note Registered Controller messages #0-255
- Per-note Assignable Controller messages #0-255
- Per-note Pitch Bend message
- Per-note Management message
|Registered Controller message|
|Header||Type = 0x4||Group||Event = 0x2 = 0b0010||Channel||Does not appear|
|# of bits||4||4||4||4|
|# of bits||8R||8R||32|
|Assignable Controller message|
|Header||Type = 0x4||Group||Event = 0x3 = 0b0011||Channel||Does not appear|
|# of bits||4||4||4||4|
|# of bits||8R||8R||32|
|Note On message|
|Header||Type = 0x4||Group||Event = 0x9 = 0b1001||Channel||Does not appear|
|# of bits||4||4||4||4|
|Payload||Note Number||Attribute type||Velocity||Attribute|
|# of bits||8R||8||16||16|
|Program Change message|
|Header||Type = 0x4||Group||Event = 0xA = 0b1100||Channel||Does not appear|
|# of bits||4||4||4||4|
|Payload||Does not appear reserved||Option flagsB||Program||Does not appear reserved||Bank MSB||Bank LSB|
|# of bits||8||8||8R||8||8R||8R|
R High bit is reserved.
B 0x1 = Bank Valid.
- 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.
- Although MIDI nominally uses a +5 volt source, it is possible to change the resistance values in the MIDI out circuit to achieve a similar current with other voltage supplies (in particular, for 3.3 volt systems).
- Swift, Andrew. (May 1997), "A brief Introduction to MIDI", SURPRISE, Imperial College of Science Technology and Medicine, archived from the original on 30 August 2012, retrieved 22 August 2012
- Huber, David Miles (1991). The MIDI Manual. Carmel, Indiana: SAMS. ISBN 9780672227578.
- "What is MIDI?". Archived from the original on 16 June 2016. Retrieved 31 August 2016.
- samples, Electronic Musician - featuring gear reviews, audio tutorials, loops and. "The MIDI Association Launches at NAMM 2016". Archived from the original on 14 October 2016. Retrieved 31 August 2016.
- Chadabe, Joel (1 May 2000). "Part IV: The Seeds of the Future". Electronic Musician. Penton Media. XVI (5). Archived from the original on 28 September 2012.
- Kirn, Peter (2011). Keyboard Presents the Evolution of Electronic Dance Music. Backbeat Books. ISBN 978-1-61713-446-3. Archived from the original on 1 February 2017.
- "The life and times of Ikutaro Kakehashi, the Roland pioneer modern music owes everything to". FACT Magazine: Music News, New Music. 2 April 2017. Retrieved 6 September 2018.
- Holmes, Thom. Electronic and Experimental Music: Pioneers in Technology and Composition. New York: Routledge, 2003
- "Dave Smith". KeyboardMag. Retrieved 20 October 2018.
- Manning, Peter. Electronic and Computer Music. 1985. Oxford: Oxford University Press, 1994. Print.
- "Technical GRAMMY Award: Ikutaro Kakehashi And Dave Smith". Archived from the original on 22 August 2016. Retrieved 31 August 2016.
- "Ikutaro Kakehashi, Dave Smith: Technical GRAMMY Award Acceptance". Archived from the original on 9 December 2014. Retrieved 31 August 2016.
- Vail, Mark (2014). The Synthesizer. New York: Oxford University Press. p. 56. ISBN 978-0-19-539481-8.
- Martin Russ (2004). Sound Synthesis and Sampling. p. 66. ISBN 0240516923. Archived from the original on 26 October 2017.
- Butler, Mark Jonathan (2006). Unlocking the Groove: Rhythm, Meter, and Musical Design in Electronic Dance Music. Indiana University Press. p. 64. ISBN 0-2533-4662-2.
- "Archived copy". Archived from the original on 12 July 2017. Retrieved 17 May 2017.CS1 maint: archived copy as title (link)
- Shimazu, Takehito (1994). "The History of Electronic and Computer Music in Japan: Significant Composers and Their Works". Leonardo Music Journal. MIT Press. 4: 102–106 . doi:10.2307/1513190. JSTOR 1513190.
- Helen Casabona; David Frederick,. Advanced MIDI Applications. Alfred Music. p. 15. ISBN 9781457438936. Archived from the original on 26 October 2017.CS1 maint: extra punctuation (link)
- Martin Russ (21 August 2012). Sound Synthesis and Sampling. CRC Press. p. 85. ISBN 9781136122149. Archived from the original on 26 October 2017.
- Paul, Craner (October 1991). "New Tool for an Ancient Art: The Computer and Music". Computers and the Humanities. 25 (5): 308–309. doi:10.1007/bf00120967. JSTOR 30204425.
- Macan, Edward. Rocking the Classics: English Progressive Rock and the Counterculture. New York: Oxford University Press, 1997. p.191
- Shuker, Roy. Understanding Popular Music. London: Routledge, 1994. p.286
- Demorest, Steven M. Building Choral Excellence: Teaching Sight-Singing in the Choral Rehearsal. New York: Oxford University Press, 2003. p. 17
- Pertout, Andrian. Mixdown Monthly Archived 4 May 2012 at the Wayback Machine, #26. 26 June 1996. Web. 22 August 2012
- Crawford, Renee. An Australian Perspective: Technology in Secondary School Music. Journal of Historical Research in Music Education. Vol. 30, No. 2. Apr 2009. Print.
- Lau, Paul. "Why Still MIDI?." – via HighBeam Research (subscription required) Archived 2 May 2013 at the Wayback Machine Canadian Musician. Norris-Whitney Communications Inc. 2008. HighBeam Research. 4 September 2012
- Sasso, Len (13 October 2011). "Sound Programming 101". Electronic Musician. NewBay Media. Archived from the original on 17 March 2012.
- Anderton, Craig (May 1995). "MIDI For Guitarists: A Crash Course In MIDI Effects Control". Sound on Sound. SOS Publications. Archived from the original on 10 January 2012.
- "Digital audio workstation – Intro". Archived from the original on 10 January 2012.
- Brewster, Stephen. "Nonspeech Auditory Output". The Human-Computer Interaction Handbook: Fundamentals, Evolving Technologies, and Emerging Applications. Ed. Julie A. Jacko; Andrew Sears. Mahwah: Lawrence Erlbaum Associates, 2003. p.227
- Campbell, Drew. ""Click, Click. Audio" Stage Directions. Vol. 16, No. 3. Mar 2003.
- McCutchan, Ann. The Muse That Sings: Composers Speak about the Creative Process. New York: Oxford University Press, 1999. p. 67-68,72
- Russ, Martin (2012). Sound Synthesis and Sampling. CRC Press. p. 192. ISBN 1136122141. Archived from the original on 28 April 2017. Retrieved 26 April 2017.
- MIDI INTERFACES FOR THE IBM PC Archived 21 October 2015 at the Wayback Machine, Electronic Musician, September 1990
- "Programming the MPU-401". www.piclist.com. Archived from the original on 6 May 2017.
- MIDI PROCESSING UNIT MPU-401 TECHNICAL REFERENCE MANUAL, Roland Corporation
- Peter Manning (2013), Electronic and Computer Music Archived 26 October 2017 at the Wayback Machine, page 319, Oxford University Press
- Hass, Jeffrey. "Chapter Three: How MIDI works 10 Archived 7 June 2015 at the Wayback Machine". Indiana University Jacobs School of Music. 2010. Web 13 August 2012
- "MIDI Files Archived 22 August 2012 at the Wayback Machine". midi.org Music Manufacturers Association. n.d. Web. 27 August 2012
- "RIFF-based MIDI File Format Archived 17 August 2012 at the Wayback Machine". digitalpreservation.gov. Library of Congress. 26 March 2012. Web. 18 August 2012
- Crawford, Walt. "MIDI and Wave: Coping with the Language". Online. Vol. 20, No. 1. Jan/Feb 1996
- Aboukhadijeh, Feross. (August 2018), Announcing BitMidi, retrieved 18 November 2018
- "MIDI Assoc. pushes for new licensing agreement. (MIDI Manufacturers Association)." Music Trades. Music Trades Corp. 1996. HighBeam Research. 4 September 2012 – via HighBeam Research (subscription required)
- Wiffen, Paul. "Synth School, Part 3: Digital Synthesis (FM, PD & VPM) Archived 1 December 2005 at the Wayback Machine". Sound on Sound Sep 1997. Print.
- Battino, David. Finally: MIDI 2.0 Archived 16 August 2012 at the Wayback Machine O'Reilly Digital Media Blog. O'Reilly Media, Inc. 6 October 2005. Web. 22 August 2012
- Gellerman, Elizabeth. "Audio Editing SW Is Music to Multimedia Developers' Ears". Technical Horizons in Education Journal. Vol. 22, No. 2. Sep 1994
- Desmond, Peter. "ICT in the Secondary Music Curriculum". Aspects of Teaching Secondary Music: Perspectives on Practice. ed. Gary Spruce. New York: RoutledgeFalmer, 2002
- Solomon, Karen. "You Gotta Feel the Music Archived 16 August 2009 at the Wayback Machine". wired.com. Condé Nast. 27 February 2000. Web. 13 August 2012.
- Cook, Janet Harniman. "Musitek Midiscan v2.51 Archived 10 January 2012 at the Wayback Machine". Sound on Sound. SOS Publications. Dec 1998. Print.
- Johnson, Derek. "Yamaha FS1R Editor Software Archived 25 December 2011 at the Wayback Machine". Sound on Sound. Mar 1999.
- Johnson, Derek, and Debbie Poyser. "Yamaha FS1R Archived 15 April 2007 at the Wayback Machine". Sound on Sound. Dec 1998.
- Gibbs, Jonathan (Rev. by Peter Howell) "Electronic Music". Sound Recording Practice, 4th Ed. Ed. John Borwick. Oxford: Oxford University Press, 1996
- "Sound Quest MIDI Quest 11 Universal Editor Archived 6 March 2014 at the Wayback Machine". squest.com. n.p. n.d. Web. 21 August 2012
- "Desktop Music Handbook – MIDI Archived 14 August 2012 at the Wayback Machine". cakewalk.com. Cakewalk, Inc. 26 November 2010. Web. Retrieved 7 August 2012.
- Price, Simon. "Price, Simon. "Native Instruments Kore". ''Sound on Sound'' Jul 06". Soundonsound.com. Archived from the original on 2 June 2013. Retrieved 27 November 2012.
- Bozeman, William C. Educational Technology: Best Practices from America's Schools. Larchmont: Eye on Education, 1999.
- Lehrman, Paul D. "Software Synthesis: The Wave Of The Future? Archived 10 January 2012 at the Wayback Machine" Sound on Sound. SOS Publications. Oct 1995. Print.
- Walker, Martin. "Identifying & Solving PC MIDI & Audio Timing Problems Archived 10 January 2012 at the Wayback Machine". Sound on Sound. SOS Publications. Mar 2001. Print.
- Miller, Dennis. "Sound Synthesis On A Computer, Part 2 Archived 10 January 2012 at the Wayback Machine". Sound on Sound. SOS Publications. May 1997. Print.
- "MIDI Ancestors and Milestones Archived 30 October 2012 at the Wayback Machine". keyboardmag.com. New Bay Media. n.d. Web. 6 August 2012.
- Walker, Martin. "Reality PC Archived 25 February 2015 at the Wayback Machine". Sound on Sound. SOS Publications. Nov 1997. Print.
- Wherry, Mark. "Creamware SCOPE Archived 25 December 2011 at the Wayback Machine". Sound on Sound. SOS Publications. Jun 2003. Print.
- Anderton, Craig. "Sonic Core SCOPE Xite-1 Archived 30 October 2012 at the Wayback Machine". keyboardmag.com. New Bay Media, LLC. n.d. Web.
- David Nicholson. "HARDWARE." – via HighBeam Research (subscription required) Archived 2 May 2013 at the Wayback Machine The Washington Post. Washingtonpost Newsweek Interactive. 1993. HighBeam Research. 4 September 2012
- Levy, David S. "Aztech's WavePower daughtercard improves FM reception. (Aztech Labs Inc.'s wavetable synthesis add-on card for Sound Blaster 16 or Sound Galaxy Pro 16 sound cards) (Hardware Review) (Evaluation). Archived 2 May 2013 at the Wayback Machine" Computer Shopper. SX2 Media Labs LLC. 1994. HighBeam Research. 4 September 2012 – via HighBeam Research (subscription required)
- Labriola, Don. "MIDI masters: wavetable synthesis brings sonic realism to inexpensive sound cards. (review of eight Musical Instrument Digital Interface sound cards) (includes related articles about testing methodology, pitfalls of wavetable technology, future wavetable developments) (Hardware Review) (Evaluation)." – via HighBeam Research (subscription required) Archived 2 May 2013 at the Wayback Machine Computer Shopper. SX2 Media Labs LLC. 1994. HighBeam Research. 4 September 2012
- "Interface Circuits Archived 31 May 2013 at the Wayback Machine". MIDI Kits. n.p. 30 August 2012. Web. 30 August 2012.
- Lockwood, Dave. "TC Electronic G Major Archived 20 March 2012 at the Wayback Machine". Sound on Sound. SOS Publications. Dec 2001. Print.
- Mornington-West, Allen. "Digital Theory". Sound Recording Practice. 4th Ed. Ed. John Borwick. Oxford: Oxford University Press, 1996.
- "Richmond Sound Design – Frequently Asked Questions Archived 5 January 2006 at the Wayback Machine". richmondsounddesign.com. Web. 5 August 2012.
- Hass, Jeffrey. "Chapter Three: How MIDI works 2 Archived 17 June 2015 at the Wayback Machine". Indiana University Jacobs School of Music. 2010. Web. 13 August 2012.
- Robinson, Herbie. "Re: core midi time stamping Archived 28 October 2012 at the Wayback Machine". Apple Coreaudio-api Mailing List. Apple, Inc. 18 July 2005. 8 August 2012.
- Shirak, Rob. "Mark of the Unicorn Archived 23 March 2014 at the Wayback Machine". emusician.com. New Bay Media. 1 October 2000. Web. Retrieved 8 August 2012.
- "MIDI Performance Instruments Archived 18 November 2012 at the Wayback Machine". Instruments of Change. Vol. 3, No. 1 (Winter 1999). Roland Corporation, U.S.
- "MIDI Products Archived 16 July 2012 at the Wayback Machine". midi.org. MIDI Manufacturers Association. n.d. 1 August 1012
- Lanier, Jaron (2011). You Are Not a Gadget. New York: Vintage. ISBN 978-0307389978.
- Preve, Francis. "Dave Smith", in "The 1st Annual Keyboard Hall of Fame". Keyboard (US). NewBay Media, LLC. Sep 2012. Print. p.18
- "Korg Legacy Collection Archived 16 September 2012 at the Wayback Machine". vintagesynth.com. Vintage Synth Explorer. n.d. Web. 21 August 2012
- Hass, Jeffrey. "Chapter Three: How MIDI works 3 Archived 19 June 2015 at the Wayback Machine". Indiana University Jacobs School of Music. 2010. Web. 13 August 2012.
- Hass, Jeffrey. "Chapter Three: How MIDI works 9 Archived 7 June 2015 at the Wayback Machine". Indiana University Jacobs School of Music. 2010. Web. 13 August 2012.
- MMA. "MIDI DIN Electrical Specification" (PDF). Archived (PDF) from the original on 22 December 2015. Retrieved 31 August 2016.
- Bello, Juan P. "MIDI: sound control Archived 20 November 2012 at the Wayback Machine". nyu.edu. New York University. n.d. Web. 18 August 2012
- ""General MIDI Standard". ''www.harfesoft.de''. n.p. n.d. Web". Harfesoft.de. Archived from the original on 28 August 2012. Retrieved 27 November 2012.
- "General MIDI Standard Archived 20 January 2013 at the Wayback Machine". pgcc.edu. Prince George's Community College. n.d. Web.
- Ialuna, John. "General MIDI (GM) Level 1 Sound Set". Hit Trax MIDI Files.
- Glatt, Jeff. "General MIDI Archived 23 October 2012 at the Wayback Machine". The MIDI Technical Fanatic's Brainwashing Center. n.p. n.d. Web. 17 August 2012
- Nagle, Paul. "Yamaha MU50 & Yamaha CBX-K1 Archived 10 January 2012 at the Wayback Machine". Sound on Sound. SOS Publications. Sep 1995. Print.
- "About General MIDI Archived 3 January 2012 at the Wayback Machine". midi.org. MIDI Manufacturers Association. n.d. Web. 17 August 2012
- "The MIDI Tuning Standard Archived 18 November 2012 at the Wayback Machine". microtonal-synthesis.com. n.p. n.d. Web. 17 August 2012
- "MIDI Tuning Messages". MIDI Manufacturers Association. 17 August 2012. Archived from the original on 30 November 2012.
- Glatt, Jeff. "The beginnings of MIDI Archived 1 May 2012 at the Wayback Machine". The MIDI Technical Fanatic's Brainwashing Center. n.p. n.d. Web. 13 August 2012.
- Glatt, Jeff. "MIDI Time Code Archived 12 February 2012 at the Wayback Machine". The MIDI Technical Fanatic's Brainwashing Center. n.p. n.d. Web. 13 August 2012.
- White, Paul. "SMPTE & MTC (MIDI Time Code) Archived 10 January 2012 at the Wayback Machine" Sound on Sound. SOS Publications. Jun 1996. Print.
- ""Q & A". ''Sweet Notes''. Sweetwater Sound. Summer 1996. Web". Sweetwater.com. Archived from the original on 5 December 2012. Retrieved 27 November 2012.
- Glatt, Jeff. "MIDI Machine Control (MMC) Archived 27 November 2012 at the Wayback Machine". The MIDI Technical Fanatic's Brainwashing Center. n.p. n.d. Web.
- "Glossary: MIDI Machine Control (MMC) Archived 5 December 2012 at the Wayback Machine". sweetwater.com. Sweetwater Sound. n.d. Web. 15 August 2012.
- "News Page Archived 17 July 2012 at the Wayback Machine". richmondsounddesign.com. Richmond Sound Design, Ltd. 17 July 2012. Web. 17 August 2012
- "An Inexpensive MIDI show-control System Archived 21 June 2012 at the Wayback Machine". Lighting TechNotes. The University of Virginia. 25 October 2004. Web. 17 August 2012.
- "Glossary: MTS (MIDI Time Stamping) Archived 5 December 2012 at the Wayback Machine". sweetwater.com. Sweetwater Sound. n.d. Web. 17 August 2012
- Walker, Martin. "The Truth About Latency: Part 2 Archived 25 December 2011 at the Wayback Machine". Sound on Sound. SOS Publications. Oct 2002. Print.
- Glatt, Jeff. . The MIDI Technical Fanatic's Brainwashing Center. n.p. n.d. Web. 13 August 2012.
- "Massey, Howard. "DLS Overview". ''midi.org''. n.d. Web. 27 Aug 2012". Midi.org. Archived from the original on 27 November 2012. Retrieved 27 November 2012.
- ""DLS 1 Spec". ''midi.org''. n.d. Web. 27 Aug 2012". Midi.org. Archived from the original on 30 November 2012. Retrieved 27 November 2012.
- MIDI Manufacturers Association (January 2018). "MIDI Polyphonic Expression (MPE) Specification Adopted!". Archived from the original on 2 November 2017. Retrieved 12 February 2018.
- Linn, Roger. "For Developers of MIDI Sound Generators: How to add MPE Capability". Archived from the original on 17 September 2016. Retrieved 8 September 2016.
- "MIDI Manufacturers Association (MMA) Adopts MIDI Capability Inquiry (MIDI-CI) Specification". www.midi.org.
- Robair, Gino. "Three pioneers discuss Multidimensional Polyphonic Expression". ROLI. Electronic Musician. Retrieved 10 January 2019.
- Magnetic Mag. "REVIEW: UNFILTERED AUDIO SANDMAN PRO". Archived from the original on 6 September 2017. Retrieved 6 September 2017.
- Ashour, Gal, et al. . usb.org USB Implementers Forum Archived 26 April 2015 at the Wayback Machine. 1 November 1999. Web. 22 August 2012
- Wiffen, Paul. "An Introduction To mLAN, Part 1 Archived 2 January 2016 at the Wayback Machine". Sound on Sound. SOS Publications. Aug 2000. Print.
- Wiffen, Paul. "An Introduction To mLAN, Part 2 Archived 10 January 2012 at the Wayback Machine". Sound on Sound. SOS Publications. Sep 2000. Print.
- "MIDI Cables & Transports Archived 4 November 2012 at the Wayback Machine". midi.org. Music Manufacturers Association. n.d. Web. 27 August 2012.
- Vail, Mark. "Voyetra 8: The original rackmount analog polysynth". Keyboardmagazine. Turtle Beach. Archived from the original on 30 June 2013. Retrieved 21 May 2013.
- "CS2x Control Synthesizer Owner's Manual". Yamaha Corporation, 1998.
- ""PreSonus FIREstation". ''presonus.com''. n.p. n.d. Web. 18 Aug 2012". Presonus.com. Archived from the original on 31 December 2012. Retrieved 27 November 2012.
- "rtpMIDI". tobias-erichsen.de. n.p. n.d. Web. 22 August 2012 Windows RTP-MIDI driver download Archived 16 August 2012 at the Wayback Machine
- Kirn, Peter. "Golden Age of Wireless: Korg iOS Sync, Android + MIDI Hardware, Enter Bluetooth MIDI? Archived 11 September 2012 at the Wayback Machine". createdigitalmusic.com. n.p. 25 March 2011. Web.
- ""TouchOSC". ''hexler.net'' n.p. n.d. Web. 20 Aug 2012". Hexler.net. Archived from the original on 5 December 2012. Retrieved 27 November 2012.
- "XBee Adapter – wireless Arduino programming Archived 2 June 2012 at the Wayback Machine". ladyada.net. n.p. 17 May 2011. Web. 20 Aug 2012.
- "TouchDAW - DAW controller and MIDI utilities for Android™". Archived from the original on 7 September 2016. Retrieved 31 August 2016.
- "What if we used stereo minijack cables for MIDI?". 26 August 2015.
- "Specification for TRS Adapters Adopted and Released". www.midi.org.
- "It's official: minijack connections are now kosher for MIDI". 21 August 2018.
- "The MIDI Manufacturers Association (MMA) and the Association of Music Electronics Industry (AMEI) announce MIDI 2.0™ Prototyping". www.midi.org.
- "MMA HD Protocol Announcement Archived 14 May 2011 at the Wayback Machine". midi.org. MIDI Manufacturers Association. n.d. Web. 22 August 2012
- "General Meeting for MIDI developers by MMA Archived 9 January 2012 at the Wayback Machine". pro-music-news.com. Pro-Music-News. n.d. 22 August 2012
- "News: MIDI Manufacturers Association to Host Business Strategy Session on New Advanced Musical Instrument Control Technology at Winter NAMM Show". Archived from the original on 14 October 2016. Retrieved 31 August 2016.
- Future Music Magazine (4 February 2013). "NAMM 2013: Panel discussion: Past, present and future of MIDI". Archived from the original on 14 October 2016. Retrieved 31 August 2016 – via YouTube.
- "Details about MIDI 2.0, MIDI-CI, Profiles and Property Exchange". www.midi.org.