SlideShare a Scribd company logo
OSC –  O pen  S ound  C ontrol Protocol  A candidate for lighting applications? Frank Burghardt, Markus Minini 2010-Jan-23 www.DMXControl.org
The OSC story – some examples (sound applications) www.DMXControl.de  2010 If you want  the ultimate  in external control of Resolume, the Open Sound Control (OSC) protocol is the answer. OSC is  becoming increasingly popular  and is used by programs like MAX/MSP, VVVV and Reaktor (Native Instruments) OSC can be seen as a  successor of MIDI  and offers a much higher accuracy and is more flexible because it can be sent over a network including wifi. (Resolume Manual) Well, my wish has been granted, the latest AlgoScore supports OSC,  and I'm a happy guy . … most controllers have to overcome a  technical legacy , namely MIDI. Because many controllers can be connected via USB, it is possible to use protocols with higher resolution, of course in particular OSC.  OSC opens a  new era  in the field of real-time control and human-machine interfaces  (Lumor Manual)
Content What is OSC? comparison of DMX, MIDI and OSC popular uses of OSC How OSC works? example configurations basic concepts: messages, addresses etc. Where OSC is supported? devices and tools supporting OSC How to apply OSC in lighting? discussion of OSC schemas for lighting control Summary and live demo www.DMXControl.de  2010
What is OSC? www.DMXControl.de  2010 An alternative concept for: MIDI (focuses on sound)) MediaControl (focuses on video) DMX (focuses on lighting control) Sound synthesizer Computer other multimedia devices IP A protocol for communication between computers, sound synthesizers and other multimedia devices
Comparison of MIDI, DMX and OSC www.DMXControl.de  2010 144 60 64  (MIDI Note-on) /wii/ir/x 0.1503 /play-note 15 0.9 MIDI DMX OSC name Musical Instruments Digital Interface Digital Multiplex Open Sound Control defined in 1983 1986-1990 2002-2004 protocol serial serial independent (e.g. UDP) Speed/rate 31.25kB/sec 250 kbit/sec IP net depended resolution 128 levels 256 levels arbitrary (e.g. float) extensions (IP) RFC4695 ArtNet Spec 2.0 in progress comment predefined messages (byte code) derived from keyboard use RDM improves functionality, but remains in low level concept provides useful improvements, e.g. better resolution, standard network IF
What is Open Sound Control? A message oriented frame work,  but there are no predefined messages and features  -> flexible and open ...   … benefit or drawback ? New properties: intuitive addressing schema,   capability to schedule events in future  variable data types  Works with embedded devices, PDA, iPhone, Wii, ... via internet. OSC is not a physical transport medium can be based on arbitrary transport medium OSI layer 6 “presentation”, uses mainly UDP  OSC doesn’t replace MIDI, due to missing automatic connect-and-play (or plug-and-play) concept  connected devices (via Ethernet, WLAN, Bluetooth etc) cannot scan each other and learn about each others capabilities A file format such as standard MIDI file for exchange of data does not exist www.DMXControl.de  2010
Popular uses of OSC Sensor/Gesture-Based Electronic Musical Instruments Mapping nonmusical data to sound Multiple-User Shared Musical Control Web interfaces Networked LAN Musical Performance WAN performance and Telepresence Virtual Reality, games Wrapping Other Protocols inside OSC www.DMXControl.de  2010 Remote control: Transport of values from sliders, encoders,    (drum) pads, fader wings and touch screen data for input “ command transfer” between tools Media control, VJing Table-top tangible user interfaces, see [TUIO] from [1] Control of light -> ??? -> missing!
OSC applications www.DMXControl.de  2010 see: [3] Quintet.net VJing VirtualDJ
Configuration www.DMXControl.de  2010 Client Server OSC packets via IP Here the  messages are received receives OSC messages from clients executes methods, that are assigned to addresses  sends OSC messages to one or more servers address can contain wildcards  one OSC message can trigger several methods on a server data transfer in one direction (but OSC can be used in a bidirectional way) packet can contain an OSC message or  an OSC bundle packet includes info on the length of data as well as the data itself
Network concepts  Based on IP infra-structure and OSC routing mechanisms for message distribution source: [2] www.DMXControl.de  2010 star architecture mesh (decentralized) OSC
Basics:  messages, bundles, addresses  OSC address schema provides 3 important capabilities:  intuitive names for raised addresses, unrestricted number of name spaces, address areas within messages (incl. wildcards, patterns) are supported www.DMXControl.de  2010 addresses starts with / often defined in hierarchical way (-> name space) can contain wildcards represents one or several methods on a server  examples:   /device/module/control-element  /fader/1/value
Leaves of tree are methods  on the server /fader/1/1 /fader/2/6 /buttons/1/parsfront /buttons/2/parsback examples for p atterns : /fader/?/[1-3] /buttons/1/pars* Other levels: container(-methods) Name space reflects object model proper name space benefits for pattern matching Basics: addresses  www.DMXControl.de  2010 source: [1]
Basics: message www.DMXControl.de  2010 OSC message consists of: OSC address OSC type tag -> (integer, float, string ... [arrays])  -> data types of arguments OSC arguments -> (values) OSC arguments are optional examples: /oscillator/4/frequency ,f 440 /layer1/clip2/video/effect ,ii 3 35 /track1/start
Basics: bundles A Group of OSC messages, containing one or more OSC messages and a time tag OSC methods are called when the time tag is “reached”  Hierarchical concept: bundle can contain other bundles  Processing of OSC messages occurs in sequence, as they are listed in the bundle But quasi-simultaneous processing of messages in the bundle occurs www.DMXControl.de  2010 Open Sound Control  Message : [ address type-tags (i,f,s,b) arguments  . . . ] Open Sound Control  Bundle : [ “#bundle” timestamp integer-length packet-1 packet-2 . . . ]
Examples of OSC router junXion  ©  (Mac OS) is a software tool, processing data from USB devices (joysticks, touchscreens, mouse), MIDI / OSC messages, audio inputs, WiiRemote controllers, Arduino sensor boards and video image tracking.  Output data (MIDI or OSC) can be routed to other MIDI/OSC controllers (SW or HW).   OSCulator GlovePie www.DMXControl.de  2010
Devices and applications with OSC  Audio-/video area: Reaktor, MAX/MSP   Mirage, MADJack, Resolume  Traktor, Ableton, VirtualDJ MXWendler, Ventuz, VVVV, VDMX Hardware: Make Controller Kit, Monome, KISS Box WiSE Box, uOSC  Lemur www.DMXControl.de  2010
OSC based (remote-)controler www.DMXControl.de  2010 Lemur iPhone with OSC applications
OSC software tools OSC Monitors: http://www.frieder-weiss.de/OSC/index.html http://sourceforge.net/projects/braun/ iPhone clients: http://poly.share.dj/projects/#mrmr http://hexler.net/software/touchosc Other clients: Mouse2OSC Development packages: Processing: osp5, Python: SimpleOSC C# : Bespoke OSC, Open Sound Control for .NET (http://luvtechno.net) C/C++: oscpack, OCS-Kit, etc. Java: JavaOSC, NetUtil, etc. www.DMXControl.de  2010
Name space for lighting control intended use to be clarified! definition of name space is required! 3 variants for discussion elementary (DMX level) concept control oriented concept abstract fixtures concept Attention : concepts are intended as a software interface for controllers, not for input signaling of DMX fixtures!  ( OSC within lighting fixtures will need some more time, but would be possible.) www.DMXControl.de  2010
Examples for schemas Typical OSC control elements: objects : deck, mixer, track, layer, composition, device, playlist, fader, rotary, button parameters:  value, direction, speed, mode, volume, position, pan, scale, rotate, opacity, size operations:  select, clear, solo, connect  Hierarchical name space (vs. flat name space) address for volume of layer 1:  /layer1/audio/volume/values first video effect of clip 2 in layer 1: /layer1/clip2/video/effect1 instruction, that the system sends a status update every 500 ms: /constraint/motor/force/magnitude/get 500 www.DMXControl.de  2010
OSC name space for Lighting (1) - elementary level (DMX level) - example OSC name space for OSC - MIDI mapping: /midi/out/noteOn [channel] [key] [velocity] /midi/out/noteOff [channel] [key] [velocity] for DMX, the following name space on  elementary level  is conceivable, see [2]: /dmx/out ,ii [chn] [val]  - set channel [chn] to value [val]  /dmx/in ,ii [chn] [val] or: /dmx/set ,ii  [chn] [val]  - set channel [chn] to value [val]  /dmx/fade ,iif  [chn] [val] [s] - fade channel [chn] to value [val] with    a period of [s] seconds  Disadvantage : too little abstraction    “only” alternative representation for DMX-IN   restricted use of OSC routing features  www.DMXControl.de  2010
OSC name space for Lighting (2) - control oriented concept- Definition on the level of  remote controls : /dmxc/submaster/<number>/value /dmxc/button/<number>/value /dmxc/fader/<number>/value generic concept, from the view of a remote controller (such as iPhone touchOSC)  server (DMX controller) is responsible for mapping to control logic Disadvantage:   Clients are “stupid” -> “Faderwings”, no intelligence www.DMXControl.de  2010
OSC name space for Lighting (3) - abstract fixtures concept - Definition on the level  of HAL  (“Hardware Abstraction Layer”): /dmxc/group/devices/beam/“property“  groups: Moving Lights, Dimmer, Switch, <own groups> beam: fixtures can provide multiple beams properties: color, position, gobo, intensity example:  /dmxc/MovLights/*/beam?/color  blue     sets all Moving Lights to color “blue” Advantage :  clients are able to take over intelligent tasks  good interworking by several components in distributed control DMX controller cares for mapping of logical view to physical view (DMX values) and acts as OSC router for media control etc. www.DMXControl.de  2010
Extract of Lighting name space  www.DMXControl.de  2010 /dmxc /commands /cuelists /groups /PARs /MovLights /<fixtures> /freeze /dmxin /select /start /beam1 /<property> /color /gobo /position /controls /fader /button /... /... /... /... abstract fixtures  concept control oriented  concept elementary (DMX level) concept
Summary Use of OSC in Lighting Control: interesting alternative concept for remote control (OSC capable devices / input devices) can be used in similar way as MIDI is applied today OSC will not replace MIDI, but complement it, see [4] promising concept for distributed control concepts  very helpful for multimedia interaction, if DMX controller works as OSC client Problems from today’s point of view: reliability (UDP/TCP), jitter and missing plug & play behavior no standardized OSC name schema for control of DMX fixtures Proposal: start initiative for OSC name space for lighting control Who joins? www.DMXControl.de  2010
Live demo OSC-Apps (iPhone) WiiMote (via vvvv) Mouse2OSC (Windows) Receiver is DMXControl with  OSC receiver plugin   www.DMXControl.de  2010 vvvv bluetooth
links / sources [1] http://opensoundcontrol.org/ [2] http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/diplom/sukale.pdf  [3] http://www.slideshare.net/GamerSize/open-sound-control-as-middleware-for-games-accessibility-and-bodymovement-controlled-gaming [4] http://www.midi.org/aboutmidi/midi-osc.php [5] http://www.linuxjournal.com/content/introduction-osc [6] http://www.steim.org/steim/junxion_v4.htm www.DMXControl.de  2010
Questions ? www.DMXControl.org www.DMXControl.de  2010 Please send questions, comments and contributions to info [at] dmxcontrol.org
Appendix: address patterns Pattern Syntax: * – matches zero or more characters ? – matches any single character [characters] – matches characters Minus, e.g. [1-3] matches range of characters Leading !, e.g. [!0-9] negates the match {string1,string2,string3} – match a string in list If more than one destination matches address pattern: Send copy of message arguments to each node Fanout to unknown destinations For example: control all “voices” with volume pe dal www.DMXControl.de  2010
Appendix: acknowledgments Thanks for support, contribution or encouragement: Arne L., Mark A., kuni, Fabian E., Julian M., Matthias D.,  … … … (will hopefully continued) www.DMXControl.de  2010

More Related Content

PPTX
Radio over Fiber Technology for WiMAX Systems
PPTX
TRANSMISSION MEDIA
PPTX
Indoor propogation
PPTX
Audio compression
PDF
An Introduction to Audio Principles
PPTX
Long Term Evolution Technologies, 3G & 4G.
PPT
4g mobile-communication-system-1219761984973028-8
PPTX
WIRELESS ATM BY SAIKIRAN PANJALA
Radio over Fiber Technology for WiMAX Systems
TRANSMISSION MEDIA
Indoor propogation
Audio compression
An Introduction to Audio Principles
Long Term Evolution Technologies, 3G & 4G.
4g mobile-communication-system-1219761984973028-8
WIRELESS ATM BY SAIKIRAN PANJALA

Similar to OSC and DMXControl (20)

PPT
Copper lan broadcast
PPTX
Modbus
DOCX
Networking Fundamentals
PPT
PPTX
Linux Systems Prograramming: Unix Domain, Internet Domain (TCP, UDP) Socket P...
PPT
Networking basics
PPT
R K 2 Bluetooth Technologies
PPT
Aspects Stratégiques des Réseaux
PPT
BluetoothMobileIP.ppt
PPT
BluetoothMobileIP.ppt
PPT
BluetoothMobileIP.ppt
PDF
FTTX and Triple Play
PPTX
Driver Configuration Webinar
PPTX
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
PPT
Bluetooth Techniques Peer to peer networking
PPTX
Lect3_MS_Networksvlan,WIRLESS ,CSMA,4G.pptx
PPTX
Cisco networking and protocals ccna.pptx
PDF
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
PDF
Ham radio-without-a-radio
PPT
Remote Login- Noesis
Copper lan broadcast
Modbus
Networking Fundamentals
Linux Systems Prograramming: Unix Domain, Internet Domain (TCP, UDP) Socket P...
Networking basics
R K 2 Bluetooth Technologies
Aspects Stratégiques des Réseaux
BluetoothMobileIP.ppt
BluetoothMobileIP.ppt
BluetoothMobileIP.ppt
FTTX and Triple Play
Driver Configuration Webinar
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
Bluetooth Techniques Peer to peer networking
Lect3_MS_Networksvlan,WIRLESS ,CSMA,4G.pptx
Cisco networking and protocals ccna.pptx
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Ham radio-without-a-radio
Remote Login- Noesis
Ad

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Machine learning based COVID-19 study performance prediction
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
cuic standard and advanced reporting.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Network Security Unit 5.pdf for BCA BBA.
Assigned Numbers - 2025 - Bluetooth® Document
Machine learning based COVID-19 study performance prediction
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation_ Review paper, used for researhc scholars
NewMind AI Weekly Chronicles - August'25-Week II
cuic standard and advanced reporting.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Review of recent advances in non-invasive hemoglobin estimation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Ad

OSC and DMXControl

  • 1. OSC – O pen S ound C ontrol Protocol A candidate for lighting applications? Frank Burghardt, Markus Minini 2010-Jan-23 www.DMXControl.org
  • 2. The OSC story – some examples (sound applications) www.DMXControl.de 2010 If you want the ultimate in external control of Resolume, the Open Sound Control (OSC) protocol is the answer. OSC is becoming increasingly popular and is used by programs like MAX/MSP, VVVV and Reaktor (Native Instruments) OSC can be seen as a successor of MIDI and offers a much higher accuracy and is more flexible because it can be sent over a network including wifi. (Resolume Manual) Well, my wish has been granted, the latest AlgoScore supports OSC, and I'm a happy guy . … most controllers have to overcome a technical legacy , namely MIDI. Because many controllers can be connected via USB, it is possible to use protocols with higher resolution, of course in particular OSC. OSC opens a new era in the field of real-time control and human-machine interfaces (Lumor Manual)
  • 3. Content What is OSC? comparison of DMX, MIDI and OSC popular uses of OSC How OSC works? example configurations basic concepts: messages, addresses etc. Where OSC is supported? devices and tools supporting OSC How to apply OSC in lighting? discussion of OSC schemas for lighting control Summary and live demo www.DMXControl.de 2010
  • 4. What is OSC? www.DMXControl.de 2010 An alternative concept for: MIDI (focuses on sound)) MediaControl (focuses on video) DMX (focuses on lighting control) Sound synthesizer Computer other multimedia devices IP A protocol for communication between computers, sound synthesizers and other multimedia devices
  • 5. Comparison of MIDI, DMX and OSC www.DMXControl.de 2010 144 60 64 (MIDI Note-on) /wii/ir/x 0.1503 /play-note 15 0.9 MIDI DMX OSC name Musical Instruments Digital Interface Digital Multiplex Open Sound Control defined in 1983 1986-1990 2002-2004 protocol serial serial independent (e.g. UDP) Speed/rate 31.25kB/sec 250 kbit/sec IP net depended resolution 128 levels 256 levels arbitrary (e.g. float) extensions (IP) RFC4695 ArtNet Spec 2.0 in progress comment predefined messages (byte code) derived from keyboard use RDM improves functionality, but remains in low level concept provides useful improvements, e.g. better resolution, standard network IF
  • 6. What is Open Sound Control? A message oriented frame work, but there are no predefined messages and features -> flexible and open ... … benefit or drawback ? New properties: intuitive addressing schema, capability to schedule events in future variable data types Works with embedded devices, PDA, iPhone, Wii, ... via internet. OSC is not a physical transport medium can be based on arbitrary transport medium OSI layer 6 “presentation”, uses mainly UDP OSC doesn’t replace MIDI, due to missing automatic connect-and-play (or plug-and-play) concept connected devices (via Ethernet, WLAN, Bluetooth etc) cannot scan each other and learn about each others capabilities A file format such as standard MIDI file for exchange of data does not exist www.DMXControl.de 2010
  • 7. Popular uses of OSC Sensor/Gesture-Based Electronic Musical Instruments Mapping nonmusical data to sound Multiple-User Shared Musical Control Web interfaces Networked LAN Musical Performance WAN performance and Telepresence Virtual Reality, games Wrapping Other Protocols inside OSC www.DMXControl.de 2010 Remote control: Transport of values from sliders, encoders, (drum) pads, fader wings and touch screen data for input “ command transfer” between tools Media control, VJing Table-top tangible user interfaces, see [TUIO] from [1] Control of light -> ??? -> missing!
  • 8. OSC applications www.DMXControl.de 2010 see: [3] Quintet.net VJing VirtualDJ
  • 9. Configuration www.DMXControl.de 2010 Client Server OSC packets via IP Here the messages are received receives OSC messages from clients executes methods, that are assigned to addresses sends OSC messages to one or more servers address can contain wildcards one OSC message can trigger several methods on a server data transfer in one direction (but OSC can be used in a bidirectional way) packet can contain an OSC message or an OSC bundle packet includes info on the length of data as well as the data itself
  • 10. Network concepts Based on IP infra-structure and OSC routing mechanisms for message distribution source: [2] www.DMXControl.de 2010 star architecture mesh (decentralized) OSC
  • 11. Basics: messages, bundles, addresses OSC address schema provides 3 important capabilities: intuitive names for raised addresses, unrestricted number of name spaces, address areas within messages (incl. wildcards, patterns) are supported www.DMXControl.de 2010 addresses starts with / often defined in hierarchical way (-> name space) can contain wildcards represents one or several methods on a server examples: /device/module/control-element /fader/1/value
  • 12. Leaves of tree are methods on the server /fader/1/1 /fader/2/6 /buttons/1/parsfront /buttons/2/parsback examples for p atterns : /fader/?/[1-3] /buttons/1/pars* Other levels: container(-methods) Name space reflects object model proper name space benefits for pattern matching Basics: addresses www.DMXControl.de 2010 source: [1]
  • 13. Basics: message www.DMXControl.de 2010 OSC message consists of: OSC address OSC type tag -> (integer, float, string ... [arrays]) -> data types of arguments OSC arguments -> (values) OSC arguments are optional examples: /oscillator/4/frequency ,f 440 /layer1/clip2/video/effect ,ii 3 35 /track1/start
  • 14. Basics: bundles A Group of OSC messages, containing one or more OSC messages and a time tag OSC methods are called when the time tag is “reached” Hierarchical concept: bundle can contain other bundles Processing of OSC messages occurs in sequence, as they are listed in the bundle But quasi-simultaneous processing of messages in the bundle occurs www.DMXControl.de 2010 Open Sound Control Message : [ address type-tags (i,f,s,b) arguments . . . ] Open Sound Control Bundle : [ “#bundle” timestamp integer-length packet-1 packet-2 . . . ]
  • 15. Examples of OSC router junXion © (Mac OS) is a software tool, processing data from USB devices (joysticks, touchscreens, mouse), MIDI / OSC messages, audio inputs, WiiRemote controllers, Arduino sensor boards and video image tracking. Output data (MIDI or OSC) can be routed to other MIDI/OSC controllers (SW or HW). OSCulator GlovePie www.DMXControl.de 2010
  • 16. Devices and applications with OSC Audio-/video area: Reaktor, MAX/MSP Mirage, MADJack, Resolume Traktor, Ableton, VirtualDJ MXWendler, Ventuz, VVVV, VDMX Hardware: Make Controller Kit, Monome, KISS Box WiSE Box, uOSC Lemur www.DMXControl.de 2010
  • 17. OSC based (remote-)controler www.DMXControl.de 2010 Lemur iPhone with OSC applications
  • 18. OSC software tools OSC Monitors: http://www.frieder-weiss.de/OSC/index.html http://sourceforge.net/projects/braun/ iPhone clients: http://poly.share.dj/projects/#mrmr http://hexler.net/software/touchosc Other clients: Mouse2OSC Development packages: Processing: osp5, Python: SimpleOSC C# : Bespoke OSC, Open Sound Control for .NET (http://luvtechno.net) C/C++: oscpack, OCS-Kit, etc. Java: JavaOSC, NetUtil, etc. www.DMXControl.de 2010
  • 19. Name space for lighting control intended use to be clarified! definition of name space is required! 3 variants for discussion elementary (DMX level) concept control oriented concept abstract fixtures concept Attention : concepts are intended as a software interface for controllers, not for input signaling of DMX fixtures! ( OSC within lighting fixtures will need some more time, but would be possible.) www.DMXControl.de 2010
  • 20. Examples for schemas Typical OSC control elements: objects : deck, mixer, track, layer, composition, device, playlist, fader, rotary, button parameters: value, direction, speed, mode, volume, position, pan, scale, rotate, opacity, size operations: select, clear, solo, connect Hierarchical name space (vs. flat name space) address for volume of layer 1: /layer1/audio/volume/values first video effect of clip 2 in layer 1: /layer1/clip2/video/effect1 instruction, that the system sends a status update every 500 ms: /constraint/motor/force/magnitude/get 500 www.DMXControl.de 2010
  • 21. OSC name space for Lighting (1) - elementary level (DMX level) - example OSC name space for OSC - MIDI mapping: /midi/out/noteOn [channel] [key] [velocity] /midi/out/noteOff [channel] [key] [velocity] for DMX, the following name space on elementary level is conceivable, see [2]: /dmx/out ,ii [chn] [val] - set channel [chn] to value [val] /dmx/in ,ii [chn] [val] or: /dmx/set ,ii  [chn] [val] - set channel [chn] to value [val] /dmx/fade ,iif  [chn] [val] [s] - fade channel [chn] to value [val] with a period of [s] seconds Disadvantage : too little abstraction “only” alternative representation for DMX-IN restricted use of OSC routing features www.DMXControl.de 2010
  • 22. OSC name space for Lighting (2) - control oriented concept- Definition on the level of remote controls : /dmxc/submaster/<number>/value /dmxc/button/<number>/value /dmxc/fader/<number>/value generic concept, from the view of a remote controller (such as iPhone touchOSC) server (DMX controller) is responsible for mapping to control logic Disadvantage: Clients are “stupid” -> “Faderwings”, no intelligence www.DMXControl.de 2010
  • 23. OSC name space for Lighting (3) - abstract fixtures concept - Definition on the level of HAL (“Hardware Abstraction Layer”): /dmxc/group/devices/beam/“property“ groups: Moving Lights, Dimmer, Switch, <own groups> beam: fixtures can provide multiple beams properties: color, position, gobo, intensity example: /dmxc/MovLights/*/beam?/color blue sets all Moving Lights to color “blue” Advantage : clients are able to take over intelligent tasks good interworking by several components in distributed control DMX controller cares for mapping of logical view to physical view (DMX values) and acts as OSC router for media control etc. www.DMXControl.de 2010
  • 24. Extract of Lighting name space www.DMXControl.de 2010 /dmxc /commands /cuelists /groups /PARs /MovLights /<fixtures> /freeze /dmxin /select /start /beam1 /<property> /color /gobo /position /controls /fader /button /... /... /... /... abstract fixtures concept control oriented concept elementary (DMX level) concept
  • 25. Summary Use of OSC in Lighting Control: interesting alternative concept for remote control (OSC capable devices / input devices) can be used in similar way as MIDI is applied today OSC will not replace MIDI, but complement it, see [4] promising concept for distributed control concepts very helpful for multimedia interaction, if DMX controller works as OSC client Problems from today’s point of view: reliability (UDP/TCP), jitter and missing plug & play behavior no standardized OSC name schema for control of DMX fixtures Proposal: start initiative for OSC name space for lighting control Who joins? www.DMXControl.de 2010
  • 26. Live demo OSC-Apps (iPhone) WiiMote (via vvvv) Mouse2OSC (Windows) Receiver is DMXControl with OSC receiver plugin www.DMXControl.de 2010 vvvv bluetooth
  • 27. links / sources [1] http://opensoundcontrol.org/ [2] http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/diplom/sukale.pdf [3] http://www.slideshare.net/GamerSize/open-sound-control-as-middleware-for-games-accessibility-and-bodymovement-controlled-gaming [4] http://www.midi.org/aboutmidi/midi-osc.php [5] http://www.linuxjournal.com/content/introduction-osc [6] http://www.steim.org/steim/junxion_v4.htm www.DMXControl.de 2010
  • 28. Questions ? www.DMXControl.org www.DMXControl.de 2010 Please send questions, comments and contributions to info [at] dmxcontrol.org
  • 29. Appendix: address patterns Pattern Syntax: * – matches zero or more characters ? – matches any single character [characters] – matches characters Minus, e.g. [1-3] matches range of characters Leading !, e.g. [!0-9] negates the match {string1,string2,string3} – match a string in list If more than one destination matches address pattern: Send copy of message arguments to each node Fanout to unknown destinations For example: control all “voices” with volume pe dal www.DMXControl.de 2010
  • 30. Appendix: acknowledgments Thanks for support, contribution or encouragement: Arne L., Mark A., kuni, Fabian E., Julian M., Matthias D., … … … (will hopefully continued) www.DMXControl.de 2010