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 6152.00 100 Hours 10 days
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
Notes: 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
Custom Parameters 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 Widgits UI 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 https://therob.live/artwork/
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 Ableton All Audio and Midi Signals routed to TouchDesigner Master Customized Ableton Template
Audio – 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 – 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
Mapping Components 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 by 404.zero
Objective – Once all custom parameters are established in the environment, Connect the chosen parameters to Zerror and build presets in that Zerror group
Process 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 by 404.zero
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
Process 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 Elburz https://learntouchdesigner.com/workshops/render-picking.html
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 – 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
Mutek CVAR Mediapath – Simple way to pull videos or files from folders using the CVAR Media Path
Keith Luminosity – Excellent UI for video playback and blending
Richard Simple Mixer – Appears simple yet is not, evolving into tool for tox, file and connection to Notch
Mary Rouge – Very nice playback systems which incorporates a UI element for generative component control
Greg 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 UQAM Mixer – Amazing example of tox switching with AB transition
Stefan 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: https://forum.derivative.ca/t/experimental-build-2019-11370-posted/11614
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. https://derivative.ca/community-post/asset/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 Noise Displacement Instancing Geometry 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. https://therob.live/artwork/
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: https://derivative.ca/community-post/kazoe-nobuakis-sensational-and-highly-adaptive-devision-vj-system?fbclid=IwAR1q9Ehb6511xv-KvaJJ_mtGwunx8VQp9aHZ0Caf1M1d4bJ4FA9SpiUxls0
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: https://vimeo.com/382331166
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: https://youtu.be/0cv37IFJRxg
From the moment the latest official TouchDesigner was released I knew I was ready. https://forum.derivative.ca/t/official-build-2020-22080-posted/131128
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.I fis
Photograph of 2012 Mutek TouchDesigner workshop by Isabelle Roussete