home/ atoms/ osc-message-structure

An OSC message has two parts: an address pattern (the parameter name) and one or more typed arguments (the values)

Every OSC message consists of an address pattern — a URL-style string identifying the parameter being controlled (e.g. ‘/voices/3/osc/14/freq’) — and one or more typed arguments carrying the value(s). The address pattern acts as a human-readable routing identifier, unlike MIDI CC’s opaque number. When multiple parameters are controlled, each gets its own address string, making the mapping self-documenting. In a receiving patch, the address pattern is used to route the message to the correct handler. This design makes OSC messages intelligible without a mapping lookup table and allows complex multi-parameter devices to be built without ambiguity.

Examples

An accelerometer message might have address pattern ‘/sensor/accel’ with three float arguments for X, Y, and Z axes. In Max, a [route /sensor/accel] object directs that message to the correct processing branch.

Assessment

Design OSC address patterns for: (1) the cutoff frequency of filter 2 in voice 1, (2) the reverb send level on channel 3. Explain how these patterns make a complex live-performance setup more maintainable than MIDI CC numbers would.

“The address pattern can be thought of as the ID of the parameter and the argument is the value or message it sends.”
corpus · introduction-to-open-sound-control-osc-mct-blog · chunk 1