Forums > MaxMSP

Max curve~

Mar 30 2010 | 9:44 am


Is there a max equivalent of the curve~ object?
I’m guessing there is also a mathematical solution but I’m not really very good with that stuff.


Mar 30 2010 | 3:09 pm

You could try (line) to get your 0->1 ramp, and to get a variable exponential curve feed that into the base of (pow) and play around with the index/exponent

Mar 31 2010 | 10:15 am

Hi thanks for your reply.
I’m trying to implement a portamento/glide to go from one value to another – thought I’d expand on it a little.
I tried your suggestion but there does not seem to be a curve occurring it seems to only scale the output. Which now that I think about it seems like an expected outcome for pow – do I need a more complex formula?
Here’s my very basic testing patch – in case there is anything I’ve done completely wrong.

— Pasted Max Patch, click to expand. —
Mar 31 2010 | 1:49 pm

Ok I see what’s happening but can’t see an obvious solution… (line) is ramping from one note-on message to the next in its regular linear fashion and (pow) is raising the note message to ^y…

Using (pow) in the fashion I suggested only works for 0->1 control signals since 1^y is always 1 and 0.x^y is always less than 0.x, giving a curve from 0->1.

Have you thought of using function generator?

Mar 31 2010 | 6:09 pm

i have made a bunch of such expressions … but it is really bit difficult to
have a set of expressions sitting between a multipoint ramp in order
to turn all the linear moves of different ranges into s-curves … i wouldnt
do that!

what about using curve~ and converting to the signal to messages?

or do you the stuff for something nonrealtime.

(yeah i know, you loose the peak values that way)


Mar 31 2010 | 10:34 pm

you can use curve~, connect it to a number~ object and out of the number~ right outlet you will get numerical data. i have used this for fading sound files up and down in a logarithmic and exponential fashion.


Apr 05 2010 | 1:35 pm

It’s for a Midi Effect in Max4Live so I figured I’d try to keep it non-MSP thinking it would save CPU but it seems to be more trouble than it is worth. Especially since CPU is much less of a problem than Midi clogging is.

I tried curve~ with both number~ and snapshot~ with the later working better because it can get down to a finer resolution. But anything below a 10ms snapshot seems to knock my synth out of tune.

At 10ms the tuning is correct but even with a 1 ms curve~ ramptime there is an audible portamento (which, I’m guessing as you say Roman is the peak values getting lost)

Could a way around this be to use curve~ into a buffer~ use index and some scaling? that way there would not need to be an expr on each value leaving a [line].

Anyway – here are my patches.

-- Pasted Max Patch, click to expand. --

-- Pasted Max Patch, click to expand. --

Apr 07 2010 | 4:00 am

>>But anything below a 10 ms snapshot seems to knock my synth out of tune.

you might want to put a [change 0.] behind the [snapshot] … or eventually
even a [limit]


Apr 07 2010 | 4:45 am

a simple curve-making tool, plus you can just draw in whatever you want into the [itable]:

-- Pasted Max Patch, click to expand. --

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

Forums > MaxMSP