I am working on a projection project in TouchDesigner and would appreciate some guidance.
I would like to create a grid layout in which images are randomly placed inside each cell of the grid. Each grid cell should continuously transition from one image to another, using smooth opacity (crossfade) transitions.
The timing of these transitions should be synchronized to the tempo (BPM) of the music playing during the performance. In other words, when the tempo increases, the image-change speed should also increase.
My questions are:
1.â â What would be the best operator setup for randomly assigning images to each grid cell?
2.â â How can I implement opacity-based transitions between images per cell?
3.â â How do I link the transition speed to the detected BPM or audio analysis of the music?
**4.**â â Is there an efficient way to handle a large number of images without dropping frames?
5. In each cycle, all images in the grid must be different (no repetitions).
I am sharing a screenshot and the project folder if you want to take a deeper look.
Any suggestions, example networks, or references would be very helpful.
Iâd like to take a shot at this, as I worked on a similar project a while ago. The main problem was loading many images on the same frame. A few questions that can help me provide the best solution:
How many images do you have in that folder, and whatâs their typical resolution?
How much VRAM does your GPU have?
Will you be adding more images during the performance or is the number of images fixed?
How big do you want the output image to be?
What kind of music will this play with? If itâs electronic music with a constant beat then I can also give you the beat detection widget I put together.
Hello, thank you for your interest.
As for your questions:
Number of the images is not certain at the moment, but there is a grid for 35 images and each image will be 290x290 pixels. (We will not see more than 35 images per frame)
I am using a MacBook Pro M3 with 16GB Memory.
Number of the images is fixed.
Output image will be around 290x220 cm.* I am sharing the exact place. Itâs highlighted with the yellow frame.
Ok, so hereâs what I put together. Main ideas are:
Preload all the images into Movie TOPs to avoid having to load them live. This works for me on ~300 images in the folder. I expect it to work for about 1000 images but I havenât tested any more.
Prepare 2 layouts and use double buffering. The hidden layout will update on the beat and then we switch to it smoothly, then the other layout will change on the subsequent beat
I put together basic beat detection but the music you shared doesnât have a kick or a bassline, so that wouldnât work. So I added a Pulse LFO on the sketch tempo which should work if you set the tempo correctly (seems to be 90 BPM in the music you shared
Note: If you see that the crossfading is glitching, then go to the switch1 operator and flip the order of the inputs. This is a timing issue and I canât be bothered to fix it now.
I like the music, is this your work?
If you like what I put together as a base then Iâll gladly continue collaborating with you. If you use any parts of this sketch then please make sure to give me credit, even if very discretely.
I am sorry, Iâve been a bit busy lately and wasnât able to reply earlier.
I am going to take a look at the project you shared and reply as soon as possible. Btw, music is not mine, itâs my friendâs. It will be an event at a place called MiniMusicLibrary.