Interoperability Protocols: OSC & DMX
Introduction to Interoperability Protocols
In this section, the speaker introduces the concept of interoperability protocols in TouchDesigner. The focus is on connecting different programs, devices, and tools. Two examples of protocols discussed are OSC (Open Sound Control) and DMX (Digital Multiplex).
OSC (Open Sound Control)
- OSC is used to send data between different processes or applications on the same network.
- OSC can be used in TouchDesigner to share data with other processes or applications.
- To send data via OSC in TouchDesigner, an OSC Out CHOP is used.
- To receive data via OSC in TouchDesigner, an OSC In CHOP is added to the network.
DMX (Digital Multiplex)
- DMX is a common industry protocol for lighting systems.
- In TouchDesigner, DMX can be used to control lighting fixtures.
- A Constant CHOP can be used to create channels for a lighting setup.
- The values in the Constant CHOP need to be adjusted using a Math CHOP to match the range required by DMX fixtures (0 to 255).
- A DMX Out CHOP is added to send the DMX data.
- A DMX In CHOP is added to receive DMX data.
MIDI and TCP/IP
- TouchDesigner also supports MIDI devices for input and output.
- MIDI Chops and MIDI Dots are available for working with MIDI data.
- The software also supports TCP/IP (Internet Protocol) for communication with web-based applications.
Creating Fake Data for OSC
This section focuses on creating fake data that will be sent via OSC in TouchDesigner.
Creating Fake Data
- Double-click on the network and navigate to the LFO CHOP.
- Right-click on the LFO CHOP and select OSC Out CHOP.
- The OSC Out CHOP will be used to send the fake data via OSC.
Routing OSC Data Back into TouchDesigner
This section explains how to route OSC data back into TouchDesigner.
Routing OSC Data
- Double-click on the network and add an OSC In CHOP.
- The OSC In CHOP will receive the OSC data sent by the OSC Out CHOP.
- Ensure that the Network Port settings of both the OSC Out CHOP and the OSC In CHOP match for successful data transmission.
Using Python with OSC
This section discusses using Python to work with OSC messages in TouchDesigner.
Using Python with OSC
- Instead of using an OSC CHOP, an OscOut DAT and OscIn DAT can be used to handle osc messages in Python scripting.
- These DAT operators provide more flexibility for working with osc messages in a script-based approach.
Introduction to DMX Lighting Control
This section introduces DMX as a common industry protocol for lighting control in TouchDesigner.
DMX Lighting Control
- DMX is widely used for controlling lighting fixtures in various industries.
- To control DMX fixtures in TouchDesigner, a Constant CHOP is used to create channels for dimmer, red (R), green (G), and blue (B).
- The values in the Constant CHOP need to be adjusted using a Math CHOP to match the range required by DMX fixtures (0 to 255).
Setting Up DMX Output
This section explains how to set up DMX output in TouchDesigner.
Setting Up DMX Output
- Add a Math CHOP after the Constant CHOP to adjust the range of values from 0-1 to 0-255.
- Ensure that the "Integer" parameter is set to "Round" in the Math CHOP for accurate transmission of integer values.
- Add a DMX Out CHOP to send the DMX data.
- Configure the interface parameter of the DMX Out CHOP based on the desired method of sending DMX data (e.g., ArtNet).
Simulating DMX Output
This section explains how to simulate DMX output in TouchDesigner.
Simulating DMX Output
- Select "ArtNet" as the interface parameter in the DMX Out CHOP.
- Middle mouse click on the channels in the DMX Out CHOP and ensure all required channels are selected.
- Simulate sending data by adjusting values in the Constant CHOP.
Introduction to MIDI and TCP/IP
This section introduces MIDI devices and TCP/IP communication in TouchDesigner.
MIDI Devices
- TouchDesigner supports MIDI devices for input and output.
- MIDI Chops and MIDI Dots can be used for working with MIDI data.
TCP/IP Communication
- TouchDesigner also supports TCP/IP (Internet Protocol) for communication with web-based applications.
Conclusion
In this tutorial, we learned about interoperability protocols in TouchDesigner, specifically OSC and DMX. We explored how to create fake data for OSC, route OSC data back into TouchDesigner, use Python with OSC messages, control lighting fixtures using DMX, set up DMX output, simulate DMX output, and briefly touched upon MIDI devices and TCP/IP communication. These protocols provide powerful ways to connect TouchDesigner with other programs, devices, and tools.