Trail CHOP Replay System help

I’m creating a system that records parameter changes performed in real-time. For simplified demonstration purposes, I have 3 sliders and absolute second*.1 merged into a Trail CHOP (set to grow length), which I’ve scripted to record and save out as a .bclip.

So I have a specific timing and all the actions my sliders took during the trail’s recording window, saved as a .bclip. I drag this .bclip back into Touch and want to replay it exactly as it was recorded.

I’m using a Lookup CHOP with the recorded trail in the Lookup Table Input, and currently an LFO (set to ramp) in the Index Input. I’m using an Info CHOP on the trail to get the length and sample rate, dividing those channels respectively, then setting the quotient as the amplitude of the LFO ramp and as the from range maximum when normalizing the LFO with a subsequent Math CHOP. This is working to drive the lookup, but the timing is off. I’m not sure what to set the frequency of the LFO to, as 1 Hz or even 0.1 Hz seems to be too fast.

I think I’m missing something critical yet simple about how to play back this trail at the original time. I’m assuming another time-related CHOP is better suited over the LFO.

This system is my solution to recording long manual performances in TD as CHOP data, so that I can go back to any happy accident and re-render at different dimensions / resolutions. I currently spend countless hours attempting to recreate performances (and never quite repeating them the way I liked), wishing I had a wider resolution or deeper bitrate than the original take. Any advice, alternatives, or differing perspectives would be immensely appreciated.

Replay_Test_211010.1.toe (21.9 KB)

I woulöd use a timerCHOP for that matter. You can set the length of the timer to be
op('info1')['length'] / op('info1')['sample_rate'] * project.cookRate
and then simply feeding the fraction into a lookupCHOP.

1 Like

Thank sincerely for replying. The timer CHOP may be that simple solution I had overlooked. Can I ask why you’re multiplying by the cook rate? The timer seems to play at a 1 second interval without it, but not sure. I think I may misunderstand the relevance of the cook rate.

Ah sorry, my mistake. You would need to set the length type to be frames and not seconds for this approach to work. By not multiplying by project.cookRate you can also simply use seconds as the length type.
This is only really needed when you have a different framerate in your project then the file itself.

1 Like

Thank you for clarifying. Makes sense, and now I also know how to resolve it with varying frame rates :slight_smile: