A comprehensive curriculum for art students exploring creative coding through Max4Live, focusing on building custom communication protocols between Ableton Live, TouchDesigner, and physical hardware.
This course takes a ground-up approach to understanding audio-visual integration. Rather than relying on pre-built solutions like TDAbleton, we build our own communication systems from scratch. This approach ensures:
- Deep understanding of underlying protocols (Serial, OSC, DMX)
- Creative freedom to design custom workflows beyond standard tools
- Transferable knowledge applicable to any creative coding environment
- Problem-solving skills that extend far beyond these specific platforms
Connect physical sensors and controls directly to Ableton Live through Arduino, creating custom MIDI controllers and interactive installations.
- Reading analog/digital sensors
- Mapping hardware inputs to Live parameters
- Building custom control surfaces
- Bidirectional communication
Create a robust communication pipeline where Arduino data flows through TouchDesigner and back to Ableton via OSC.
- Serial data ingestion in TouchDesigner
- OSC protocol implementation
- Real-time parameter mapping
- Multi-directional data flow
A powerful M4L device that lets you click any parameter in Ableton's interface and automatically route its values to TouchDesigner.
- Live UI introspection
- Dynamic parameter discovery
- Automatic OSC routing
- Visual parameter monitoring
Transform Ableton's audio and MIDI data into DMX512 lighting control protocols.
- Audio reactivity for lights
- MIDI-to-DMX mapping
- Fixture control systems
- Timeline-synced lighting design
Control multi-channel spatial audio systems using the combined power of TouchDesigner, M4L, and Envelop4Live.
- 3D audio positioning
- Gesture-based spatial control
- Visual-to-spatial mapping
- Ambisonics integration
- Ableton Live (Standard or Suite recommended)
- Max 8 or Max for Live
- TouchDesigner (Free version is sufficient)
- Arduino IDE
- Envelop4Live (for spatial audio projects)
- Arduino board (Uno, Nano, or compatible)
- Sensors (potentiometers, buttons, distance sensors, etc.)
- DMX interface (for lighting projects)
- Basic understanding of audio concepts
- Willingness to learn programming fundamentals
- Curiosity about creative technology
/01-serial-controller/
├── arduino/ # Arduino sketches
├── maxpatches/ # M4L devices
└── examples/ # Example projects
/02-osc-bridge/
├── touchdesigner/ # TD components
├── maxpatches/ # M4L OSC devices
└── examples/
/03-parameter-sniffer/
├── maxpatches/ # Parameter discovery devices
└── examples/
/04-dmx-converter/
├── maxpatches/ # DMX output devices
├── fixtures/ # DMX fixture profiles
└── examples/
/05-spatial-audio/
├── touchdesigner/ # Spatial control interfaces
├── maxpatches/ # Spatial routing devices
└── examples/
/resources/
├── documentation/ # Additional guides
└── troubleshooting/ # Common issues and solutions
Each module builds upon the previous, introducing new concepts while reinforcing fundamentals:
- Start with Serial - Learn basic communication protocols
- Expand to OSC - Add network communication and TouchDesigner
- Master Parameter Control - Deep dive into Live's API
- Branch into DMX - Apply knowledge to lighting control
- Synthesize with Spatial Audio - Combine all skills in immersive audio
- Clone this repository
- Install all required software
- Start with
01-serial-controller/README.md - Follow the modules sequentially
- Experiment and break things!
This is a living curriculum. Contributions, improvements, and alternative approaches are welcome. Please submit pull requests or open issues for discussion.
[Choose appropriate license - MIT, GPL, CC, etc.]
- Issues: Use GitHub issues for bug reports and questions
- Discussions: Share your projects and get help from peers
- Wiki: Additional resources and community contributions
Built for art students who want to understand technology deeply enough to bend it to their creative will.
"The best way to learn is to build. The best way to build is to understand."