Communication Protocols

Control in music and audio programming contexts can take on many different forms. For example, this could include the control of low-level audio processing parameters to create a desired synthesis outcome, the control of music or note events in a music or compositional scheme, or the use of a digital music instrument to control a sound algorithm running on a computer. For such control schemes to be generally useful to a large number of people, they need to conform to some known communication protocol. Surprisingly, only a few proposed communication protocols are widely accepted.

Defined Protocols

MIDI

MIDI Devices

The Physical MIDI Specification


A schematic of a MIDI (IN and OUT) interface (from http://www.borg.com/~jglatt/).

MIDI Messages

Message TypeStatus Byte (Hex)Message NameData BytesData Byte 1Data Byte 2
Channel0x8cNote Off2Note NumberNote Velocity
0x9cNote On2Note NumberNote Velocity
0xAcAftertouch2Note Number Key Pressure Value
0xBcControl Change2Controller NumberControl Value
0xCcProgram Change1Program Number
0xDcChannel Pressure1Pressure Value (greatest of all depressed keys)
0xEcPitch Bend2Value LSBValue MSB
System Exclusive0xF0System ExclusivenVendor IDanything
System Common0xF1Time Code Qtr Frame1Time Code Value
0xF2Song Position2Position LSBPosition MSB
0xF3Song Select1Song Number
0xF4Undefined0
0xF5Undefined0
0xF6Tune Request0
0xF7End of Sysex0
System Real Time0xF8Timing Tick0
0xF9Undefined0
0xFAStart Song0
0xFBContinue Song0
0xFCStop Song0
0xFDUndefined0
0xFEActive Sensing0
0xFFSystem Reset0

MIDI Channel Messages

MIDI System Messages

Control Change Messages

General MIDI

MIDI: Pros and Cons

ZIPI

Synthesis toolKit Instrument Network Interface (SKINI)

  NoteOn          0.000082  2  55  82
  NoteOff         1.000000  2  55  0
  NoteOn          0.000082  2  69  82
  StringDetune    0.100000  2      10
  StringDetune    0.100000  2      30
  StringDetune    0.100000  2      50
  NoteOn          0.000000  2  69  82
  StringDetune    0.100000  2      40
  StringDetune    0.100000  2      22
  StringDetune    0.100000  2      12
  StringDamping   0.000100  2      0.0

Open Sound Control (OSC)

McGill ©2003-2016 McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.