I tried the omx.peaklim~ object, that looks like working, unfortunately I don’t understand how the [threshold $1( message works.
Normally, the [threshold -12] message is supposed to set the maximum level to -12dB: "The word threshold, followed by a number, sets the limiter threshold (in dB below full scale). When the input signal level exceeds this threshold, it will be attenuated as necessary to keep the level below the threshold." (from the MSP Reference Manual).
sending [threshold 0( sets the threshold to -24dB,
sending [threshold 24( sets the threshold to -12dB,
sending [threshold 50( sets the threshold to 0dB,
sending [threshold 100( sets the threshold to +24dB
Also, how do you set the threshold below -24dB?
Thanks for clarifying,
Thanks for your question. The omx objects use a somewhat curious "humanized" parameter value scheme that we should put more effort into documenting. For the threshold of omx.peaklim~ you are correct that 0-100 is an arbitrary range of values that are mapped over the range -24 to 24dB. There is no way to set the parameter outside of this dB range. Ideally, it would be nice if you could do things such as set the threshold in dB directly.
Not as elegant, but maybe set the threshold to 0db and scale your signal to the desired value after?
I just want to bump this to say how much this sux. Seriously! spent all day debugging the wrong part of my patch because of the bewildering make-believe found in the reference page.
The reference says:
The word ingain, followed by a number, sets the gain in dB applied to the signal before limiting.
The word outgain, followed by a number, sets the gain in dB applied to the signal after limiting.
The word threshold, followed by a number, sets the limiter threshold (in dB below full scale).
uhm. no. It doesn’t. At all.
This object does not take a value in db and worse yet it doesn’t say what the hell it does take but connecting sliders and fiddling around reveals that it takes a range of 0-100. Silly me I thought that you meant what you said and actually put a value in in db.
For the love of all that is holy, you knew this 2 years ago. FIX IT IN THE DOCS NOW.
ya, fixing in the docs would be good.
but it’s not really going to change much, the docs will simply read something like, "the word [whatever-parameter], followed by a number, sets the gain in a make-believe unit that ranges between 0-100 which corresponds in the real world to the range between -24dB and +24dB"
actually, writing it out, i see how this might be helpful(minus my extra humorous additions;). but the omx objects were created by the company, Octiv, originally, probably not a priority for Cycling74 to fix Octiv’s docs?
also, i think when David Zicarelli writes, "it would be nice if you could do things such as set the threshold in dB directly",
it doesn’t mean that it’s going to happen, only that it ‘would be nice’ if octiv had originally made them that way. at least, that’s how i read it.
in other words, i see how it would be helpful, hope it gets done someday, but can also understand why it wasn’t/isn’t a priority.
*Never fear, Noob4Life was never here!*
I hereby bump this thread.
As of Max 6.1+ how is the thresh setting on omx.peaklim~ calibrated?
Also I am noticing some strange behavior where the object seems to stop working, even when given a friendly set of messages to reset.
is omx.peaklim~ still supported or is it more of a vestigial thing?