Audioreactive particles with Chladni Cymatics in Touchdesigner

  Рет қаралды 11,638

Factory Settings

Factory Settings

Күн бұрын

Hello friends! Today, we're diving deep into the mesmerizing world of Chladni Cymatics using TouchDesigner. To keep things fresh, we're trying out a slightly faster-paced format to deliver essential information more swiftly. Do drop a comment and let me know if this style suits you!
Our adventure will take us through the process of creating Chladni Cymatics patterns from scratch. Regardless of whether you're a beginner or wanting to refine your skills, this guide caters to you. At the end I'll discuss a very basic but very powerful way for making almost anything audioreactive.
To follow along with this tutorial, make sure your system supports the use of GLSL shaders. But don't sweat it if you're not well-versed in coding - everything is explained clearly and in-depth.
🔑 Key Highlights:
0:00 - Introduction
0:14 - Chladni equation
0:45 - Convert Chladni equation to CHOPs
02:30 - Convert Chladni equation to a texture
03:22 - Generate particles
05:53 - Create the shader
10:22 - Normal mapping
13:55 - Making it audioreactive
🎵 Used Audiotrack: Aril Brikha - Berghain
If you find this tutorial helpful or inspiring, please hit the like button and share it with your fellow visual art enthusiasts. Subscribe for more content like this!
Instagram: / daily.typo
Facebook: / factory-sett. .
Have a look at our Patreon website for more tutorials, the workfiles and several other gadgets and tools! / factorysettings

Пікірлер: 101
@satyamjha_2
@satyamjha_2 Жыл бұрын
this was one of the best td tutorials i've watched. Please keep making more of these.
@FactorySettings
@FactorySettings Жыл бұрын
Awesome! Spread the word!
@GowthamJayaram
@GowthamJayaram 26 күн бұрын
Amazing, will give this a try. Thank you
@cagdasyalman2443
@cagdasyalman2443 Жыл бұрын
I've been trying to solve Chladni Formula for the last 1 week. Your tutorial has been very useful for us. Thank you so much...
@FactorySettings
@FactorySettings Жыл бұрын
Great to hear!
@bananaliquorable
@bananaliquorable 7 ай бұрын
I am absolutely in love that you made this. But what I can't figure out is how M N and L relate to the frequency that normally produces the Chlandi pattern. I found somewhere f ∼ (m + 2n)2 then by defining n and f I could make a kind of relative progression. But it's not I don't think a nice cipy of the 'natural' chladni plate phenomenon in that way. If this makes sense! :)
@hinduspl
@hinduspl Жыл бұрын
Thanks for those. I will play with those after the job. This is going to be great Sunday. All the best for you. Thanks for sharing ❤
@FactorySettings
@FactorySettings Жыл бұрын
Great to hear, thank you!
@cosmosunited
@cosmosunited Жыл бұрын
such an awesome tutorial! thank you!
@platzzz
@platzzz Жыл бұрын
wow! so grateful you for the tutorial ;)
@hydeman75
@hydeman75 Жыл бұрын
Perfect , Thanks !
@deathofgrungeboy
@deathofgrungeboy Жыл бұрын
Thank you so much!
@DanielSimon-em2pe
@DanielSimon-em2pe Жыл бұрын
This is perfect! Great explanation of the dissection of the formula. I'm only at 5 mins, but this chop part blew my mind, learned a lot. Thank you for this!
@FactorySettings
@FactorySettings Жыл бұрын
Awesome! Glad you like it!
@gregderivative2647
@gregderivative2647 4 ай бұрын
so well explained - thanks!
@unveil7762
@unveil7762 Жыл бұрын
Wowoooooo 🎉❤❤❤❤❤ Thanks.
@FactorySettings
@FactorySettings Жыл бұрын
Glad you like it!
@Nanotopia
@Nanotopia 9 ай бұрын
Amazing! Something I have been looking for and the entire time I felt Mads Mikkelson was talking to me 🤩Definitely subscribing and becoming a Patreon supporter. 💥
@nilyu5740
@nilyu5740 Жыл бұрын
Thank you so much!! Great tutorial!!
@FactorySettings
@FactorySettings Жыл бұрын
Cool, glad you liked it!
@MansourAliz1
@MansourAliz1 Жыл бұрын
this tut is damn dope🔥. hell yeah am subscribing and sharing this video
@FactorySettings
@FactorySettings Жыл бұрын
Awesome!
@samuelslade
@samuelslade 5 ай бұрын
Amazing work, im fairly new to Touchdeisgner, im really interested in audio visulas and exploring Cymatics within my Uni project. so this tutorial was perfect! thank you
@user-ih9wy4jg7b
@user-ih9wy4jg7b 3 ай бұрын
So cool! Any way to get the real frequency patterns, audio reactive? Say I play a A=432 sine wave, I get the corresponding pattern? I did see the audio reactive part included at the end of the video, though this only shows using audio to change numbers/parameters and not the actual frequency patterns?
@FactorySettings
@FactorySettings 3 ай бұрын
In theory, but it depends a lot on the environment, shape, material. I don't think there is like 'one' shape for a particular frequency. The audioreactive part at the end just generates a random variable every 4 bars.
@darajan6
@darajan6 Ай бұрын
Hi the simulation looks fantastic. I wonder if we could make the particles moving within a circular space rather than a square one. I tried to use the length() function in a conditional structure, but it seems not working.
@AliTanUcer
@AliTanUcer 10 ай бұрын
Really great tutorial.. Since you dived in to GLSL, you could actually implement the formula in GLSL as well... Well, it is still good since it is teaching a lot of TD operators as well... Great work.
@FactorySettings
@FactorySettings 10 ай бұрын
True, but like you mention, it shows how you can implement certain other nodes. GLSL is quite intermediate stuff, and this was oriented beginner friendly ;)
@meowza862
@meowza862 Жыл бұрын
thank you so much for this tutorial!! im wondering if you can help me with a few errors I keep coming across: in the chop execute and the glsl. It says that it does not accept apostrophe's for op 'constant' .
@FactorySettings
@FactorySettings Жыл бұрын
Try op('constant') instead
@luzid.vision
@luzid.vision 9 ай бұрын
Can't believe I just found this.
@artarkmotion
@artarkmotion 4 ай бұрын
Hi, Thanks for the tutorial. I seem to be getting the same error with the code. Can you please paste it on the description so that we know where the issue is?
@FactorySettings
@FactorySettings 4 ай бұрын
You'll do yourself a great favor in finding the error yourself. if you really get stuck you can always send it, I'll have a quick look... info@factorysettings.net
@TinoCollias
@TinoCollias 10 ай бұрын
Hi, been waiting for exactly this tutorial. I seem to struggle using the chopexec1 to give the new values (just does not update) and when i change the values manually the blue does not respond? Would love some help if possible, been i dream to display Cymatics through
@FactorySettings
@FactorySettings 10 ай бұрын
Hi, just sent me the .toe file, I'll have a quick look ;)
@jibraanzobairi1990
@jibraanzobairi1990 3 ай бұрын
thank you so much! is there any way to make the frame a circle or hexagon instead of a square?
@FactorySettings
@FactorySettings 3 ай бұрын
Thank you! Yes, that would be a different formula, did you have a look at the website of paul bourke?
@jibraanzobairi1990
@jibraanzobairi1990 3 ай бұрын
haven't had a look at his website. If there is another formula how do I translate it for touchdesigner? As it seems that the formula you put into touch designer is either adjusted or translated in some way @@FactorySettings
@jibraanzobairi1990
@jibraanzobairi1990 3 ай бұрын
thank you in advance for any help you can provide
@TheJackJulian
@TheJackJulian 2 ай бұрын
@@jibraanzobairi1990 In the GLSLmulti node, which appears around 13:00, paste the following formula to create a circular boundary, and also put the Noise node Noise style to hermit: out vec4 fragColor; uniform float speed; void main() { vec4 position = texture(sTD2DInputs[0], vUV.st); vec4 initial = texture(sTD2DInputs[1], vUV.st); vec4 velocity = texture(sTD2DInputs[2], position.xy / 2 + .5); velocity = velocity * 2.0 - 1.0; vec2 deritative = vec2(dFdx(position.r), dFdy(position.y)); velocity.st += deritative * 0.25; position += velocity * speed; // Check if the particle has moved outside the circular boundary float distanceSquared = dot(position.xy, position.xy); float boundaryRadiusSquared = 0.999 * 0.999; // Adjust this radius as needed if (distanceSquared > boundaryRadiusSquared) { position = initial; } fragColor = TDOutputSwizzle(position); }
@nataliastojkova6374
@nataliastojkova6374 Жыл бұрын
I've learned so much! Amazing tutorial! Just a quick question: How can I change point weight (or colour)? For some reason my particles are dark grey and I can barely see any movement.
@FactorySettings
@FactorySettings Жыл бұрын
Great to hear! What kind of material have you used for the particles?
@nataliastojkova6374
@nataliastojkova6374 Жыл бұрын
@@FactorySettings I guess that is the problem; I am not sure where to change the particle parameters. I followed your tutorial step by step, but somehow I cannot change Points weight in "ADD SOP". I am quite new to TD so maybe I am just missing something basic (?)
@FactorySettings
@FactorySettings Жыл бұрын
@@nataliastojkova6374 If you're using a pointspriteMAT for your material of your geometry, there you can change colors and point scale for instance. You can't change that in the addSop, that's just for generating points.
@Anubiss3301
@Anubiss3301 Жыл бұрын
Great tutorial I'm having a lot of fun exploring! If I wanted to increase the dimensions of the output render what nodes/settings would I need to amend in order to reflect this? I've tried increasing the size up to 2000 but the patterns are a lot less defined (maybe due to not enough particles available to be distributed across the larger render?) Also, I'm finding that when the 'l' and 'm' parameters of constant1 are an equal value (eg. 1 and 1, 2 and 2, etc.) it creates a black image instead of a pattern, which slightly interferes with the visual flow of the particles (occasionally it results in the particles being unresponsive momentarily). Is there anything I could do to amend this? Possibly add something into the chopexec1 to exclude the possibility of these two parameters ever being an equal value..?
@FactorySettings
@FactorySettings Жыл бұрын
Thanks! How do you define 'dimensions'? There is geometry space and output resolution. I think you should be good to go with increasing the resolution at the renderTOP and the project COMP. The geometry space is still -1 to +1, so the amount of particles shouldn't have an effect. Does that make sense to you?
@Anubiss3301
@Anubiss3301 Жыл бұрын
@@FactorySettings ah yes thank you, after a little bit of experimenting I was able to find a good render setting, I think I'd overlooked checking the settings on a moviefileout node so it was momentarily rendering in a much lower quality but it's fixed. Are you able to advise on the issue with 'n' and 'm' parameters causing a blackout when matched (or closely matched) in value? Eventually I'd hope to explore the chopexec1 code and designate more specific values instead of using random.uniform, but for the purposes of learning and understanding is there any way to exclude the possibility of num1 and num2 having the same value at one time so I can avoid the possibility of a flat black pattern being generated..? I appreciate that's a bit of a complex question haha
@FactorySettings
@FactorySettings Жыл бұрын
@@Anubiss3301 That's just the equation, the more equal, the less pattern, you could make two functions with different ranges, like one between 0 and 4 and the other between 5 and 10, so they never get close. Lot's of different trick to do that. You could also trigger something when the values are a number 'x' in difference, like 'if' it does, add 1.0 to 'n', lots of options!
@Anubiss3301
@Anubiss3301 Жыл бұрын
@@FactorySettings thanks for the tips! I managed to find a good resolution for this issue after a bit of experimentation. It seems to be working as intended so I'll post the revised code here in case anyone else may need it: import random def onOffToOn(channel, sampleIndex, val, prev): def randomFloat(): num1 = random.uniform(.1, 10) num2 = random.uniform(.1, 10) while abs(num1 - num2)
@FactorySettings
@FactorySettings Жыл бұрын
@@Anubiss3301 Yes, that's an option! Nice that you've find a solution that works for your patch! Great job!
@nestarose1332
@nestarose1332 4 ай бұрын
tysm for this tutorial! it helped a lot❤. Im just left with one question, there is a pulsation of the particles every second or so, even when there is no audio input, is there a way to get rid of this ? ty
@FactorySettings
@FactorySettings 4 ай бұрын
You're welcome! Depends on how you've set up the pulsation? You mean that the shapes changes?
@nestarose1332
@nestarose1332 4 ай бұрын
yeah even when i, for example play a single 90hz tone, the shape changes every now and then@@FactorySettings
@FactorySettings
@FactorySettings 4 ай бұрын
@@nestarose1332it really depends on what treshold your using, what does it do after the RMS?
@nestarose1332
@nestarose1332 4 ай бұрын
oh i found it left some dumb toggle on... ty for helping tho ;) @@FactorySettings
@mysaucebucket
@mysaucebucket Жыл бұрын
Hello great tutorial, but I had a problem is that at the end my rendering seems soft and not very sensitive to the music which is however very energetic
@FactorySettings
@FactorySettings Жыл бұрын
Thanks! Difficult to tell, is it looking ok in geometry view?
@FactorySettings
@FactorySettings Жыл бұрын
How are you analyzing your audio? Does the RMS power give you enough bandwidth? If not, add a mathCHOP begind the analyzeCHOP and multiply it with a number up until you notice a difference.
@nikoosheybani8561
@nikoosheybani8561 10 ай бұрын
Thank you for this tutorial. I can't seem to get the chopexec1 to work (at 3:20). I copied the text exactly as is in the video but when I click play nothing happens, just a black square still!!! how should i fix it :(
@FactorySettings
@FactorySettings 10 ай бұрын
Hi! You really have to use your hawk eyes regarding coding, every indent, comma, enter, matters. So I have to see the code in order to help you out, could you email it?
@AbrahamAyala-iq5ze
@AbrahamAyala-iq5ze Ай бұрын
you have to change Content Language to Python
@bludisinocent
@bludisinocent 9 ай бұрын
For some reason when i do the procedure in the chop execute it gives me a error "module 'random' has no attribute 'Float'" and i write everything as you told, can you help me ?
@FactorySettings
@FactorySettings 9 ай бұрын
I get this question a lot, and every time it is not exactly copied from the tutorial. Coding is very precise when it comes to indents, enters, commas, etc. If you miss one, the code won't work. I encourage you to go through it with your hawk eye again. Eventually you could email me a screenshot and I'll pick the error out there for you.
@Zouvi2001
@Zouvi2001 Жыл бұрын
Thank you for this tutorial. I can't seem to get the chopexec1 to work (at 3:20). I copied the text exactly as is in the video but when I click play nothing happens, just a black square still
@FactorySettings
@FactorySettings Жыл бұрын
When it comes to executing scripts, you really need to use you eagle eye, it comes very precise. You can send me the .toe file, I'll have a quick look!
@VuAnh-ey3bi
@VuAnh-ey3bi 11 ай бұрын
same issue, have you solved it?
@patriciaalfarocontreras3236
@patriciaalfarocontreras3236 10 ай бұрын
I have the same problem, how to solve it? :(
@FactorySettings
@FactorySettings 10 ай бұрын
@@patriciaalfarocontreras3236 I have to see the code in order to see the issue. Can you paste a screenshot in an email?
@patriciaalfarocontreras3236
@patriciaalfarocontreras3236 10 ай бұрын
@@FactorySettings Finally, the code worked for me, but I'm experiencing that the geometries don't look as defined as in the video; strange patterns are being generated. To which email could I send you the .toe? Thank you.
@ValidPlacebo
@ValidPlacebo Жыл бұрын
@3:16 chopexec1 gives me an error message saying num1 and num2 is not defined. I went back and rewatched the video and I didn't see anything that I missed.
@FactorySettings
@FactorySettings Жыл бұрын
Did you exactly replicate the script? Might be an indent missing, a comma, perhaps something in the 'return' of the function? Did you 'import random' on the top?
@ValidPlacebo
@ValidPlacebo Жыл бұрын
@@FactorySettings I was tired and forgot python is tab sensitive and I didn't realize there was a 2nd return below num1 and num2. That fixed it thanks!
@luciablondi8074
@luciablondi8074 Жыл бұрын
I cannot open the text editor in chop execute. Is this maybe not available for the free version?
@FactorySettings
@FactorySettings Жыл бұрын
Should be, have you pressed the little '+' sign in the lower right corner of the chopExecuteDat? It then opens and you should be able to edit the text.
@ahmedjamal2569
@ahmedjamal2569 5 ай бұрын
i cant do the math thing at min 1:37, when i write that ' (math.pi * op('null1')[0]) / op('null1')[2] ' it gives me error, please help
@FactorySettings
@FactorySettings 5 ай бұрын
What does the info in the error say? Because if you'd follow along exactly, it should work.
@nestarose1332
@nestarose1332 4 ай бұрын
i have the same error, it says "syntaxerror: unexpected eof while parsing"@@FactorySettings
@FactorySettings
@FactorySettings 4 ай бұрын
@@nestarose1332probably just a typo, use your hawk eye to track the error, the tutorial is not wrong...
@romanduelin
@romanduelin Жыл бұрын
I'm getting an error on my Math TOPS "Error: (parameter: multiply) Has this happened to anyone else?
@FactorySettings
@FactorySettings Жыл бұрын
Hi, I can't recall using a MathTOP during the tutorial, you mean mathCHOP by coincidence?
@jeremietoussaint4085
@jeremietoussaint4085 8 ай бұрын
I have the same error
@francescomarchi2549
@francescomarchi2549 8 ай бұрын
Same here
@josephlihou
@josephlihou 11 ай бұрын
multiplying function1 and function2 gives me horizontal lines only? , and the Math3 CHOP chan1 looks to be a simple Sin wave, despite being set to multiply and the functions set to Cosine, any idea why this is happening?
@FactorySettings
@FactorySettings 11 ай бұрын
Difficult to tell, if you follow it step by step you should get the exact same result as in the turorial. I encourage you to start over, otherwise you could send me the file, I'll have a quick look
@sofiaboccadoro4601
@sofiaboccadoro4601 9 ай бұрын
How did you solve this? I am having the same problem :(
@FactorySettings
@FactorySettings 9 ай бұрын
Check the patternCHOPS, the issue was there. Make sure you've copied the exact steps from the tutorial.@@sofiaboccadoro4601
@sofiaboccadoro4601
@sofiaboccadoro4601 9 ай бұрын
Thanks for replying and for such and awesome tutorial! I am stuck on the CHOPExecute since my mac is not letting me edit the text, any advice? I am going to try it later on a pc @@FactorySettings
@FactorySettings
@FactorySettings 9 ай бұрын
Thank you! That would be weird, why wouldn't mac let you edit the text, have you pressed the small '+' sign in the bottom right corner of the operator, it then should open it and you can enter inside the text. There is no need for opening an external editor. You can edit the text right inside TD.@@sofiaboccadoro4601
@antoninamazaeva9657
@antoninamazaeva9657 5 ай бұрын
Is there a way you can share it so I can play with my own sounds?
@FactorySettings
@FactorySettings 5 ай бұрын
I'm sharing the steps how you can build it on your own. You'll gain knowledge of Touchdesigner and a bit of coding. If that's not enough, you could consider becoming a patreon where you can download the patch and loads of other stuff.
@antoninamazaeva9657
@antoninamazaeva9657 5 ай бұрын
@@FactorySettings Thank you for your response. I followed your tutorial but the pattern doesn't respond to the audio, and I was wondering if you could tell me where to look for errors. Would really appreciate your help, as I am doing this for my uni project. I also joined you on patreon and tried to run your patch but my sound doesn't change the pattern..
@FactorySettings
@FactorySettings 5 ай бұрын
@@antoninamazaeva9657 Hi! I've replied to you via Patreon.
@Will-nz1qo
@Will-nz1qo Ай бұрын
my "function" react in a different way and cause malfunction (f*ck!) - thank you for tutorial
@FactorySettings
@FactorySettings Ай бұрын
What malfunction exactly? Doesn't run?
@user-op3tw5wq2x
@user-op3tw5wq2x 4 ай бұрын
the code is wrong in 3:13 ???
@FactorySettings
@FactorySettings 4 ай бұрын
No, it isn't, I get this question a lot. It's always something like a missed indent or a forgotten quotation mark. The thing with code is that it's never wrong, the writer is. That might sound harsh but I encourage you to just go through your code one character at the time.
@user-op3tw5wq2x
@user-op3tw5wq2x 4 ай бұрын
I'm sure it is exactly right, I have sent my code to my friend to check, there could be no wrong. I think it might be version problem. @@FactorySettings
@user-op3tw5wq2x
@user-op3tw5wq2x 4 ай бұрын
GPT helped me. It changed the code import random def onOffToOn(channel, sampleIndex, val, prev): num1, num2 = random.uniform(.1, 10), random.uniform(.1, 10) op('constant1').par.value0 = num1 op('constant1').par.value1 = num2 return then it is right @@FactorySettings
@FactorySettings
@FactorySettings 4 ай бұрын
@@user-op3tw5wq2xyou can send met the .toe file, I'll have a look
@user-op3tw5wq2x
@user-op3tw5wq2x 4 ай бұрын
GPT helped me, it changed the code. import random def onOffToOn(channel, sampleIndex, val, prev): num1, num2 = random.uniform(.1, 10), random.uniform(.1, 10) op('constant1').par.value0 = num1 op('constant1').par.value1 = num2 return then the error fixed. my version is 2021. @@FactorySettings
Cymatics - Max/MSP Tutorial
26:18
Hearing Glass | Umut Eldem
Рет қаралды 7 М.
Early 2000s-style Glitch / Net Art In TouchDesigner - Tutorial
25:46
The Interactive & Immersive HQ
Рет қаралды 29 М.
Nutella bro sis family Challenge 😋
00:31
Mr. Clabik
Рет қаралды 11 МЛН
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31
The child was abused by the clown#Short #Officer Rabbit #angel
00:55
兔子警官
Рет қаралды 24 МЛН
Instance and offset an animated FBX using GLSL in Touchdesigner - Part 1
40:10
Flow Field Particles in TouchDesigner - All TOPs!
38:21
Dean Cheesman
Рет қаралды 1,3 М.
Use L-system for infinite path loops in Touchdesigner
49:22
Factory Settings
Рет қаралды 4,5 М.
AUDIOREACTIVE LUMEN-PRINT - TOUCHDESIGNER TUTORIAL
54:11
PPPANIK
Рет қаралды 22 М.
Generative Camera Paths in TouchDesigner - Tutorial
14:52
The Interactive & Immersive HQ
Рет қаралды 15 М.
Script generator for Blender: convert Midi notes to keyframes
9:54
Factory Settings
Рет қаралды 2,6 М.
I Tried Making Generative Art with Touch Designer
11:39
phase space
Рет қаралды 63 М.
Audio Analysis | AME 394 | TouchDesigner
38:05
Matthew Ragan
Рет қаралды 28 М.
Instance and offset an animated FBX using GLSL in Touchdesigner - Part 2
52:57
agak Laen ni🤣
0:43
Brewok Ndeso
Рет қаралды 24 МЛН
Smiling Critters BIG CLAPPER Herobrine
0:13
5G Vision
Рет қаралды 2,2 МЛН