I saw oscrec, but it’s a little… overspecified. Anybody do a patch like this?
Many thanks in advance
or something I put together awhile back, which gives many more playback options:
and there’s GestureRecord as Andrew mentions in that thread as well.
Lots of fun options… you should be able to modify any of these to suit.
interesting… why must they use jitter, do you think?
You don’t have to use Jitter, but from reading that forum thread there’s some really cool ideas there that I’ll have to check out sometime.
A really simple way to record OSC is to use a coll object.
Here is a patch I created to record gesture data from my Kinect, it’s very simple, and I’m sure there are other ways of doing it, but this works for me!
-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 2355.3oc4ak2iiaaE+u87ofPn.Io0ii3gtZKVf1BjhfhhTzMnsI6FLfVh1ix JKIHQOGMa9tWdHIKYaogxWqmsdw5AhTh589w28i9WtYh07rmXkVfeO3cfIS9 kalLQMjbfIUWOwZE8ovDZo51rByVshkxslpmiydhqF+6umkBhW.dNaMHkwh. 7LPAKjlj.32y.QTNcpZxx3U4IOCJYoQ.p3QRCKXxULNco3hH1ShuEOq7gByR RlJtoH0UOPSVyJATt5J8slmkCxVqGIS7UAPrry.e42pIj6oQo+ANXcofdjKF XNaQVA6qlUS9Iworvr0oJdvqZvbJO7dA4bmf94ZrgPBl4LEfsIx+.cBlYK9i MdlM3mpdpz0qhSSXbELAqFLNRANYy+4awn5W5hrTdJcESM0epHllXsYMDbS8 hX259Ki+up6GhlYKG8Wu4F4WSOxcs+3s.wFWIC7HqfowIA1WJ11DaYYOl1F3 WTjsRc8GjfFe+XHteLzSP6t9HHJXJ.Y6q.RWWIPR7GANhbOU3XMoVH.fTNkG mk1gbU60HHTRh1UeA9oSH5KfdvJFuPHsGuhAngbg3coV7lmxJD.udl4L9iLg 9kTKBDRy4qKX29lQuCHQcobqmV7kH1ODe78F6N.9xrCff3YXwGHVJvfNaaCu kSK3ecIWXKQ7xyJhjlht8MVC.jjMTFTwHB1wWMjGQRriAMuFsKb2vede5GAG wmOtWAWz.lewa.WOEbiPp+fcFARCCtBQ5+yzeX5OpUraLv92TFXGP9i3qTDb 8TRdNpKFkPG7ZTnSDH.kK8v2MpfaeC3aUN6kdl3B22UNjlMVoHX.twfGBqME 5nfPLYDXG4SHzshUVRWx1A5DAhPvAAABaiB9C6D.tUnYD3C8FKHIMsUCRXLR 4kFp7WHtnGPBsGqZ1iEkpQZ8P7myYZBxxp4kdB.PEQOflkKRGXhsRt.4T+89 Yb68nY4OR1aQRFkugGqUNjq2+HqD7iVmAtzAiORtz6zxk+v4fKa603HXU2SG qlKX0mrNglL+qrRYrf+SUXKuOc.vPXhqVsVGvBxGK+S.bLtMb5WqF7myRhL2 .H18j5636uOtDnXaUlkkfkZjYudV04TRSJypB3qrIGUfH+PPdB844zvOLZOL s.YWsSY2fQ6eAhuB8M+V5CrNX5rgBOF5twGRUJy5znFUPJtWkIL+MLlPdIqL bvf1LUhw0QUXAnTBQFNhynEWb9DhRujEXrmWiff2gZ.FOR6uwo8X8UuCA965 XnJAeW5W+cKVbHliSYOJnrcDNXOkW.9xeyBH3Vfi8WA9sxTUgGSxNHsaKuwK Vf8uNC.6rBcUw0bDnl6+GhZUw7VUStCA0bdUgZ4BW6fXvB4+FLhoVoKpS0Fa im42TQp9PHx9x290kfUtNkaSQGcxzN3gcwuuzDGcxzngC6dJvZNMcY+XTaNh UTgLUPi3tiSXOvJJiyRasGLwhlm2Z3IsdDId9yYpExcZyPwo5graFpf8Pb8y SzCJ1ktodxMF+8ZZsfr7VZkQuVMZPritLIK7Crn1u.qrbVZbZ6Jo1Y5H1B55 D9c6GN5N+BZHq2Gdu6QSrVVDGkkJIhNOob35W26Dg2nCxoMyntiTZ9dd3RAe rtbNsPhbySXs19EhpYYIcmpYyRHwSSiWQ4LYwyUOkcyhFuJuHVaRrYLVJUrF 2WFVjkjzYozy7vdlIRreFxdLNheuZsZCkhaONudKvpAihhkAP2cLNcYY2Q5z Qt1BZsUk6L9fgt1Uu9eK6RGuosChblDAzmxh.YKVLUMgtTahIjRRbYM2rm0d o1mSkdK3FVWLER65T11yRudW5spJCaqn+nc60d4jZalUZjmAP+sLcCJShWEy UIX9b15BUCIm89TvGee5+pWDF+BHbfNMSHtEB2tYNFivulA3+RUgi6zKYsfb cuKEftbK3KxyDJ+xD29BM9ev.upwktjiE1aJj1qQbucLBCCTUeeL.EZXfpc4 mFAZUWFpSDZ0s97cQKaCQp5hsKsbNHRg5AofGpHUanu+vNO2RbcBIsKDVxRj YvaHRpc63f1NpTiQxfCEHQCAjp3SmdAAz1Uo4EfLcWU2sHM8Vnl9JVyXktZW zlcJbi0IDLzu4WBMzkiCS7LEN5ypEwLSRmKt8DnKUAEH6iTYBh+7PaZ.HMdA PVKl2HRey1VFuQJvFvRJYxgMCmQ59FTcByFFn6Qly80s4eiTPCZKTdD5mNeZ UOOlvEzP.ppPAGd3BjOaiV32AfyLCDQda.wCx3F5r.hc6j70PXBZ7B5drgI. OPDoSs8LR0bSkljo20SgUTbpb98CSkhz0CqIgp.CAcY5HVoHqyl5t8tMghu0 MdebTT25boKMTorPS5R5Yzd5XIYWCIYg4..z.JdUbjJW5JDERTcdAWcXHw1y P6do7.XIuDpqGT.dKImqGTPFrxUxFGwPRFc0PwXCo3fqFJFYHE6ZHEusxgst sjNZqmjMWcgE+MkOctZ1YflJLAIWOzL77ZqU3wUYLs5f0TYLUb0EVZZLr4oX mYiq7HVNKUrBgOeWHM79JhR+iBnosZVkzGXQ2In.Q3K2Q47h34q45P.Z2yOC 5t0K08rAdzcavSu8GZYR1bZRUmIaVNq1ujcZM2g0OuVMh5lMf7oo0wpemUMk YGYXKjqNlX99i9ThM5C0Oo2FqOs0+eoFHanvEa071BzGDPyyVtLgY3wrp5mi BZ7+l.H3MuhBANxYE2o6+Y6Cl0nNDVmNoJc+JwXCQgpS.ji+nOQBD3I6fZL7 AQ3.vFQ9fhW8KettQDUlY9h.LrswX2w9KRx.UJyEQN1Crw4.m5bD6NRvx6yc vp93g0fSPeDzIXr3jyUJNotmtEGPCaaGNTE3Mbw.5K4L61g5sa7O6F6yN6hl RNDrAzCoSra6gd1JjSru2LXisUrN49cFayK8xxMHxgyMvfpeHg3tCcN3Eno7 xkQRQdDgeY5w6Ev1SH83ZB8Db4nGGSnGmKG8XhhM9hQNHSL7oN3q.j45lND8 oH0Ukjq5JGGGBpZnyfZ4VR3CwGPy4CBwScTgUgX35qrXRH9yfxON0icNXGGi YG7kQNgXLAcYDbglX2Ce4zqglH.huf3iI1g2x4wYkdPlPPGpeAc7eac.ukjx VGr6sNT2aeftEq1udy+CprlKK -----------end_max5_patcher-----------
Chrisconnor: I salute your leet commenting skills sir. One of my pet peeves here is that people forget that merely posting a solution is not as good as helping us understand it.
No problem jamesson, 2 mins of my time is worth saving you 15 mins of trying to figure out what’s going on.
jitter was useful in that respect because
1) jit.qt.movie is ready to go, with any resolution you want, and has all the playback options like rate, direction, etc.
2) you can store tons and tons and tons of data easily in a .mov file.
3) it’s a jitter matrix, so there’s any and all effects you want, if you want to play with the recording after you have it ;)
try things like jit.slide for smoothing, jit.rota for "mirroring" the values, jit.op for…well, just about anything. Super-simple to do things like swap across X or Y, quantize values, blend multiple recordings, etc.
You could also store the values into buffer~ objects using audio signals and [peek~], but AFAIK you have to specify the buffer size beforehand. With jit.qt.movie you don’t. Now that I think of it, you could use sfrecord~ too, which doesn’t require a length specification either.
If you use MSP, once you have your audio recorded and in buffers~, you could of course have a whole DIFFERENT set of fun ways to mangle it. hmm…I wonder how your gesture recording would play back differently if it was transposed up a tritone and run through a low-pass filter? What about tapin~/tapout~?? Echoes of your gestures…holy moly, I’ve gotta try that…
So, if you don’t have jitter, you have workarounds in MSP. Of course, you could go MIDI with [seq] or [detonate], or use [mtr], [coll], etc…I just love the flexibility you get with the matrix objects, and it’s really easy to record many streams at once. But now I think I want to try MSP playback with delays…that would be awesome. No sleep tonight!
ok, so a quick update, I have a rough patch which records gestures into buffer~ (just the X and Y of a pictslider). Works fine once you get the settings right for playback (very very slow sig~ because you’re recording sample-by-sample). Cool stuff and works great.
I then tried the tapin~ and tapout~ but it’s not really what I was thinking. The "echoes" work fine, but of course they override the current values. So the result is totally stuttery. Makes perfect sense now that I think of it though. I suppose you could split off the echoes to control a different output gesture or gestures, that would be interesting.
There are some great possibilities—use [waveform~] and you can loop certain parts that you want to repeat, granularize the gestures, etc. That way it’s a lot more visual for selecting what you want. And you can always fill the buffers~ with sine waves or other functions, to get a smooth "carrier" to start with, or use LFO’s to give your gestures "modulation". So a big sweeping motion with your arm becomes one with little wavelets in it. Plenty of fun to be had with some experimenting…!
i’ve made a graphical recorder/editor with tracks and timeline
play with spacebar, rewind with left arrow, move cursor on the tracks
change zoom, down arrow for zoom out
edit function (E key or check toggle) or record in tracks
save with testsauve
use record.maxpat for send and receive from tracks
there is only 3 tracks in this version, but it’s possible to add more manually in groupe-func.maxpat
Any returns appreciated, i still work on it
Forums > MaxMSP