CV recorder in Max

I have an ER-301, and can record CV there, and also manipulate it in time and frequency domains. Even slice it.

So why Max? Because I had the idea that it would be interesting if CV recorded in Max could be represented as a spline curve, with handles that could be used for editing. It would be nice to be able to do all the things you can normally do to automation curves in a DAW.

I don’t know enough about Max to know how hard this idea would be to implement. Any particular objects/patchers I should take a look at?

I’m pretty sure you could do some interesting re-triggering/slicing stuff with chucker~ (also being phaser driven I assume CV in from the modular cycle it).

Also karma~ is awesome at the heart of anything like this. I imagine variable speed playback and overdubbing could be interesting.

Funny, I’ve been planning this max - modular thing in my head and had a similar idea…

1 Like

The thing I had in mind was a curve with handles, like so:

Ah, I see. I don’t know anything in Max that will translate a stream of data into useful curves like that. You could ‘record’ points into the function object, but it would be more like if you record from faders into a DAW - lots of points, one for every change, rather than nice curves you can edit.

There are techniques for simplifying curves and such, but at the moment I don’t even know what type of object I’d be manipulating.

EDIT: I should dissect something like this as a starting point.

hei @jasonw22,
this is just an absolute shot in the dark (as i have no real clue of jsui), but maybe the [techno~] helpfile (and its js) can give you a hint in a direction you could head.


This thread is right up my alley. In fact, exploring something similar (and finding it hard) is what lead me to try and do this in Live which lead me to ask some (possibly relevant) questions here:

Any reason not to record into Live automation curves? Why not do it in the DAW?

How would you recommend going about this? Wouldn’t it require MIDI translation? Seems like a low fidelity way to go.

What you’re describing sound like a curve fitting / optimization problem. As far as I know, nothing exists in Max that can do this out of the box. It would be awesome though.


Knowing it doesn’t exist yet is helpful. It seems like a worthwhile project.

I’m not sure how the Live API works but I wouldn’t expect you’d have to go through a MIDI translation (but maybe @ithkaa, @chapelierfou or another M4L guru could chime in). All of that said, I’m not sure this can be done out of the box but my gut says it would be easier to figure out how to map OSC to automation breakpoints/curves in M4L than build up all the UI around editing curves provided in Max.

A couple of questions:

  1. I’m assuming this is for recording arc gestures?
  2. do you want to audition recorded gestures “live” as applied to whatever parameter they’re affecting or is it sufficient to capture a stream of events and then edit/apply them?

I’d like to avoid any translation. A voltage level is just a number. Seems like it should absolutely feasible to stay in the CV realm.

The idea is to record/edit/playback ANY CV. From any source.

:thumbsup: That sounds awesome. Color me interested! When you say CV what’s your source? I guess I was assuming we’d be talking OSC messages but it sounds like you’ve got something else in mind?

Any luck with mapulator?

control voltages coming in from ES-6 or ES-8.

Just wrote that a couple hours ago. I don’t have Max on my work computer. It’ll have to wait until later in the week (have some netlabel stuff to do when I get home tonight).

Why reinvent the wheel? Just use live clips if you have them there already.
I think silent way has a direct cv device that could be automated. Not sure about m4l… but seems trivial

I really don’t know how Live got into this. There are no clips. Not necessarily any use of Live at all. I merely showed a screenshot of a Live automation curve to make it clear what user experience I was looking to create in Max.

My bad. My head has been in Live and I saw your screenshot and jumped to a hasty conclusion. It also has the benefit of supporting a bunch of what you’re after out of the box. That said, if it’s off the table, so be it! (And sorry for the derail.)

It doesn’t do what I’m after out of the box at all. Not with CV. This is a thread about hybrid modular systems (systems that use eurorack and in-the-box software in an integrated manner).

See this thread for more context.

The new “Studies” category was added to facilitate easier discovery of technical discussion of patching techniques (not necessarily just for hybrid systems, but that is what inspired it). Other uses for the category include things like

But with one thread per topic, rather than long meandering threads in which older topics get less useful as time goes on.

Ah crap, sorry. I somehow solely focused on the drawing part (which also could be done with function into line~ i think). Recording is a different story of course…

Edit: snapshot~ should do signal to float conversion.

1 Like

It would probably get convoluted pretty quickly, but you could possibly record CV and store it in a [buffer~] with [poke~], and then change/alter its output with [peek~] and [function]… it would be great to be able to record into a buffer and output that as a breakpoint envelope, but I don’t think that functionality exists.