Rotate XY audio wav to laser

I have a 5ch WAV thats a laser animation (XYRGB) that i would like to rotate. I tried to insert one of the two “transform” chops available into the XY channel section of the patch before merging with the RGB channels and then going to the XY scope.

I don’t understand how to achieve 2D rotation to the XY channels of the WAV. whenever adding the transform chops the system starts to slow down. is the transform chop even what i need to achieve 2D rotate, i want to do precise positioning of xy and rotate (i dont need it to constantly spin).

I come from a VCV rack background for laser signals, so i thought to apply an X or Y translation to the laser signal in TD i would put the X and Y channels through math chops individually, doing a pre or post ADD on the math chop allows me to move the position on the X or Y axis. If this could be achieved in a cleaner way, maybe also using the transform chop, i would love to know how that works!

Hi @ferventwindow,

try using the Transform XYZ CHOP and pass in channels named tx and ty. Now use the parameters on the Transform page to offset, scale, and rotate the incoming waveform.

cheers
Markus

1 Like

wow, that worked, and now i can remove the math chops i’m using to translate x and y. i dont know why it didnt work before, maybe i was using the other translate chop, or perhaps i didnt rename the channels… thanks so much

hi markus, my project seems to be slowing down! whenever the project loops, the FPS is good, but then it quickly slows down more and more until the loop starts over.

** when i disable, or just disconnect, the TRANSFORM XYZ chop, it goes back to smooth 60fps. screen recording here: fpsSlowdown.mov - Google Drive

would appreciate any help!!

Hi @ferventwindow

it looks like that somehow the merge is causing 2 waveforms of maybe different start times or sampelrate to try to align and in that extending the range of one of them to an ever growing length.

Can you share the file to see where and why that is happening? Otherwise I can only guess.

The Merge CHOP (as other multi-input CHOPs) has an Aling parameter which by default is set to “Automatic”, try to change this to something like “Shift to Minimum” or “Trim to First Interval” to see if that makes a change.

cheers
Markus

Whenever the project loops back to beginning, the FPS is good, but then it quickly slows down more and more until the loop starts over.

** when i disable, or just disconnect, the TRANSFORM XYZ chop, it goes back to smooth 60fps.
screen recording here: fpsSlowdown.mov - Google Drive

project file here:
transformXYZstutters.toe (51.6 KB)

Hi @ferventwindow,

I see that you posted the file in another post - and I moved it here…

The Transform XYZ CHOP seems to shift the start frame of the channel to 0. Now as mentioned above, when merging this with the second CHOP containing your rgb channels this will try to align the 2 CHOPs to each other creating a long output channel which covers the range from the first input’s start frame to the second input’s endframe. As you are dealing with audio waveforms here, this can be a lot of data: 735 samples per frame * number of frames… eventually causing this slowdown.

To quickly make this work set the Merge CHOP’s Align parameter to “Shift to Maximum”.
We will check why the Transform XYZ CHOP shifts the channel to frame 1.

cheers
Markus

this solved my problem! thank you! :folded_hands:
it doesnt seem to make any difference whether i choose “shift minimum” / “shift maximum” / “nearest interval” . they all seem to fix it, i’m not sure what the differences are beyond that, or if its better to use one or the other.

Hi @ferventwindow,

yeah - I figured “Shift Maximum” to keep it on the current frame as I saw you are then putting it into a Laser Device CHOP - but maybe that actually doesn’t matter… Would have been important if you are using a AVB capable Laser.

cheers
Markus