List of TouchDesigner Tutorials and resources to prepare for 2020
Complete list of Tutorials in 2020 TouchDesigner Deep Dive Compiled
100 Tutorials, 100+ hours, 10 days
Author Tutorials Time Link
Polyhop – Simon Alexander Adams Noise Displacement 34.00 https://www.simonaa.media/tutorials/noisedisplacement
Polyhop – Simon Alexander Adams Instancing Geometry 28.00 https://www.simonaa.media/tutorials/instancing
Polyhop – Simon Alexander Adams Looping Noise – Enging at the beginning 26.00 https://www.simonaa.media/tutorials/looping-noise-part-1
Polyhop – Simon Alexander Adams Looping Noise – Infinite Tunnel Zoom 37.00 https://www.simonaa.media/tutorials/looping-noise-part-2-infinite-tunnel-zoom
Paketa – Aurelian Ionus Linear Interpolation 25.00 https://www.youtube.com/watch?v=DI9ScmbJ6BY
Paketa – Aurelian Ionus RGB Math 33.00 https://www.youtube.com/watch?v=hoCCEtWzVGc
Paketa – Aurelian Ionus Iris Stroma 22.00 https://www.youtube.com/watch?v=A_iEJlI40-c
Paketa – Aurelian Ionus Truchet Files 16.00 https://www.youtube.com/watch?v=Q74j-PV6Diw&t=131s
Paketa – Aurelian Ionus Tiles Displacement 11.00 https://www.youtube.com/watch?v=QCGEBltmflE
Paketa – Aurelian Ionus Bending a line into a circle 23.00 https://www.youtube.com/watch?v=VAwaSjJ7a7U&t=266s
Paketa – Aurelian Ionus Kissing Spheres 34.00 https://www.youtube.com/watch?v=D0O1fCwdy_Y
Paketa – Aurelian Ionus Collision Detection 28.00 https://www.youtube.com/watch?v=w47xTWMNTFA&t=88s
Paketa – Aurelian Ionus Sculpting with Height Maps 34.00 https://www.youtube.com/watch?v=_mmisxQamAM
Paketa – Aurelian Ionus Pottery with Sine 36.00 https://www.youtube.com/watch?v=YnjSN-GJ828
Deriviative – Jarrett Smith Widgets – Panel Layout and Fill Mode 15.00 https://www.youtube.com/watch?v=Ty6pCyTIUyM&list=PLSqkC3f_BStxA4TpF6uWj3HOHPCglRpN9&index=5&t=3s
Deriviative – Jarrett Smith Widgets Part 2: Widget COMP and Knob, Slider, and Button Layouts 12.00 https://www.youtube.com/watch?v=v_JOu9ymKWg&list=PLSqkC3f_BStxA4TpF6uWj3HOHPCglRpN9&index=6&t=10s
Deriviative – Jarrett Smith Widgets Part 3: Scaling Panels and Locking Proportions with Fixed Mode 10.00 https://www.youtube.com/watch?v=JkWDZttICZg&list=PLSqkC3f_BStxA4TpF6uWj3HOHPCglRpN9&index=7&t=5s
Deriviative – Jarrett Smith Widgets Part 4: Layouts Using Anchors for Proportional Sizing 15.00 https://www.youtube.com/watch?v=iGOhqm_YHD8&list=PLSqkC3f_BStxA4TpF6uWj3HOHPCglRpN9&index=8&t=0s
Deriviative – Jarrett Smith Widgets Part 5: Adding Widgets to Your Panel Layout 18.00 https://www.youtube.com/watch?v=LWtBcYMnNz4&list=PLSqkC3f_BStxA4TpF6uWj3HOHPCglRpN9&index=9&t=4s
Deriviative – Jarrett Smith Widgets Part 6: Updating Widgets 6.00 https://www.youtube.com/watch?v=ZRjth0rtNss&list=PLSqkC3f_BStxA4TpF6uWj3HOHPCglRpN9&index=2&t=240s
Deriviative – Jarrett Smith Widgets Part 7: Using Binding to Connect Your Widgets to Parameters 25.00 https://www.youtube.com/watch?v=z02eRpF6E_U&list=PLSqkC3f_BStxA4TpF6uWj3HOHPCglRpN9&index=3&t=93s
Deriviative – Jarrett Smith Widgets Part 8: Why use Custom Parameters and Binding with Widgets? 8.00 https://www.youtube.com/watch?v=lg7ZWJrAWHk&list=PLSqkC3f_BStxA4TpF6uWj3HOHPCglRpN9&index=4&t=8s
Deriviative – Markus Heckmann Intro to GLSL 222.00 https://www.youtube.com/watch?v=FImsLtt4Ab4&t=5s
Deriviative – Ivan Del Sol TDAbleton – TouchDesigner and Ableton Live – Ivan DelSol 57.00 https://www.youtube.com/watch?v=ref56jIJ5qo&t=3s
Matthew Ragan Geometry and Cameras in TouchDesigner 20.00 https://vimeo.com/70932819
Matthew Ragan THP 494 / 598 – Generative Media for Live Performance 1080.00 https://www.youtube.com/playlist?list=PLs0WlHa1rf208I8fyCNIuOtPBocQz8yd-
Richard Burns Using the Web DAT to bring in xml data 10.00 https://vimeo.com/78469377
Touchin NYC Mary Franck — Touchin NYC, Oct 14th 2016 23.00 https://www.youtube.com/watch?v=_dE_jJqoM9U
Touchin NYC Vincent Houze — Touchin NYC, Oct 14th 2016 38.00 https://www.youtube.com/watch?v=frmF83y4k9I&t=16s
Touchin NYC Colin Hoy: TouchIn 0728 – Pythn Extensions 23.00 https://www.youtube.com/watch?v=e58PG7_DMo4
Touchin NYC Keith Lostracco: TouchIn 0728 1 – Luminosity 140.00 https://www.youtube.com/watch?v=0nzi0bazjoU
Elburz Sorkhabi Optimization 180.00 https://learntouchdesigner.com/workshops/optimization.html
Elburz Sorkhabi Render Picking 120.00 https://learntouchdesigner.com/workshops/render-picking.html
Elburz Sorkhabi External Data and Web API’s 90.00 https://learntouchdesigner.com/workshops/web-api.html
Elburz Sorkhabi God Mode with GLSL 120.00 https://learntouchdesigner.com/workshops/glsl-intro.html
Elburz Sorkhabi Project Architecture 120.00 https://learntouchdesigner.com/workshops/project-architecture.html
Elburz Sorkhabi User Interface 120.00 https://learntouchdesigner.com/workshops/ui-training.html
Elburz Sorkhabi Python 101 180.00 https://learntouchdesigner.com/workshops/python-intro.html
Elburz Sorkhabi Python Intermediate 160.00 https://learntouchdesigner.com/workshops/python-intermediate.html
Elburz Sorkhabi Pro Tricks and Tips 120.00 https://learntouchdesigner.com/workshops/pro-tricks.html
Elburz Sorkhabi Physics 120.00 https://learntouchdesigner.com/workshops/physics.html
Elburz Sorkhabi Sops Demystified – New 120.00 https://learntouchdesigner.com/workshops/sops-demystified.html
Elburz Sorkhabi God mode in GLSL – 3D – New 120.00 https://learntouchdesigner.com/workshops/god-mode-2.html
Elburz Sorkhabi Machine Learning for TouchDesigner – New 120.00 https://learntouchdesigner.com/workshops/ml-for-td.html
Owen Kirby Episode 1: Creating a Monophonic Synth in TouchDesigner 18.00 https://www.youtube.com/watch?v=8LMCm_v48CU&t=938s
Owen Kirby Episode 2: Building a Simple Drum-Machine Component in TouchDesigner 10.00 https://www.youtube.com/watch?v=F_HsGVDJL-c
Owen Kirby Episode 3: Building a Midi Sequencer in TouchDesigner 9.00 https://www.youtube.com/watch?v=u5AOjkr_4IM
Owen Kirby Episode 4: TouchDesigner Audio Delay Effects 24.00 https://www.youtube.com/watch?v=80leysTaskg
Owen Kirby Episode 5: Midi File Playback 13.00 https://www.youtube.com/watch?v=9muIE0p_T00&t=265s
Owen Kirby Episode 6: Bitcrushing and Pixelization Effect 13.00 https://www.youtube.com/watch?v=XiLWy2tqya8
Exsstas – Stas Sumarokov GLSL Vertex displacement in TouchDesigner 26.00 https://www.youtube.com/watch?v=CTmwFyetIvE&t=1s
Exsstas – Stas Sumarokov Raymarching in TouchDesigner tutorial. Part I – Defining a geometry 65.00 https://www.youtube.com/watch?v=hZj6jaYNKJo&t=78s
Exsstas – Stas Sumarokov Raymarching in TouchDesigner tutorial. Part II – Light and colors 88.00 https://www.youtube.com/watch?v=IZUqM9CRjTk&t=11s
Exsstas – Stas Sumarokov Making TOP trails 42.00 https://www.youtube.com/watch?v=aL8jVFnDepE&t=812s
Exsstas – Stas Sumarokov Primitive SOP and a bit of Python 43.00 https://www.youtube.com/watch?v=lIpr03axKJ4
Enviral Designs – Lucas Morgan GeoPix 1.0 Tutorials 240.00 https://www.youtube.com/playlist?list=PLmleeAYFzdn0a4uo4x-85SnSLOPUi7TaI
Enviral Designs – Lucas Morgan GeoPix 1.0 Advanced Tutorial Series 240.00 https://www.youtube.com/playlist?list=PLmleeAYFzdn1RlYX2RP7ItRVbJD33H4fb
Rey Jarell Instancing in TouchDesigner 1/3: Drawing from SOPs, Coloring by Points, Basic Animation 12.00 https://www.youtube.com/watch?v=SVs3Gcqoplk
Rey Jarell Instancing in TouchDesigner 2/3: Making TOPs Pop in 3D! 13.00 https://www.youtube.com/watch?v=uUzcjEGw5XE
Rey Jarell Instancing in TouchDesigner 3/3: Animating with TOPs, Audio-Reactive Geometry, RGB to XYZ 16.00 https://www.youtube.com/watch?v=bwS6TeMVfJA&t=340s
Rey Jarell Rain Room’ Tutorial – Transparent Textures, Instancing, and Feedback in TouchDesigner 26.00 https://www.youtube.com/watch?v=0NIrPiubDvk&t=52s
Vincent Houze Introduction to GLSL in TouchDesigner : 1/8 Introduction and GLSL TOP overview. 40.00 https://www.youtube.com/watch?v=PVTZfDI6_OQ&t=10s
Vincent Houze Introduction to GLSL in TouchDesigner : 2/8 UV manipulation in a GLSL TOP. 48.00 https://www.youtube.com/watch?v=zyIbu6pb8Uw
Vincent Houze Introduction to GLSL in TouchDesigner : 3/8 Compositing with the GLSL TOP. 20.00 https://www.youtube.com/watch?v=IvvSrLtZ9xg
Vincent Houze Introduction to GLSL in TouchDesigner : 4/8 Shapes in the GLSL TOP. 37.00 https://www.youtube.com/watch?v=vYBWTOJnCEw
Vincent Houze Introduction to GLSL in TouchDesigner : 5/8 Shadertoy conversion. 42.00 https://www.youtube.com/watch?v=4d6IKvZELBk&t=1751s
Vincent Houze Introduction to GLSL in TouchDesigner : 6/8 Overview of the 3D pipeline 38.00 https://www.youtube.com/watch?v=rhhPwyjsTDU
Vincent Houze Introduction to GLSL in TouchDesigner : 7/8 Bend deformer for instances with the vertex shader 53.00 https://www.youtube.com/watch?v=zz8RFNWxat8
Vincent Houze Introduction to GLSL in TouchDesigner : 8/8 GLSL Particle System introduction 45.00 https://www.youtube.com/watch?v=81ssI92SqAE
Deriviative Workshop Norway 2016 – 16 Workshops 330.00 https://www.youtube.com/playlist?list=PLSqkC3f_BStweh-7ZF8L3oyeJWLP2aYTw
Bileam Tschepe Using Audio As A Time Substitute – TouchDesigner Tips, Tricks and FAQs 5 12.00 https://www.youtube.com/watch?v=6NMVm-qmfeQ
Bileam Tschepe Hand Drawn Lines – TouchDesigner Tips, Tricks and FAQs 4 10.00 https://www.youtube.com/watch?v=WpkOVI3f6Yk
Bileam Tschepe Depth Of Field (Tilt Shift) – TouchDesigner Tips, Tricks and FAQs 3 7.00 https://www.youtube.com/watch?v=EIBGGIdUJyc
Bileam Tschepe Why To Use NULLs – TouchDesigner Tips, Tricks and FAQs 2 8.00 https://www.youtube.com/watch?v=u6hb-31gd1Q
Bileam Tschepe Exporting – TouchDesigner Tips, Tricks and FAQs 1 15.00 https://www.youtube.com/watch?v=_1r8KLZWZ20
Bileam Tschepe Tiny Landscape – TouchDesigner Tutorial 12 24.00 https://www.youtube.com/watch?v=AO7mqjLj8n4
Bileam Tschepe Topographic Grainy Noise – TouchDesigner Tutorial 11 14.00 https://www.youtube.com/watch?v=Nkv74W2v-zY
Bileam Tschepe Simple Keys Mapping – TouchDesigner + Ableton Tutorial 3 11.00 https://www.youtube.com/watch?v=l4OiFdwWF7E
Bileam Tschepe Simple Kick Mapping – TouchDesigner + Ableton Tutorial 2 6.00 https://www.youtube.com/watch?v=jNDlkcR2D5o
Bileam Tschepe Basic Setup – TouchDesigner + Ableton Tutorial 1 6.00 https://www.youtube.com/watch?v=8fBo5oFZPck
Bileam Tschepe Audioreactive Particle Cloud – TouchDesigner Tutorial 10 16.00 https://www.youtube.com/watch?v=M8X_FFB-ikQ
Bileam Tschepe Text Textures – TouchDesigner Tutorial 9 14.00 https://www.youtube.com/watch?v=kosFgK7DdCo
Bileam Tschepe Spectrum to TOPs – TouchDesigner Tutorial 8 15.00 https://www.youtube.com/watch?v=Pr_CyiZZF9Q
Bileam Tschepe Particle Displacement – TouchDesigner Tutorial 7 10.00 https://www.youtube.com/watch?v=hbZjgHSCAPI
Bileam Tschepe Orthographic Boxes – TouchDesigner Tutorial 6 16.00 https://www.youtube.com/watch?v=GeJ8ngsjmwY
Bileam Tschepe Moving Through Shapes – TouchDesigner Tutorial 5 12.00 https://www.youtube.com/watch?v=uKrA3nZSK4k&t=8s
Bileam Tschepe Reaction Diffusion Material – TouchDesigner Tutorial 4 16.00 https://www.youtube.com/watch?v=PF1bHg8IbMI
Bileam Tschepe Particle Image Reveal – TouchDesigner Tutorial 3 12.00 https://www.youtube.com/watch?v=RbBzdBTLOvg
Bileam Tschepe Aurora Audio Spectrum – TouchDesigner Tutorial 2 17.00 https://www.youtube.com/watch?v=NJE48IVzNVc
Bileam Tschepe Audio Wheel – TouchDesigner Tutorial 1 18.00 https://www.youtube.com/watch?v=QPzYNAyxC70
Derivative – Markus Heckmann Point Clouds in TouchDesigner099 Part1 – Instancing 32.00 https://www.youtube.com/watch?v=WbnaW3gMmMs&list=PLNFRRBEioGNxwwlT0GamfoQkquxJE0U5y&index=2&t=0s
Derivative – Markus Heckmann Point Clouds in TouchDesigner099 Part2 – Using a Point Cloud File (Star Database) 25.00 https://www.youtube.com/watch?v=TAmflEv0LJA&list=PLNFRRBEioGNxwwlT0GamfoQkquxJE0U5y&index=3&t=0s
Derivative – Markus Heckmann Point Clouds in TouchDesigner099 Part3 – Napoleon dissolved 74.00 https://www.youtube.com/watch?v=QB3P0-uCszo&list=PLNFRRBEioGNxwwlT0GamfoQkquxJE0U5y&index=4&t=0s
MXZEHN – Stefan Kraus MX10 TouchDesigner Tutorial 01 – NDI Switcher 70.00 https://youtu.be/A0w4qMGRMVc
MXZEHN – Stefan Kraus Nailpolish workshop from Summit 2018 90.00 https://youtu.be/uEMTyGcYXvg
MIR.WORKS – Zoe Sandoval and Matthew Ragan Modular Architectures from 2019 Summit 90.00 https://mir.works/td-summit-2019-modular-architectures
Factory Settings – Stefan Kwint Kinetictypography: Sentence instancing with Touchdesigner – PART 1 70.00 https://www.youtube.com/watch?v=zrA9gaCymjM&feature=youtu.be
Roy and Tim Gerritsen Parametric Thinking 46.00 https://youtu.be/ZIdDTQB2PIg
Bertrand de Becque Universal Project Template 46.00 https://www.youtube.com/watch?v=YH6uXabjSWs&list=PLSqkC3f_BSty7cMvPOi_lKxncTy5sf4Y5&index=11&t=0s
Complete list of Resources in 2020 TouchDesigner Deep Dive Compiled
Author Resource Tutorial Link Resource Link
Owen Kirby Launchpad Pro TouchDesigner Component https://www.youtube.com/watch?v=ZIWP9PDulm8 https://github.com/OwenKirby/launchpadpro
Owen Kirby SynthBuilder https://www.youtube.com/watch?v=3aGcKKOBK3A https://www.etsy.com/ca/listing/727094530/synthbuilder-touchdesigner-components?ref=listings_manager_grid
Owen Kirby Drum Synth https://www.youtube.com/watch?v=bE2uM-39Ir8&t=467s https://www.etsy.com/ca/listing/687990076/touchdesigner-drumsequencer-and?ref=related-2
Enviral Designs – Lucas Morgan Geo Pix 1.0 https://www.youtube.com/playlist?list=PLmleeAYFzdn1RlYX2RP7ItRVbJD33H4fb https://www.geopix.io/
404.zero – Alexander Letcius + Kristina Karpysheva Zerror UI and Ztimeline http://404zerror.com/ http://404zerror.com/ztimeline
Deriviative – Markus Heckmann Generative Design https://docs.derivative.ca/Generative_Design https://github.com/TouchDesigner/GenerativeDesign
Keith Lostracco Fragtool https://forum.derivative.ca/t/fragtool/6126 https://forum.derivative.ca/t/fragtool/6126
Keith Lostracco Luminosity https://www.youtube.com/watch?v=2PGyi3eD54s https://github.com/IntentDev/Luminosity
Tim Gerritsen Compute Particle System v2.0 https://derivative.ca/community-post/asset/compute-particle-system-v20
Richard Burns Simple Mixer https://www.youtube.com/watch?v=P8iLnwoWyAI https://github.com/Richard-Burns/SimpleMixer
Vincent Houze Flex Chop https://github.com/vinz9/FlexCHOP
Derivative – Greg Hermanovic Timebase – Multi Layer Timeline https://derivative.ca/community-post/asset/timebase-multi-layer-timeline-component https://derivative.ca/community-post/asset/timebase-multi-layer-timeline-component
Hrtlacek – Patrick Lechner Ray Marching Toolkit https://github.com/hrtlacek/TDraymarchToolkit https://github.com/hrtlacek/TDraymarchToolkit
Mary Franck Rouge http://www.maryfranck.net/rouge/ http://www.maryfranck.net/rouge/
MXZEHN – Stefan Kraus Height Maps to Pointcloud https://www.dropbox.com/s/m760umv1raff6g0/MX_HeightMap_to_Cloud_3.tox?dl=0
Felix Polyhedra Database https://forum.derivative.ca/t/polyhedra-database/2524
LO5 – Carlos Repo of Tools and Examples https://github.com/L05/TouchDesigner
Wuestenarchitekten – Markus Heckmann Audio Visualizations, Generative and Point Cloud https://github.com/wuestenarchitekten
Deriviative Repo of TouchDesigner Pallette https://github.com/TouchDesigner/Palette
Darian Brito Nvidia Flow Flame Vortex https://vimeo.com/341093944 https://forum.derivative.ca/t/flame-vortex-example/12408
Alphamoonbase Galileo Mapper Family – Signal mapping https://derivative.ca/community-post/asset/galileo-mapper-family
Matthew Wachter TouchDesigner Shadertoy Converter https://github.com/matthewwachter/td-shadertoy
David Braun TouchDesigner Face Chop – Face Detection https://github.com/DBraun/TD-FaceCHOP
Derivative – Ben Voigt Nvidia Flow Example https://vimeo.com/375134686 https://forum.derivative.ca/t/experimental-build-2019-11370-posted/11614
2020 Deep Dive Blog – 10 Days to 2020 New Year
Day One – Have compiled comprehensive list of tutorials and resources on therob.live blog
Day Two – Built theRob1.0 environment with parametric pipeline structured around deep dive topics
Day Three – Gathered Resources and built 80 containers in environment to import and build ideas
Day Four – To inspire right from the start,
Parametric Thinking by Roy and Tim Gerritsen
Merging Code and Design using a parametric approach
Experimental Approach – Building proof of concept
Emily 3D head available online – Burning Man example
Using data as input – Generating Video based on lighting positions
Using data as input – Datavizualization of the life of a tree
Maximize Creative Expression – Switching the role of designer to curator
Minimize Production Time – Modular approach of re-usable components
Artificial Intelligence Parametric Pipeline
Input – Core – Output – Custom parameters controlling components
Web Render DAT trnslating web data into generative output
Bauhaus generative video stills to produce posters
Particle Compute Shader
Setup – Cotrol Base, Core Base, World Base, UI Base, Lib Base and Output
How it all comes together – Nosia example
Visualizing Music – Infinite camera move over a landscape
Key Takeaways – Create a method to modualrize resources using defined I/O and Custom Parameters
Day Four – Laying down a solid foundation with Project Architecture
in Project Architecture by Elburz Sorkhabi
Key Takeaways – Plan your requirements, Build a template, Standardize using
Custom Parameters with references and selects along with Parametric I/O
Accessing Parameters using Custom Parameters
In Container open right click and customize component
Create a page with name you want ; eg”Custom”
Drag Name of parameter and drop onto parameter in component editor
Research different Parameter Types
Open Parameter chop and drag container onto Source – Operators to show parameters
Add a null to this chop and map the parameter outputs to other operators
See Custom_Parameters container, select referencing lfo copied to parent
and Par in this folder with a null chop referencing the noise seed parameter
Day Four – Defining the Interface around Widgits and Custom Parameter Bindings
by Jarrett Smith of Derivative
Tutorials 1-6 Building the UI
Laying out areas with containers for each
Adding widgits to containers
Tutorial 7 Binding to Connect Widgits to Custom Parameters
Also using Replicator to duplicate knob into grid of knobs
Promote groups of knobs to custom parameter bindings
Example file from tutorial 8 in pallette
Customized to 1920×1080 as example using OHM RGB
Future objective when Advanced Widgits are released to build Custom UI that incorporates Render Picking
theRob.live Artwork Gallery updated with Day Three and Day Four Environment Development Images
2020 TouchDesigner Deep Dive
Day 1 . Tutorials and Resources
2. Environment and Tutorials
3. Containers and Resources
4. Architecture, Custom Parameters and Widgets UI with bindings
5. Signal Mapping, Ableton, TDAbleton, Zerror, Timebase and Schedule
6. Render Picking and Skybox, Playback, Fractal and Flow
7. Generative Design and Data Visualization
8. GLSL, Point Clouds and Instancing
9. Raymarching, SOPs and Particles
10. Python and Optimization
Day 5 – Signal Mapping
All Audio and Midi Signals routed to TouchDesigner
Master Customized Ableton Template
16 Audio inputs – spatialized into stereo from mono if required and bussed to stereo channels to send to TouchDesigner via OSC and TDAbleton
Stereo output from Ableton soft synths also sent to TDAbleton, Ideally bounces in Octatrack to cut down on latency.
Stereo output of mix sent to TDAbleton
Midi Input from squid on all required channels to Ableton then routed to outboard for just start/stop or full sequencing to outboard
Midi also routed to TDAbleton.
Squid play button also routed to start and stop playback in Ableton, all outboard, Z-Timeline and Timebase
All input signals both audio and midi mapped to container with custom parameters pages showing all inputs with par chop connected and transportable select to distribute through network
Container in TouchDesigner to route feedback back to Ableton to change parameters in soft synths and outboard to drive levels, modulation and LFOs
Day 5 – tdAbleton
Song – Play (toggle), Scene (number), bars and beats (counts), time (seconds), cuepoints! (number)
Track – Level Meter, Slot, Mute, Solo, Pan, Volume, Play Position, Markers, Loop
Chain – Like Track yet can access Nested Chains
ClipSlot – Sending notes directly into clips
Device Parameters – Every parameter setting of a selected Ableton Device eg. Wavetable
Parameter – Map to a parameter to send to Ableton Device Parameter
– Use Map from Live Button and move parameter in Live to Map!
Midi – Input and Output for Midi Events – Channels generate once played
Level – Add TDALevel device in ableton and get direct level data
Rack – Control over multiple Live Parameters using Live Racks
– Four Racks
– Audio Analyser Rack
– Audio Effect Rack,
– Instrument Rack
– Midi Effect Rack
Mapper – Control multiples of any parameter in Live Set
Value Listener – Listen to anything in Ableton
Comp – Using live object model to creat custom TDAbleton Components
Map all Midi Sequences over and connect with Parameters
Map all Audio Inputs and Soft Synths with Levels
Map Song Play to start and stop zTimeline and Timebase
Map Scene Number to switch all content to next state (look at playback systems for best method)
Map Cuepoints to changes in environment over time
Controls back to Ableton and connected to Custom Parameters
As Parameters are created find best mappings to connect with
Idea to have all mappings change or modify with scene and cue point prompts
Day 5 – Zerror UI
Objective – Once all custom parameters are established in the environment,
Connect the chosen parameters to Zerror and build presets in that Zerror group
Add Zerror Container to environment
Can have multiple zerrors
Activate Zerror window
Drag Parameters and Custom Parameters (tested) into Activated Zerror
Null will be generated that controls parameter
Be sure that Container with parameter added uses Python not Tscript as language
Set all knob in Zerror window to value of first preset
Use + button to add that preset to Zerror
When this zerror is dropped into the active zTimeline window it will add a track
Right Mouse button over that track in the zTimeline to add the preset
Zerror will now transition between the presets added to the zTimeline
Day 5 – Ztimeline
Objective – Once all Zerror windows are built with groups of linked parameters and Presets,
Build the zTimeline over a chosen period of time to transition through presets
Note that the Start/Stop of zTimeline is to be controlled by tdAbleton mapping the Squid play
Open Ztimeline viewer
Drop Zerror comp to viewer to make track
Drop Sound to Viewer which is optional
Add Preset Keys with RMB click over track Bkgrd
Select keys with LMB/ctrl+LMB click or drag
Drag white triangle to scale time
Ctrl C and Ctrl V to copy paste keys
Mouse scroll to scale visible area
Use LMB drag over top area to drag current time
Day 5 Recap – Bit off a bit more than could chew, also ran into issues with Ableton 10 suite crashing which may be resolved by moving cache folder. Will move onto day 6 Tutorials and return to look at Galileo Mapper (need to determine best use), Timebase (need to determine how best to use along zTimeline) and Schedule Chop (thinking to use for weekly scheduled events or performance specific events.
Also need to complete build of Ableton template set with tdAbleton connections with Zerror mapping, this will be a work in progress throughout the deep dive as parameters are built for visual components.
Onto Day6 and into the world of visuals!
Day 6 – Building an engaging system
Render Picking 3D UI
Objective – Add interactive 3D objects to UI to control parameters
– 2D interaction with 3D Elements
– Example of using an invisible UI on top of objects
– Using Render Pipeline with null then Container with Null as Background Top for UI
Render Pick Chop
– Connecting Renderpick Chop for pulling parameters of 3D location
– Map render into Renderpass Top field on Renderpick Chop
– Map UI container to Panel Field of Renderpick Chop
– Can reference multiple Geometries for each geometry picked to map seperately
– Renderpick DAT also requires a multi-Touch DAT
– Map Render to Renderpick DAT
– Map Container UI to Panel in Multitouch DAT
– Wire Multi-TOUCH DAT into RenderPick DAT
– Turn on include Mouse function in Multi-Touch DAT
Next sections of tutorial l address interactivity and instancing with interactivity
Key Takeaways – Look to this knowledge to add 3D geometry elements to the UI and they can be reference to generate control over other parameters, on a more complex level the elements themselves can be controlled to give feedback on controls being effected, eg. a shape that you rotate or move which visually shows the change it is making, say when rotated changes a colour, deriving a result from an input with visual feedback
Day Six – Learning from looking at elements of incredible playback systems
CVAR Mediapath – Simple way to pull videos or files from folders using the CVAR Media Path
Luminosity – Excellent UI for video playback and blending
Simple Mixer – Appears simple yet is not, evolving into tool for tox, file and connection to Notch
Rouge – Very nice playback systems which incorporates a UI element for generative component control
Mixxa – A monster of a system that throttled my system resources, there are lessons to be learnt within this environment, revisit and play around
UQAM Mixer – Amazing example of tox switching with AB transition
MX10 TouchDesigner Tutorial 01 – NDI Switcher – Great way to generate an array of switches to different NDI feeds or could be to any source, need to follow the tutorial and build the switcher
Day Six – Setting my banana on Fire!
Flow Example from Ben:
Four Examples within –
Chemical Banana – Using banana movie to generate smoke with Movie mapped to Shape TOP Nvidia in NVidia Flow Emmiter comp, also colorized by ramp with RGBA mapped to TOP to Chop and mapped to Color ramp CHOP field in Material tab of Flow Emitter. Also has LFO pulsing the Fuel rate to make smoke billow.
Note in my banana on fire example I composited the banana on top to make smoke appear from behing image: https://therob.live/visuals-banana-on-fire/
Chill Ground – A simple example all inside the Flow emmiter container that defines a Box tpe with low flat size and the material is set to blue with fuel rate of 1. This is a great example of how to control the smoke within a shape of a specific size and colour, these parameters can be controlled to change over time.
Hot Ball – A sphere shape that uses a colour ramp and top to chop to create a fire look that is convincing.
Wandering Smoke – Balls of smoke that follow a path defined by a Circle SOP wired to a Noise Path SOP that is mapped to the XForm tab Path SOP parameter in the Flow Emitter to move the smoke around he path over time.
Key Note – the Flow Emitter also requires a camera and Nvidia Flow Top to be connected to render the smoke
Key Takeaways – Smoke is fun, can be controlled for size, shape, colour and position to bring the fire!
Day 7 – A never ending journey of discovery.
Proving that TouchDesigner has been and will likely always evolve with its community, I woke up to a post in the python section of the discord group from Alphamoonbase.Berlin aka Jonas Schmitt, sharing his tool to set parameters using presets, the Tau Ceti Preset Engine.
Having just looked at perfomance interfaces, Zerror, Timebase, tdAbleton and successfully mapping my outboard gear via Ableton, I was wondering what is the best way to progress all of the elements of these systems simultaneously the way you would with a preset on a synth and this system by Jonas appears. I will have a look at it and see if it fits the bill. My thinking is that using this as the parent system controlling other systems in TouchDesigner and using tdAbleton to send control to Ableton to send program changes to the outboard gear, might just work to have one button on the touchscreen UI built with widgets and renderpicking that can control everything once connected to this tool to spread the message.
Day 7 – My day with Polyhop
I slowly went through the current four tutorials from Polyhop aka Simon Alexander-Adams. I had the great pleasure of first meeting Simon at the Derivative Hackathon a few years back and have truly enjoyed following his daily practice and progress as an expert with TouchDesigner. I had watched his tutorials as have many and was very much looking forward to following them.
I did them in the order they were published – https://www.simonaa.media/tutorials-articles
Looping Noise – Ending at the beginning
Looping Noise – Infinite Tunnel Zoom
Each one teaches lessons and techniques that I am sure to take away to other work, for example how to have the camera follow a path, many ways to utilize noise and to implement uses of instancing. The tutorials are at a great pace for you to follow and the results of the projects are excellent. I have updated the artwork page to show images of how the tutorials ended up, they are mesmerizing to watch, a great introduction to generative visuals.
Next up, Paketa12 aka Aurelian Ionus’s tutorials which I have also looked forward to learning!
Day 8 – Paketa12’s creativity in TouchDesigner
It was an easy going day for the deep dive as I started my day by just watching and listening to the tutorials by Paketa12 aka Aurelian Ionus. They are great lessons with a very creative approach to a variety of topics. The one I connected with most was where an image was used to displace geometry, this interests me so I will be sure to revisit this. I will revisit them in my 2020 daily practice to build out the tutorials which will be fun. Now onto the key topic of the day, a new feature in the latest experimental release. Point clouds!
Day 8 – Turning pixels into a cloud of points!
When at Mutek in the summer I missed a performance by Ryoichi Kurokawa. Afterwards friends told me it was incredible, especially it’s use of point clouds. Also during the TouchDesigner summit I had several great opportunities to chat with Jacob Povel about his incredible project mapping the universe in TouchDesigner which the Derivative team was developing elements of the brand new point cloud system in the experimental release just after the official Spring release. I had a feel for what a point cloud was yet was very hesitant to load an experimental release. I got past my concerns and have loaded the latest experimental for this dive and today see why that was a great decision.
Markus Heckmann released three tutorials on Point Clouds along with supporting files on his github. I have been very much eagerly awaiting diving into this material, it was very much worth the wait!
My key takeaway from the first viewing of the lessons was that Point Clouds are incredible. The key concept of taking the RGB pixel values of an image and translating those values into XYZ points in 3D that form a shape is brilliant and so inspiring!! Markus provides great insight into the newly updated instancing parameters in the geometry comp which is very helpful as well as I was wondering why it was different from what I was seeing in older tutorials, every time you turn around TouchDesigner evolves.
The tutorial where we build a Star Map most definitely made me think of Jacob’s project and what an incredible way to visualize data. Now when I build this I will have to resist making my own Star Wars in a galaxy far far away video
The last tutorial provides a link to beautiful examples of 3D scans of sculptures of Napoleon and Einstein which are copyright free so these obj files are going to find a place in my work to be sure. It has all got me thinking of investing in a 3D printer that scans as well to make objects for my mapping stage to do CamSchnappr built projections onto yet we shall see about that later.
Onto Day 9, the second to last day of the deep dive. It looks like in these ten days I will have looked into around two thirds of the topics I had intended (steering clear of deeper topics like GLSL or Python) so perhaps this initiative will spread out a bit into 2020, the new decade we usher in at the end of the day. It makes me think of what we will be doing with TouchDesigner at the end of the next decade! We can only imagine the possibilities!!
Day 9 – Getting back up to date in the Learn TouchDesigner HQ with Elburz
Earlier in 2019 I joined the Elburz TouchDesigner HQ to prep for the TouchDesigner Summit in Montreal, where I actually met Elburz in person for the first time. It was with his book I first learned the program and I was quick to introduce myself and let him know how much I appreciate all that he has and continues to do.
Having watched all of the tutorials in the HQ previously and having attended a few great coaching calls, there were now newer tutorials I had not seen on SOPs, Widgets, 3D GLSL and Machine Learning. I decided today to demystify SOPs and learn what Elburz has to teach us about the new basic Widgets UI building system.
Demystifying SOPs first… I can honestly that SOPs are a bit of a mystery to me. Sure, I have built render setups and dropped in boxes, spheres, circles and lines and had lots of fun that way yet that is where my experience ended. Note to self, Elburz makes a joke about clients never asking him to do anything cool with a Torus, consider hiring Elburz and providing this requirement just to see what happens :-).
Beyond this limited knowledge and experience many years ago I stumbled on a file shared to the Derivative Forum called the Polyhedra Database from Felix (I would love to meet Felix some day to thank him for this gift). In this amazing environment Felix builds a database of procedurally built 3D Polyhedral shapes with a nice UI and beautiful shading on the shapes to view them and navigate between them. If you were wondering how these shapes were built, you guessed it, they are built using procedural chains of SOPs. Less to say I have used this file in numerous ways including the making of the artwork for my first album (which hints to what this deep dive is all really about…). With all of this use of the file I have not taken the time to learn more about SOPs until now and the course is great. It delves into a number of aspects of using and building SOP procedures to create shapes and lines and grids as well as particles built with metaballs and all that great CG fun. To be honest I have messed with the particlesGPU container in the palette yet only in its built function. I am excited to now know a bit more under the hood about particles and instancing them with surfaces of my design. This is an exciting development to have demystified this Operator family.
Next Widgets 101 by Elburz… Having already watched Jarrett Smith from Derivative’s widget tutorials and built along with him a TouchDesigner Widgets UI in the design of my favorite midi controller the OHM RGB (which I have owned and used for music for several years). These tutorials are excellent and I highly recommend them. That having been said, Elburz tutorial is a great addition to this knowledge.
One of the most beautiful TouchDesigner UI’s I have seen is called Devision built by Kazoe Nobuaki aka vj Rez. Here is a link to a page describing and showing the system:
One of the key features of this interface I noticed is that it is not a static UI, there are tabs within the UI that completely swap out parts of the interface. When I first saw this I could not comprehend how this was done using the TUIK system of the time which has now been replaced by Widgets. It was my hope that Elburz training would address this… it does!! Elburz proceeds to build a simple UI just like Jarrett did, then he moves on to build an Advanced UI which switches using tabs between three different sets of UI elements, with binding and custom parameters all setup to map the UI to your environment, . He also shows an AutoUI system in the palette that reverse engineers a UI from a container with a set of parameters that automatically generates and binds the required widgets in such a simple way. As I just posted to Elburz in the HQ Facebook page, the fact that in your Advanced UI example provided the answer to my question above which was as simple as using a prebuilt folderTabs widget along with the Create Value PAR feature and a little bit of python (that is not hard to grasp) was the exact answer to my question! This blew my mind and will now allow me to build the exact UI I have wanted for years. I can only imagine what the infamous advanced Widgets will bring. Thank you once again Elburz!! Now onto day 10 which will be on New Years Day, in a new decade, January 1st, 2020. Here is to a great year and decade ahead! Just imagine what we will be doing with incredible tools and technologies like TouchDesigner in the next decade!
Day 10 – All good things…
It has been a great ten days of exploring and learning TouchDesigner as much as possible. There are still many tutorials to watch and many resources to explore further and I am excited to do so. I will now move forward into daily practice which will be born from what I have learnt and what I will continue to learn about this deep application and my other creative pursuits including electronic music, graphic design, programming, electronics, visual art and any other field that peaks my interest.
I will draft a more thorough wrap up on the deep dive yet for now onto Daily Practice.
The first day of 2020 and the first day of my daily practice in TouchDesigner. This environment started with bringing in the timeBase component by Greg Hermanovic, a wonderful new tool that adds a timeline with the ability to connect and playback files and realtime generative content, with the same control of a non-linear editor yet generating and rendering in real-time. I brought in three videos showing the work I did with Polyhop aka Simon Alexander-Adams tutorials over a ten day intensive TouchDesigner deep dive taken over the holidays. Now to apply what I learnt. I can’t say the sketches will come forward every day as there are really no rules here, yet it is my objective to at least try and work towards that goal, with a bigger picture of building my skill and tools to make visuals by theRob.
Have a look at the first days result in sharp Vimeo resolution here:
I was truly fortunate to attend Mary Franck’s workshop on Data Visualization in TouchDesigner at the Montreal Summit last summer. I could not have been more excited to meet Mary and learn from her. The presentation was excellent. I have saved the sample files and I look forward to revisiting the great presentation posted. The future opportunity to potentially merge my passion in TouchDesigner and my career in Information Technology using the platform for visualization of data excites me a great deal.
Derivative have now shared this workshop via the following link:
From the moment the latest official TouchDesigner was released I knew I was ready.
The latest additions I am most excited about are as follows :
1. The Engine comp – I see this as both an excellent way to modularize my work and create a collection of engines with standardized I/O with an array of functions.
2. Flex – now native there is so much about Flex simulations I wish to explore
3. Flow – this was previously in place and I have experimented with it. The new snippets for this demonstrate great ideas for its use.
4. Point Clouds – i want to understand more about how to create them and how they can be customized.
5. PBR – this I have worked with most, yet I want to explore textures more and geometry based procedures to combine and modulate the textures parameters.
6. TDAbleton – there have been improvements made to this and I wish to explore this an make a comprehensive integration with creative uses of both input and output signals.
7. TDMorph and Zerror – find a way to use both of these with control via a UI and controller to have parameters changing in creative ways over time.