Forums > MaxMSP

record osc

Apr 07 2012 | 12:44 am

I saw oscrec, but it’s a little… overspecified. Anybody do a patch like this?

Many thanks in advance


Apr 07 2012 | 1:20 am

[mtr] ?

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.

Apr 07 2012 | 3:09 am

interesting… why must they use jitter, do you think?

Apr 07 2012 | 10:03 am

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. --

Apr 07 2012 | 4:55 pm

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.

Apr 07 2012 | 5:38 pm

No problem jamesson, 2 mins of my time is worth saving you 15 mins of trying to figure out what’s going on.

Apr 07 2012 | 6:09 pm

jitter was useful in that respect because

1) 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 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!

Apr 07 2012 | 11:49 pm

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…!

Apr 09 2012 | 9:58 am

i’ve made a graphical recorder/editor with tracks and timeline

launch FUNC.maxpat
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

Viewing 9 posts - 1 through 9 (of 9 total)

Forums > MaxMSP