OSC (Open Sound Control) is a network-based messaging protocol for real-time musical control, designed to supersede MIDI's limitations
Open Sound Control was designed as a higher-bandwidth, more flexible successor to MIDI for networked musical control. OSC messages carry a URL-like address string, type tag string, and arbitrary typed arguments (int, float, string, blob), allowing any data format rather than MIDI’s fixed 7-bit values. OSC travels over UDP or TCP/IP networks, enabling computer-to-computer communication between different applications and programming languages. OSC is the standard way to pass musical control data between Max/MSP, SuperCollider, Pd, Processing, and visual environments like Hydra and TouchDesigner. MIDI over Ethernet (RTP-MIDI) is different from OSC and the two coexist.
Examples
Strudel sends OSC to SuperCollider for custom synthesis. TouchDesigner receives OSC from Ableton Live. Hydra can receive OSC triggers for visual events. Many custom controllers send OSC over WiFi.
Assessment
Name three advantages of OSC over MIDI for interconnecting computer music applications. Why does OSC typically use UDP rather than TCP for real-time musical applications?