1.1 MIDI, OSC and Communicating Between Instruments

There are a number of ways of communicating between different musical instruments. Without a doubt, the most common is MIDI, but since this standard was first created in 1983, there have been a number of revisions, and indeed new developments since then. This page on StudyMusicTech.com outlines some of the key information about this for your further study and research.


  • MIDI stands for Musical Instrument Digital Interface.
  • It allows different electronic musical instruments and equipment to be connected together

MIDI Specification

  • MIDI was introduced in August 1983
  • It was a joint standard across different manufacturers
  • It is a language; it doesn’t store audio data. Rather it is a set of commands sent to connected instruments.
  • Each instrument has its own MIDI channel. This means that it only responds to messages meant for it.

General MIDI

  • General MIDI was a further set of requirements for MIDI devices that was intended to ensure consistent playback between devices (particularly with regard to instrument patches)
  • GM requires 24-voice polyphony, standardised controllers & numbers and locations of instruments
  • Whilst MIDI files are very small, they are often criticised for sounding unrealistic; this is really a criticism of the equipment playing them back rather than the protocol itself.

Commands and Controllers

  • MIDI controllers change a characteristic of the sound or track
  • Controllers are either switched or continuous; switched controllers either have a value of 0 or 127, so are on or off. Continuous controller values range between 0 and 127.
  • You can view controller data in the MIDI event list in your DAW, or sometimes in the piano roll editor.


Name Number Function Switched/Continuous
Modulation 1 Adds vibrato (modulates pitch) Continuous
Volume 7 Changes overall track volume Continuous
Pan 10 Moves between L, C and R Switched
Expression 11 Volume fine-tuning Continuous
Sustain 64 Holds on notes Switched
Portamento 65 Bends between notes (glide) Switched
Reverb Depth 91 Adds reverb (amount) Continuous
Chorus Depth 93 Adds chorus (amount) Continuous
Reset All 121 Stops all controllers Switched

MIDI Controllers and Numbers


  • Quantise is used to move notes that are poorly timed back onto the beat where they are meant to be. It achieves this through ‘snapping’ each note to a grid, the size of which is determined by the note resolution you choose
  • Resolutions are defined by the number of the the notes you could fit in a bar of 4/4 (e.g. 1/1 – 1 semibreve; 1/2 – two minims etc…)
  • It has been criticised for removing the musical expression from the music. Thus, some more advanced quantise functions were created:
    • Swung quantise
    • Groove templates
    • Iterative quantise
    • Humanise


Articulation and Velocity

  • Articulation is how the notes are played; short or long, slurred together or detached.
  • This is recreated by altering parameters of the MIDI note, in particular the length and velocity
  • You could change the synth’s envelope to mirror the specific articulation of an instrument
  • In Logic, ‘Gate Time’ can be used to change the feel of the MIDI data
  • When a note on command is sent to a MIDI device, it is sent with a specific velocity value (from 0 to 127). This relates to how hard the note is struck
  • Velocity is a useful method of us recreating the sound of real instruments and avoiding MIDI sequences becoming mechanical.
  • Synthesisers commonly assign filter envelopes that are dependent on velocity


MIDI Messages


Other Programming Languages / Control Environments


  • DMX stands for Digital Multiplex
  • It is faster than MIDI and provides a higher resolution
  • It is mostly used to control lighting fixtures and other parts of a show.
  • It was originally intended as a protocol for controlling light dimmers (which were not compatible with each other before the introduction of the standard, known in full as DMX512
  • It soon became the preferred method for linking a lighting console to dimmers and other stage effects such as smoke machines and for the control of moving head lights.
  • It uses a 5 pin XLR cable to connect controllers to peripherals



  • OSC stands for Open Sound Control and was designed between 2002 and 2004
  • It is becoming increasingly popular and is used by programmes such as MAX/MSP and Reaktor
  • Like MIDI, it can be used to connect together musical equipment such as synthesisers and computers
  • It was originally intended for sharing music performance data (gestures, parameters and note sequences) between musical instruments (especially electronic musical instruments such as synthesizers), computers, and other multimedia devices.
  • It is sometimes used as an alternative to MIDI, and it provides higher resolution and more detailed parameter information
  • Connections use computer network protocols such as UDP/IP and Ethernet and is often connected to controllers using USB cables
  • This means that it is possible to send OSC messages over a wired or wireless network
  • OSC has been used extensively in experimental music controllers

OSC Messages






Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s