Trail CHOP/Record CHOP features

Hello Forum,

I was spending my afternoon building an AV Looper component for use in my projects when I stumbled upon a relatively wacky hurdle which I am having a hard time resolving using either the trail CHOP or record CHOP, both of which have their pros and cons (although the record chop has way more cons in my opinion)

When recording CHOP channels into a trail CHOP, the new values will append themselves at the end of the maximum index range and effectively push out the old values to the lowest index until they are out of range. This is a feature that can be exploited for building delay lines and (as the wiki puts it) snakes :sunglasses: but makes it difficult to overdub and read values back from the buffer as it will cause all values in the buffer to change per frame.

The record CHOP operates differently in this regard and updates the values cyclicly from the lowest index to the highest which would suit my purpose just fine except for a few unhelpful quirks such as having the buffer size be strictly restricted by the length of the timeline.

One way you’d think to get around this is either by cranking up the length of the time-line and outputting only a segment using the record output parameter but this suddenly gets extremely expensive CPU wise for some reason and makes it unusable. (windows 10, build 12330)

Another is by modifying the length of your project’s timeline… but that’s a pretty unsatisfactory solution if it needs to be modulated and adding it’s own independant component time makes it difficult to work with timesliced CHOPS coming in from outside that component.

The auto-range parameter is also a bit strange in that it begins with negative index values and also caps off at the max length of the time-line.

All in all, the way that the record CHOP and the timeline interacts is kind of weird and seems like it needs an update. I would rather it had the same ‘grow length’ and ‘window length’ parameters as the Trail CHOP which I’m a big fan of. It might also be nice to find a way to be to specify the indeces at which it should be recording.

Alternatively, I would like it if the trail CHOP could overwrite its channels in the same way as the record CHOP (although it would cease to be a trail at that point I suppose!)

The file I’ve attached is maybe only a bit helpful. Please let me know if anything needs clarification of if I’m overlooking some other potential CHOPs or techniques for this use. :mrgreen:

recordchop demonstration.4.toe (21.1 MB)

Hi Owen, Thanks for the explanations. I don’t have a precise solution for good capture and overdubbing. The Trail CHOP is definitely not designed for this and I wouldn’t change that CHOP for that purpose. The Record CHOP needs a lot of improvement - one thing I didn’t like is that if you are dropping frames, it’s hard to fill them in later with better-smoothed curves (I see you are doing audio too). Anyway, a different avenue I have been following recently to try to get what I wanted is in a component where every gesture is recorded as rapid-fire keyframes and post-interpolated/smoothed. In the NEXT Experimental (not the current releases before Jan 8, 2020) is a revamped gestureCapture.tox in the Palette’s Techniques section. Have a look when it comes out. You will be able to mod it to suit what you need, maybe for audio too. And overdubbing may be possible by combining 2 or more. Ultimately, the Record CHOP would be revamped in the future to include more of its features.

Thanks Greg, always nice to hear back from the team! I will have a look at the gesture capture tox now that the new experimental is out.