# Touchdesigner

TouchDesigner is a visual programming environment aimed at the creation of multimedia applications. A realtime creative coding tool to make programming accessible for artists and designers also without a formal programming skills. TouchDesigner allows you to connect “everything to everything" Everything that can be digitised can become an input to a TD application and everything that can be controlled digitally can be output from TD, allowing you to connect the digital world to the real world.

# Getting & installing Touchdesigner

Download Touchdesigner here:

[https://derivative.ca/download](https://derivative.ca/download)  
  
Check the system requirements &amp; download the right version. Install it as usual.  
  
<span style="color:rgb(53,152,219);">KEy</span>  
  
The NON-COMMERCIAL version is free to use, but has limitations on resolution.  
Sing up (free) to get the keys for install.  
Check in with the HKUBlackbox if you need to borrow an educational license to unlock certain possibilities.   
Check the 'enable dongle' or 'codemeter' box during the install for this.

# Learning Touchdesigner

You can learn Touchdesigner online! The community is 'small' and helpful, to get started check out these resources:   
  
The derivative site:   
[https://derivative.ca/learn](https://derivative.ca/learn)   
[https://derivative.ca/UserGuide/First\_Things\_to\_Know\_about\_TouchDesigner](https://derivative.ca/UserGuide/First_Things_to_Know_about_TouchDesigner)   
[https://learn.derivative.ca/](https://learn.derivative.ca/)   
[https://learn.derivative.ca/courses/100-fundamentals/](https://learn.derivative.ca/courses/100-fundamentals/)   
  
**Our recommendations:** These are the TDtutorial masters, they cover a super broad spectrum and help you actually understand the basics:

<div id="bkmrk-matthew%3A%C2%A0https%3A%2F%2Fwww"><table class="align-center" style="border-collapse:collapse;width:100%;height:1016.82px;border:1px groove rgb(236,202,250);"><colgroup><col style="width:33.2509%;"></col><col style="width:34.3634%;"></col><col style="width:32.2621%;"></col></colgroup><tbody><tr style="height:355.258px;"><td class="align-center" style="height:355.258px;">[<iframe height="111" src="https://www.youtube.com/embed/Z_WfldiO6HI?list=PLFrhecWXVn5862cxJgysq9PYSjLdfNiHz" style="width:179px;height:99px;" width="200"></iframe>](https://www.youtube.com/watch?v=Z_WfldiO6HI&list=PLFrhecWXVn5862cxJgysq9PYSjLdfNiHz&index=1 "TD beginner course")

[elekktronaut.com](https://www.youtube.com/watch?v=Z_WfldiO6HI&list=PLFrhecWXVn5862cxJgysq9PYSjLdfNiHz&index=1 "TD beginner course")  
bileam tschepe (elekktronaut)  
[youtube](https://www.youtube.com/user/nose2bear/videos) playlist  
  
Very thorough &amp; clear beginners course to get you started.  
  
  
[Full beginner course ](https://youtu.be/Z_WfldiO6HI?list=PLFrhecWXVn5862cxJgysq9PYSjLdfNiHz)

</td><td class="align-center" style="height:355.258px;"><iframe height="110" src="https://www.youtube.com/embed/hDHui-lxRw0?list=PLpuCjVEMQha9_WchDzqG878GtsJd1uJ5s" style="width:158px;height:87px;" width="200"></iframe>

  
 [https://interactiveimmersive.io/](https://interactiveimmersive.io/)  
The Interactive &amp; Immersive Headquarters  
[youtube playlist](https://www.youtube.com/watch?v=hDHui-lxRw0&list=PLpuCjVEMQha9_WchDzqG878GtsJd1uJ5s)  
  
The Interactive and Immersive HQ has a mission: Help TouchDesigner freelancers, agencies, artists and designers achieve their artistic visions.  
</td><td class="align-center" style="height:355.258px;"><iframe height="111" src="https://www.youtube.com/embed/qbupHTeJCeU" style="width:199px;height:61px;" width="200"></iframe>

[@acrylicode](https://www.youtube.com/@acrylicode "youtube")

  
  
  
In this channel you will teach how to use Touchdesigner as a creative tool.  
  
[Playlist](https://www.youtube.com/playlist?list=PLZeDM2TloijWODqRjQrE_WwoK1inYP1PX) of beginner tutorials

</td></tr><tr style="height:357.383px;"><td class="align-center" style="height:357.383px;"><iframe height="112" src="https://www.youtube.com/embed/K7fRKMCBnd0?list=PLs0WlHa1rf23bIKTOO7AwY7FaSRExk2Go&index=2" width="200"></iframe>

  
[https://matthewragan.com/](https://matthewragan.com/)  
Matthew Ragan  
[youtube](https://www.youtube.com/@raganmd/videos) playlist

Very clear &amp; thorough tutorials, that really help you understand what you are doing.

</td><td class="align-center" style="height:357.383px;">Check out ALLTD:  
  
beginners: [https://alltd.org/category/beginner/](https://alltd.org/category/beginner/)  
intermediate: [https://alltd.org/category/intermediate/](https://alltd.org/category/intermediate/)   
advanced [https://alltd.org/category/advanced/](https://alltd.org/category/advanced/)

</td><td class="align-center" style="height:357.383px;">  
[![Screenshot 2025-03-19 at 20.06.07.png](https://bookstack.hku.nl/uploads/images/gallery/2025-03/scaled-1680-/screenshot-2025-03-19-at-20-06-07.png)](https://bookstack.hku.nl/uploads/images/gallery/2025-03/screenshot-2025-03-19-at-20-06-07.png)

[Okamirufu Vizualizer](https://www.youtube.com/@OkamirufuV)

Okamirufu Vizualizer  
Youtube channel

This channel is for TouchDesigner Enthusiast. Tutorials using static screenshots of the network &amp; clear explanation.

</td></tr><tr style="height:304.18px;"><td style="height:304.18px;">Here's a [playlist](https://youtube.com/playlist?list=PL0UTrJQehb2MMDdTpnSE-qSAPajVGbiMK&si=bZi_90rXT-QcHcHj) on youtube full of inspiring tutorials by various makers, new ones are added on a regular bases. tips to add welcome!

</td><td style="height:304.18px;">Some of out favourite tutorial makers:   
[https://www.youtube.com/@elekktronaut](https://www.youtube.com/@elekktronaut)  
[https://www.youtube.com/@TheInteractiveImmersiveHQ](https://www.youtube.com/@TheInteractiveImmersiveHQ)  
[https://www.youtube.com/@paketa12](https://www.youtube.com/@paketa12)   
[https://www.youtube.com/@OkamirufuV](https://www.youtube.com/@OkamirufuV)  
[https://www.youtube.com/@acrylicode](https://www.youtube.com/@acrylicode)  
[https://www.youtube.com/@rey\_nbows](https://www.youtube.com/@rey_nbows)  
[https://www.youtube.com/@raganmd](https://www.youtube.com/@raganmd)  
[https://www.youtube.com/@NotoTheTalkingBall](https://www.youtube.com/@NotoTheTalkingBall)   
[https://www.youtube.com/@pppanik007](https://www.youtube.com/@pppanik007)

</td><td style="height:304.18px;">more touchdesigner resources   
  
[https://github.com/monkeymonk/awesome-touchdesigner](https://github.com/monkeymonk/awesome-touchdesigner)

</td></tr></tbody></table>

</div>#####   
  
**Stuck?**

Check out help on:  
The Forum: [https://forum.derivative.ca/](https://forum.derivative.ca/)  
Discord: [https://discord.com/invite/senqbr2](https://discord.com/invite/senqbr2)   
Reddit: [https://www.reddit.com/r/TouchDesigner/](https://www.reddit.com/r/TouchDesigner/)   
Facebook community :   
[TouchDesigner Artist Community (fb)](https://www.facebook.com/groups/235612494392957)   
[TouchDesigner Help Group](https://www.facebook.com/groups/225822177583790)  
[TouchDesigner Help Group Netherlands](https://www.facebook.com/groups/1006478572702131)

<div id="bkmrk-"></div><div id="bkmrk-or-contact-a-blackbo">or contact a Blackbox host!  
  
  
</div>##### **Cheat Sheets:**

Common Python operations: [https://matthewragan.com/teaching-resources/touchdesigner/touchdesigner-common-operations-cheat-sheet/](https://matthewragan.com/teaching-resources/touchdesigner/touchdesigner-common-operations-cheat-sheet/)

Keyboard Shortcuts: [https://matthewragan.com/teaching-resources/touchdesigner/touchdesigner-keyboard-shortcuts/](https://matthewragan.com/teaching-resources/touchdesigner/touchdesigner-keyboard-shortcuts/)

##### Integration with Resolume

https://vjgalaxy.com/blogs/touchdesigner-tutorials/enhancing-resolume-with-real-time-vj-visuals-generators

# Mediapipe for bodytracking in TD: No kinect needed!

Realtime Body tracking on Mac &amp; Pc with just a webcam!  
  
Camera's like Kinect can do body &amp; facial tracking with infra red. You can read more about this on [another one of our bookstack pages](https://bookstack.hku.nl/books/3d-depth-cameras-motion-tracking "3d-depth-cameras").   
But with AI, you can now also use your webcam for tracking!

Mediapipe is Machine Learning by Google implemented through Python;   
read up on the details here; [https://developers.google.com/mediapipe](https://developers.google.com/mediapipe)   
And if this kind of goes above your head but you do kind of want to understand what you are doing check this out: [https://www.assemblyai.com/blog/mediapipe-for-dummies/](https://www.assemblyai.com/blog/mediapipe-for-dummies/)   
  
You can install Mediapipe on you computer and in Touchdesigner using this step by step tutorial: [http://www.magicandlove.com/blog/2021/06/02/mediapipe-in-touchdesigner-6/](http://www.magicandlove.com/blog/2021/06/02/mediapipe-in-touchdesigner-6/)  
  
But, since 2023 Torin Blankensmith has developed a plugin for TD (so no separate install of mediapipe!)  
Check out the [tutorial](https://youtu.be/83StND-y4fY)  
Get the latest version of the plugin on [github. ](https://github.com/torinmb/mediapipe-touchdesigner?tab=readme-ov-file)  
*Be aware that, although this way of using Mediapipe is much easier to setup, it is a lot heavier on your system/resources than when installing the necessary libraries yourself like described above.*

# .Tox

<table id="bkmrk-a%C2%A0.tox%C2%A0file-is-a%C2%A0tou" style="border-collapse:collapse;width:100%;"><colgroup><col style="width:29.8149%;"></col><col style="width:70.3087%;"></col></colgroup><tbody><tr><td>[![Screenshot 2025-03-21 at 09.55.17.png](https://bookstack.hku.nl/uploads/images/gallery/2025-03/scaled-1680-/screenshot-2025-03-21-at-09-55-17.png)](https://bookstack.hku.nl/uploads/images/gallery/2025-03/screenshot-2025-03-21-at-09-55-17.png)</td><td>A <span class="mw-lingo-term">.tox</span> file is a **TouchDesigner <span class="mw-lingo-term">Component</span> file**, used to save preset- components of yourTouchDesigner project. A <span class="mw-lingo-term">.tox</span> file contains one component which in turn can contain multiple components. The component file can then easily be loaded as needed in other projects. For example, when designing a custom user interface for a project, saving the UI elements as a separate <span class="mw-lingo-term">.tox</span> file would allow the parts of the user interface to be reused easily in future projects.

To create a .tox right-click on your (base) component &amp; hit "Save Component .tox'   
Navigate to your Palette &amp; add them there for easy acces.   
  
On this page we'll share some custom toxes made previously in Touchdesigner (by us).  
Beware, these are handmade, to fully understand what is happening, it is advised to re-build them yourself ;)

</td></tr></tbody></table>

<table id="bkmrk-etc_colorsource_par." style="border-collapse:collapse;width:100%;"><colgroup><col style="width:29.6663%;"></col><col style="width:20.3956%;"></col><col style="width:24.9691%;"></col><col style="width:24.9691%;"></col></colgroup><tbody><tr><td>On Github:  
[https://github.com/hku-ect/TouchDesignerComponents](https://github.com/hku-ect/TouchDesignerComponents) </td><td>Showcase:   
On the derivative site, people have profiles &amp; sometimes share their .tox  
[derivative: showcase](https://derivative.ca/showcase)  
especially:  
[THETOUCHLAB](https://derivative.ca/user/361107/profile "THETOUCHLAB")

</td><td>  
Add a sensor to callibrate it [sensor\_callibrate.tox](https://bookstack.hku.nl/attachments/89)

</td><td>  
Library-platform of inspiring TD Toxes shared by creators:  
[https://olib.amb-service.net/](https://olib.amb-service.net/) </td></tr><tr><td class="align-center">Toxes for specific fixtures to control lights can be found [here](https://bookstack.hku.nl/books/touchdesigner/page/controlling-lights-from-touchdesigner)  
  
WLed [WLED.tox](https://bookstack.hku.nl/attachments/88)</td><td class="align-center">[Bare\_Conductive.tox](https://bookstack.hku.nl/attachments/42)  
to use Bare Conductive in TD   
[more info here](https://bookstack.hku.nl/books/bare-conductive "Bare conductive")

</td><td class="align-center">[RadiusCheck.tox](https://bookstack.hku.nl/attachments/43)  
Creates a virtual point in 3D space and checks the relation between input XYZ. Set the radius in metres Set the XYZ location feed it a live location (XYZ) Outputs Percentage within the radius Outputs InsideBounds Outputs Distance in Metres</td><td>[sceneswitcher2.tox](https://bookstack.hku.nl/attachments/100)  
Allows you to select 1 scene at a time &amp; disable other scenes. Handy to save resources or stop triggers from reacting when not in focus.

</td></tr></tbody></table>

# examples (random selection)

<iframe height="173" src="https://www.youtube.com/embed/0tVn7OcRxHw" style="width:309px;height:173px;" width="309"></iframe>

 <iframe height="171" src="https://www.youtube.com/embed/oSPbZISVjRM" style="width:307px;height:171px;" width="307"></iframe>

<iframe height="168" src="https://www.youtube.com/embed/SbYtIiZdrew" style="width:304px;height:168px;" width="304"></iframe>

 <iframe height="170" src="https://www.youtube.com/embed/G7JP4RvUhCA?list=PLl5TtbxZytbmOqruxcmiMQSDXSgiANydw" style="width:306px;height:170px;" width="306"></iframe>

<iframe height="169" src="https://www.youtube.com/embed/UyUOhb8oIec?list=PLl5TtbxZytbmOqruxcmiMQSDXSgiANydw" style="width:301px;height:169px;" width="301"></iframe>

 <iframe height="170" src="https://www.youtube.com/embed/R_MNlJCt2qo?list=PLl5TtbxZytbmOqruxcmiMQSDXSgiANydw" style="width:305px;height:170px;" width="305"></iframe>

# Lights in Touchdesigner

You can control your fixtures straight from Touchdesigner, using an Enttec or over ArtNet

# Controlling Lights from Touchdesigner

{{@342}}

# Controlling Ledstrips with WLED (from Touchdesigner)

{{@318}}

# Arduino & Touchdesigner

You can connect your arduino to TD to send &amp; receive data

# Various tutorials connecting TD & Arduino (no firmata)

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/V_Q_fDukTI0" width="560"></iframe>

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/bUVavS6tNPc" width="560"></iframe>

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/91rLXVMb0h8" width="560"></iframe>

# Using Firmata

### What is Firmata?

**Firmata** is a protocol for communicating with microcontrollers (like Arduino) from software on a computer, using a standardized messaging format over serial communication (usually USB). It allows you to **control and read from Arduino pins in real-time**, without needing to constantly upload new Arduino sketches.

- **Firmata** is like a translator that is programmed on the Arduino.
- You upload a **Firmata sketch** once to the Arduino.
- Then, you can control the Arduino **live from TouchDesigner (or other software like Isadora, Max/MSP or Processing)** without reprogramming it.
- Be aware that is is resource heavier the programming your Arduino with specific code for the goal you want to achieve, Nice for prototyping though!

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/FPRRReIhE_I" width="560"></iframe>

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/lkudxFrwPXU" width="560"></iframe>