Тёмный

Audioreactive particles with Chladni Cymatics in Touchdesigner 

Factory Settings
Подписаться 3,6 тыс.
Просмотров 12 тыс.
50% 1

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

Кино

Опубликовано:

 

3 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 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!
@bananaliquorable
@bananaliquorable 6 месяцев назад
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! :)
@deathofgrungeboy
@deathofgrungeboy Год назад
Thank you so much!
@cosmosunited
@cosmosunited Год назад
such an awesome tutorial! thank you!
@GowthamJayaram
@GowthamJayaram 20 дней назад
Amazing, will give this a try. Thank you
@gregderivative2647
@gregderivative2647 4 месяца назад
so well explained - thanks!
@platzzz
@platzzz Год назад
wow! so grateful you for the tutorial ;)
@hydeman75
@hydeman75 Год назад
Perfect , Thanks !
@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!
@nilyu5740
@nilyu5740 Год назад
Thank you so much!! Great tutorial!!
@FactorySettings
@FactorySettings Год назад
Cool, glad you liked 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. 💥
@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!
@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
@MansourAliz1
@MansourAliz1 Год назад
this tut is damn dope🔥. hell yeah am subscribing and sharing this video
@FactorySettings
@FactorySettings Год назад
Awesome!
@unveil7762
@unveil7762 Год назад
Wowoooooo 🎉❤❤❤❤❤ Thanks.
@FactorySettings
@FactorySettings Год назад
Glad you like it!
@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!
@AliTanUcer
@AliTanUcer 9 месяцев назад
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 9 месяцев назад
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 ;)
@luzid.vision
@luzid.vision 9 месяцев назад
Can't believe I just found this.
@user-ih9wy4jg7b
@user-ih9wy4jg7b 2 месяца назад
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 2 месяца назад
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.
@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
@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 ;)
@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
@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.
@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.
@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!
@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
@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.
@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); }
@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!
@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.
@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 3 месяца назад
@@nestarose1332it really depends on what treshold your using, what does it do after the RMS?
@nestarose1332
@nestarose1332 3 месяца назад
oh i found it left some dumb toggle on... ty for helping tho ;) @@FactorySettings
@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.
@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
@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...
@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.
@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 7 месяцев назад
Same here
@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
Просмотров 7 тыс.
Chladni patterns in Touchdesigner
2:03
Просмотров 4 тыс.
Every Important Math Constant Explained
12:19
Просмотров 25 тыс.
Lineas interactivas - Touchdesigner tutorial
8:41
Просмотров 35 тыс.
Touchdesigner Tutorial - WorldSpacePosition PTC
7:06