• Obineg

    the easiest way is to break it down into three parts.

    1.) map it down to range 0-1,
    2.) for log, do log(($f1)* ($f2-1)+1)/log($f2)
    3.) then map it back to its original range.

    for exp, use (exp($f1*log($f2))-1)/($f2-1),

    to turn the curve upside down, invert the range to 1-0 and so on.

    posted in technical issues read more
  • Obineg

    @lo94
    yes, [clip] followed by [change] is the "default" way for most custom graphics elements with mouse coord input.

    posted in technical issues read more
  • Obineg

    while your original question ultimately is one about how to deal with a certain object, i would recommend to rethink the whole approach.

    problems like this can be reduced if you strictly divide up your patch into a.) mouse input objects b.) display objects and then c.) scale or distort number ranges where needed.

    for example all sliders could always be 0. - 1. and then the other components, i.e. which values are shown to the user and which values are sent to some other part of the patch, could rely on this range.

    that sliders accept messages to set their range does not mean that this is always the best practice.

    and don´t overuse s/r :)

    posted in technical issues read more
  • Obineg

    iterating the list and then using route seems right.

    posted in technical issues read more
  • Obineg

    the algorithm would be fairly complex. it would not only need to analyze the transfer function (oir its reversed) in various ways, it would also need to know all the filter externals you have installed and how they sound.

    that is basically a deep learning application, which you first have to train and manually correct its output.

    posted in technical issues read more
  • Obineg

    sure, if you know the exact formula which was used to construct the FIR, you can reverse the process.

    not for "plastic cup".

    posted in technical issues read more
  • Obineg

    in 32 bit max/msp you could expr for that.

    because expr is not only 64 bit inside and give you a higher precision result from a complex function - it will also save the long form you typed in, since it is characters and not numbers.

    [expr 1.23456789]

    posted in technical issues read more
  • Obineg

    clock division and clock multiplication for a phaseaccumulator?

    division is easy.

    [*~ 4.]
    [%~ 1.]

    but multiplication is more or less impossible, as it would require something to count the current subcycle.

    there are a workarounds though. if you want to use a phasor~ and a phasor~ which is 4 times slower, you could

    a ) use multiple phasors~ from the beginning on and then select one of them

    or, if you need them to be in sync with a "master phasor",

    b ) use a phasor which is 8 times slower than the rated rate and derive the base speed phasor from it already using multiplication.

    posted in technical issues read more
  • Obineg

    while this (a copy of the OP) works for cross FM, it does not for a feedback loop.

    posted in patch~ read more
  • Obineg

    samplingrate reduction and bitdepth reduction will still not give you satisfying results.

    the AKAI S-900 and S-950 for example have a variable-samplingrate DA converter and analogfilters - these are the main soundforming parts.

    the emulator II still has the SSM filters.

    while you can emulate analog filters quite good today, implementing that AKAI type of DAC within a fixed-rate digital enviroment is not so easy.

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!