The html documentation for [slop~] starts by introducing the idea of a low pass filter that has a non-linear (i.e. piecewise linear) averaging factor. But then in the slew limiter example it refers to the "linear-response" frequency, and in the peak meter example refers to the "linear region". I'm not following. In the second case I'm guessing that the linear region is the segment between -n and p, is that correct? If so, then the linear-response frequency must be related to the slope of that segment, k?
-
understanding the [slop~] documentation
-
@jameslo I think you’re exactly right, although I’m struggling with the terminology here too.
As far as I understand, the five arguments of [slop~] are directly correlated with the five parameters of the piecewise linear response function: k (1), n (2), kn (3), p (4), and kp (5). Using parts of the [slop~] help file I made a little patch to understand this correlation:
Whether or not the term “linear region” is a good name for the middle region ... I don’t know. But what I find even more confusing is that “slope” is seemingly used as a kind of synonym for “slew” in some of the examples. I’m constantly getting confused when I’m thinking of the slope being the input of the limiting function, because really what’s limited is the slew, that is the difference between the current input and the previous output (shown on the horizontal axis of the response graph). So I guess the main difficulty of the whole concept is that you are controlling the slope by limiting the slew. If, instead, you limited the slope, I’d expect that the output just wouldn’t follow the input any more and the amounts by which the input is “corrected” would all add up forever.
Sorry, this might not be helpful to answer your question.
Maybe someone else can explain better ....
-
@manuels Oh wow, you did a great job on that investigative patch, thanks. It answers many of the follow-up questions I was going to ask:
- what would the avging factor graph look like for those three examples?
- how do you compute the segment slope from the cutoff frequency?
- how is the width of the "linear" segment related to n and p?
And it also looks like you were able to write the equivalent slop~ filter using expr~. So helpful. I didn't understand that that digital low-pass filter equation was literally what they were computing.
So would you agree that it's impossible to make any of the response segment slopes > 1? And is that equivalent to saying that this (or maybe any) low pass filter can't amplify a signal?
From the jitter example, is "either by setting n = 0, p = 1..." a typo? Shouldn't it be "either by setting n = 0, p = a..."? Also, from that same example, "setting kn = kp = inf" must be a typo, right? They meant "set the corresponding frequency input of [slop~] to inf" I think, or they should've been setting kn = kp = 1.
Do you understand the statement about translation-invariance in the Rationale section? And can you anticipate what kind of skullduggery they're referring to that they didn't finish writing up? I'm assuming "soft saturation" means "soft clipping".
-
@jameslo said:
So would you agree that it's impossible to make any of the response segment slopes > 1? And is that equivalent to saying that this (or maybe any) low pass filter can't amplify a signal?
Yes, I think so. I mean, an averaging factor > 1 doesn’t even make sense, right? So for all factors k, kn, kp it must be true that 0 <= k <= 1. Otherwise the filter wouldn’t be stable, I guess.
From the jitter example, is "either by setting n = 0, p = 1..." a typo? Shouldn't it be "either by setting n = 0, p = a..."? Also, from that same example, "setting kn = kp = inf" must be a typo, right? They meant "set the corresponding frequency input of [slop~] to inf" I think, or they should've been setting kn = kp = 1.
It seems like you really found two typos here! You probably should suggest the auhor(s) to correct this ...
Do you understand the statement about translation-invariance in the Rationale section? And can you anticipate what kind of skullduggery they're referring to that they didn't finish writing up? I'm assuming "soft saturation" means "soft clipping".
Not sure, if I do understand this (probably not) ... Maybe "translation invariance" refers to the fact that adding bias doesn’t change the effect of [slop~], whereas in other waveshaping techniques it does? I may be completely wrong about this ...