osc protocol - quick introduction matthias kranz matthiashcilaborg by channing-vega 116 slideshows...

8
Department “Institut für Informatik” OSC Protocol - Quick Introduction Matthias Kranz matthias<at>hcilab<dot>org Research Group Embedded Interaction www.hcilab.org 15.08.2005 EI Toolkit

Upload: channing-vega

Post on 31-Dec-2015

36 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg By channing-vega 116 SlideShows Follow User 16 Views Presentation posted in: General

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

Page 2: OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg By channing-vega 116 SlideShows Follow User 16 Views Presentation posted in: General

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/ )

Page 3: OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg By channing-vega 116 SlideShows Follow User 16 Views Presentation posted in: General

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

Page 4: OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg By channing-vega 116 SlideShows Follow User 16 Views Presentation posted in: General

Department “Institut für Informatik”

OSC Atomic Data Types

• int32 (big endian)

• float32 (big endian)

• OSC blob

• OSC string

• OSC timetag (big endian)

Page 5: OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg By channing-vega 116 SlideShows Follow User 16 Views Presentation posted in: General

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)

Page 6: OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg By channing-vega 116 SlideShows Follow User 16 Views Presentation posted in: General

Department “Institut für Informatik”

OSC Bundles

OSC String OSC Bundle Elem.OSC TimeTag

OSC Bundle

#bundle 64 bit

ContentsSize

int32

OSC BundleOSC Message

Page 7: OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg By channing-vega 116 SlideShows Follow User 16 Views Presentation posted in: General

Department “Institut für Informatik”

Hierarchical Address Space

/

lancs/ locationX/

particles/smart-its/pinandplay/

muc/

technology1/ technologyN/

method1 methodN

ip-address:port/

Page 8: OSC Protocol - Quick Introduction Matthias Kranz matthiashcilaborg By channing-vega 116 SlideShows Follow User 16 Views Presentation posted in: General

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).