osc protocol - quick introduction matthias kranz matthiashcilaborg by channing-vega 116 slideshows...
DESCRIPTION
EI Toolkit. OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg. 15.08.2005. Research Group Embedded Interaction www.hcilab.org. Open Sound Control (OSC). - PowerPoint PPT PresentationTRANSCRIPT
Department “Institut für Informatik”
OSC Protocol - Quick IntroductionMatthias Kranz
matthias<at>hcilab<dot>org
Research Group Embedded Interaction
www.hcilab.org
15.08.2005
EI Toolkit
Department “Institut für Informatik”
Open Sound Control (OSC)
• “OpenSound Control (OSC) is an open, transport-independent, message-based protocol developed for communication among computers, sound synthesizers, and other multimedia devices.”
(from OSC specification, http://www.cnmat.berkeley.edu/OpenSoundControl/ )
Department “Institut für Informatik”
Open Sound Control (OSC) Features
• Open-ended, dynamic,plain-text, URL-style symbolic naming scheme
• Numeric and symbolic arguments to messages • Pattern matching language (regular expressions)
to specify multiple targets of a single message • High resolution time tags (via synchronized time)• ‘Bundles’ of messages whose effects must occur
simultaneously • Query system to dynamically find out the
capabilities of an OSC server and get documentation
Department “Institut für Informatik”
OSC Atomic Data Types
• int32 (big endian)
• float32 (big endian)
• OSC blob
• OSC string
• OSC timetag (big endian)
Department “Institut für Informatik”
OSC Address OSC ArgumentsOSC Type Tag
OSC Message
OSC Messages
OSC String, address parts separated by ‘/’, starting with ‘/’
OSC String, one character for each data type that is in the argument part of the message, starting with ‘,’
0 to n arguments, in their binary representation, length with respect to its type
e.g./muc/particles/2.229.0.0.0.182.249/setText/
,si binary form of “hello world”3 (big endian for float32, int32 and timetag)
(will send “hello world” to the named particle and display the text in row 3)
Department “Institut für Informatik”
OSC Bundles
OSC String OSC Bundle Elem.OSC TimeTag
OSC Bundle
#bundle 64 bit
ContentsSize
int32
OSC BundleOSC Message
Department “Institut für Informatik”
Hierarchical Address Space
/
lancs/ locationX/
particles/smart-its/pinandplay/
muc/
technology1/ technologyN/
method1 methodN
ip-address:port/
Department “Institut für Informatik”
OSC Example Message
/muc/particle/2.229.0.0.0.182.249/setText,si,/location/id_of_sender\00b010101010101010
(hierarchical address as OSC String, null terminated, number of bits is multiple of 32, filled with \0, then the OSC data types in the message, also as null-terminated OSC String, number of bits is multiple of 32, followed by the data in binary form, big endian encoding for int32, float32 and timetag)
The first string in the message (required!) is the ID (as string) of the sender. (EIToolkit specific extension).