Max curve~


    Mar 30 2010 | 9:44 am
    Hi,
    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.
    cheers,

    • 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.
    • 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)
      -110
    • 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.
      -GW
    • Apr 05 2010 | 1:35 pm
      Thanks, 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.
    • 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]
      -110 kdx://guest:guest@110-modular.no-ip.org:10700/
    • Apr 07 2010 | 4:45 am
      a simple curve-making tool, plus you can just draw in whatever you want into the [itable]: