What is the difference between OSC and MIDI?

Here are some of the most important differences:

  • MIDI defines a hardware interface (i.e., the MIDI cable), but OSC does not. OSC is typically transmitted over ethernet.
  • MIDI uses a compact binary message format with a limited number of fields, e.g. channel, note, velocity, etc. OSC has a binary data section, but a human readable, URL-style address that looks like "/foo/bar".
  • OSC allows one to transmit multiple data types commonly used on modern computers including 32-bit integers, floating point numbers, strings and more. MIDI only transmits integers.
  • OSC includes a high-precision timestamp with picosecond-resolution that allows OSC messages to be scheduled, recorded and reproduced with minimal jitter. The MIDI beat-clock is a low-resolution clock having a precision on the order of several milliseconds at best.

For more information, see this poster: http://opensoundcontrol.org/files/OSC-Demo.pdf