[Sharing] Gesture/Pattern Recorder
Here's a gesture/pattern recorder I worked out for the capturing and playback of complex gestural data. You can play the data back at any speed (including backwards) and control it quite simply ('record', 'play', etc... messages).
Using a nodes thing from a help patch for this demo but the intended usage would be connecting it to a gamepad data stream.
This is a small part of it. This will handle the basic gesture loop stuff, and eventually be expanded to handle 'out of time' building up of super complex gestures (via overdubbing and varispeed control over this pattern recorder).
I can't get it to work, for some reason?
The balls should be bouncing by default, then hit "record", after a second or two hit "end", then hit "play" after that to stop it. Then tweak the speed. Duration is only used as an init setting (the max duration you plan on recording for).
yeah, I'm getting zero movement. Neither before nor tweaking.
That's weird. Works fine for me copy/pasting it in. Is audio turned on and is the left nodes thing doing a bouncing-ball type thing?
audio is turned on, no movement on either side :/
I had a hunch it would be some kind of java problem (just upgraded from mountain lion to yosemite) but there don't seem to be any java dependencies?
If you go into the nodes help file does the "fun" tab work? There's no dependencies in there, though I have installed the java extensions that Max asked for when trying to run a jitter patch.
Well here's a far sexier version that should just work (no nodes or anything like that). The actual pattern recorder is just max/msp objects and based around seq~ so that shouldn't present any problems.
The fun tab does work, which is odd.
That new patch works too, it's pretty danged slick. Right now we're working with a tick-driven mini thing that looks kind of like this:
aw.dawn.looper
That's weird as shit then.
Glad you got it working in the end.
Really happy with the implementation, and plan on adding more to it (overdub, scrubbing, etc...) at some point, but this sets the groundwork. The idea is roughly based on a monome app (mesh), though I couldn't use it straight out of the box, and wanted different features/functionality anyways, so basically built it from the ground up again.
Thanks a lot Rodrigo: 2 years after this, I grabbed it for a student (& artist) I'm currently teaching, and I added (cheap and fast) basic things:
- small and cheap interpolation if speed very slow
- you click on the left it starts to track and you release and it starts to play on the right
Thanks a lot Rodrigo: 2 years after this, I grabbed it for a student (& artist) I'm currently teaching, and I added (cheap and fast) basic things:
- small and cheap interpolation if speed very slow
- you click on the left it starts to track and you release and it starts to play on the right
forgive my fastness... I didn't have time to do more on it.
@ Julian
thanks for psosting it.
First id did not work, but audio has to be on (as I read in the thread).
Small correction the loadmess argument has to be 1. (float).
actually, the 1. is the speed of both record AND play.
We'd need to unlink this in order to record to 1. and to play at any speed without having to put it again at 1. when we switch back to record.