TouchDesigner to Lights
Send TouchDesigner compositions to Spectralite via NDI for generative lighting
TouchDesigner to Lights
Connect TouchDesigner's visual outputs to Spectralite via NDI for generative and data-driven lighting control.
Overview
TouchDesigner is a node-based visual programming environment for real-time interactive multimedia content. Spectralite receives TouchDesigner's NDI output. Lighting can then follow data, sensor input, or generative patterns.
What you'll need
- TouchDesigner (commercial or non-commercial license)
- Network connection between TouchDesigner and Spectralite
- Spectralite running on the same network
Quick start
- Add an NDI Out TOP in TouchDesigner.
- Connect your composition to NDI Out.
- Enable the stream in Spectralite.
- Create reactive effects using the NDI data.
Setting up NDI in TouchDesigner
Step 1: Add NDI Out TOP
- Open your TouchDesigner project.
- Add an NDI Out TOP operator to your network.
- Connect your visual output to the NDI Out TOP input.
- The NDI stream starts automatically when enabled.
Step 2: Configure NDI Out TOP
In the NDI Out TOP parameters:
- NDI Name: set a descriptive name (e.g., "TouchDesigner-Main").
- Active: enable to start transmission.
- Resolution: set output resolution (720p recommended).
- Pixel Format: RGBA or RGB (RGBA if you need an alpha channel).
Step 3: Verify output
- Check the Info DAT in TouchDesigner to verify streaming.
- Look for a network activity indicator.
- Monitor frame rate in the performance monitor.
For detailed configuration, see TouchDesigner's NDI Out TOP documentation.
Connecting to Spectralite
Enable NDI in Spectralite
- Open Spectralite.
- Go to Edit > Inputs > NDI.
- Enable NDI input enabled and Auto-discover sources.
- This dialog does not show a source picker; TouchDesigner's stream is consumed by the NDI Input node in the Node Editor and by the built-in NDI Input layer effect.
Using TouchDesigner in Spectralite
There are two ways to use TouchDesigner's output in your lighting.
Quick start: built-in NDI layer
For immediate use, add an NDI layer directly to your timeline:
- In the Timeline panel, click + Add new layer.
- Select the built-in NDI Input effect.
TouchDesigner's output now drives your fixtures.
Advanced: custom effects with NDI nodes
For custom control over how TouchDesigner drives lighting:
- Open the Node Editor.
- Create a new effect or edit an existing one.
- Add an NDI Input node to sample video data from TouchDesigner.
- Connect it to other nodes to create custom generative lighting effects.
Optimization for performance
Reduce the NDI output resolution in TouchDesigner (720p is usually enough), cap network dimensions with a Limit TOP, and watch GPU memory for large textures. Use wired gigabit Ethernet, keep both systems on the same subnet, and monitor bandwidth inside TouchDesigner. In Spectralite, sample at a resolution matched to your fixture count and simplify effects when the NDI source is complex.
Common workflows
Generative lighting system
Autonomous lighting driven by algorithms:
- Create generative networks (noise, feedback, particles) in TouchDesigner.
- Use parameters to control behavior.
- Output to Spectralite via NDI.
- Lighting evolves based on the algorithm.
Sensor-reactive installation
Physical sensors control lighting via TouchDesigner:
- Connect sensors to TouchDesigner (OSC, MIDI, serial, etc.).
- Process sensor data into visual patterns.
- Send to Spectralite via NDI.
- Lighting responds to environmental input.
Audiovisual performance
Synchronized audio-reactive visuals and lighting:
- Analyze audio in TouchDesigner.
- Generate reactive visuals.
- Send the same visual data to Spectralite.
- Visuals and lights stay in sync because they share the source.
Data visualization
Transform data into lighting:
- Fetch data in TouchDesigner (weather, social media, analytics).
- Visualize as colors, patterns, or spatial data.
- Output to Spectralite.
- Lighting becomes a data display medium.
Advanced techniques
Multi-output setup
Send multiple TouchDesigner outputs:
- Add multiple NDI Out TOPs for different compositions.
- Name each descriptively (e.g., "TD-Zone1", "TD-Zone2").
- Use different streams for different fixture groups.
Alpha channel control
Use transparency for intensity control:
- Include an alpha channel in NDI output (RGBA format).
- Sample alpha values in Spectralite.
- Control fixture intensity based on alpha.
- Use alpha transitions to drive fades.
CHOP-to-color mapping
Use TouchDesigner CHOPs for direct control:
- Create CHOP networks for control data.
- Convert to TOP (colors) for NDI transmission.
- Each pixel represents a fixture or parameter.
- Drive fixtures using TouchDesigner's data processing.
Instancing for complex patterns
Use geometry instancing in TouchDesigner:
- Create instance positions and colors in TOPs.
- Render instances to texture.
- Send to Spectralite via NDI.
- Each instance maps to a fixture.
Troubleshooting
Stream not appearing
- Verify NDI Out TOP is Active.
- Check both systems on the same network.
- Verify the firewall allows NDI (port 5353 for discovery).
- Check NDI Out TOP Info DAT for errors.
Frame rate issues
- Optimize the TouchDesigner network (use Performance Monitor).
- Reduce NDI output resolution.
- Lower the Cook Rate on NDI Out TOP if real-time isn't critical.
- Check GPU usage in Task Manager.
Network latency
- Use a wired Ethernet connection.
- Reduce output resolution.
- Apply a Limit TOP to the network before NDI Out.
- Monitor the network with the Network Performance window.
Color accuracy
- Match color space settings (sRGB typical).
- Check gamma in the rendering chain.
- Verify pixel format (RGBA vs RGB).
Integration tips
OSC control
Control both applications simultaneously:
- Send OSC to TouchDesigner for visuals.
- Send OSC to Spectralite for direct control.
- Use TouchDesigner as an OSC router or processor.
MIDI synchronization
Sync both applications to MIDI:
- Route MIDI to TouchDesigner via MIDI In CHOP.
- Route MIDI to Spectralite for direct control.
- TouchDesigner processes MIDI for complex behaviors.
- Lighting follows both direct and processed data.
Time-based control
Use timeline-based control in both:
- TouchDesigner Timeline COMP for sequences.
- Coordinate with Spectralite's timeline.
- Pre-program synchronized shows.
- Combine with live improvisation.
Resources
- TouchDesigner NDI Out TOP Documentation: official operator reference.
- General NDI Setup: generic NDI workflow.
- Node Editor: create NDI-reactive effects.