Jump to content
foible50

CHOPS fit range option? For audio driven animation cycle

Recommended Posts

I've been trying to make an audio input drive an animation cycle, but feel like I'm missing a couple of steps and was wondering if anyone could give me a point in the right direction.

For testing, I created an animation loop in sops (just a simple box moving up and down again) which I'm driving with a time shift sop and a zero to one attribute, and am hooking up to the chops output.

 

I have brought in an audio source and have isolated the beats with a trigger sop.  I have also created a zero to one ramp in a separated channel and copied that to the triggers.  What I would like to achieve is to have the the beginning of the ramp start at the trigger, which is what I have now, but then to refit the ramp so that the end of it sits at the beginning of the next trigger (the next beat). I have been puzzling on this for a while, but can't work out how to solve it.  Essentially, I was hoping this would make it possible to drive a seamless animation cycle.

 

Hope I've explained that clearly enough, but any help anyone could offer me would be gratefully received!

Thanks!

Toby

 

Share this post


Link to post
Share on other sites

Is this what you want?  I have just taken the copied channel, flipped it in X, copied it again, then shifted it the length of the copied channel, and then maxed them together.  

chopCopyInOut.hip

Share this post


Link to post
Share on other sites

Hi,

Many thanks for getting back to me and for taking the trouble of having a look at my problem.   It's not quite what I was after - I was hoping that I could get a ramp that goes from zero to one, procedurally copied and stretched to each beat so that it starts at zero at each trigger and then stretches to one for the next trigger, where the next ramp starts at zero again...and so on.  I was thinking that with this setup you could have something like a walk cycle that continuously cycles without break and goes in time with any rythm.

I'm beginning to think that maybe this isn't possible as I can't see any way of procedurally fitting the copies to the index range.  

 

Thank you for your help anyway though :)

Share this post


Link to post
Share on other sites

You can use a Limit in clamp mode to help isolate the beat then follow that up with a Count node. The Constant node you connect to the Count acts like a remap multiplier and you can essentially fit to any range by adjusting that value.

I have a small demonstration of this technique in my video here:

 

Share this post


Link to post
Share on other sites

Hi Atom,

Many thanks for getting back to me and sorry for the late reply - I didn't have notifications turned on for the thread.  

I actually came across your tutorial before but thought that it was about something different- it's really helpful.  I took your method with a couple of filter chops and then a shift chop to readjust the timing and then brought it back into the sop parameter with the % function to make it loop, and that seemed to give the result I was after.  Thanks so much for passing this on and for making these tutorials in the first place (I've found others of yours helpful in the past too).

 

All the best!

 

Toby

  • Like 1

Share this post


Link to post
Share on other sites

Coming from a touchdesigner background I suggest posting the exact same question on the TD Facebook group help page.

While not identical using chops in TD is similar enough in logic to get you to a solution.

And perhaps for what you are trying to do TD is a better option!

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×