Hi, I'm having some fun with the new (and yet to come) slop~ object, which should be in Pd Vanilla in the next release and is already included in the source code.
I'm going ahead and I'm also including it in my live electronics tutorial. I already have examples on how to use it for a signal linear (with 3rd and 5th inlet) and exponential (with 4rd and 6th inlet) portamento, see => https://github.com/porres/Live-Electronic-Music-Tutorial/blob/master/Tutoria...
I was also able to implement a cool non linear envelope with [vline~] + [slop~] https://github.com/porres/Live-Electronic-Music-Tutorial/blob/master/Tutoria...
Now for some questionings;
So, [slop~] generates linear ramps and also, as a one pole filter, it generates non linear ramps. Anyway, I've seen the term 'slew' being used in synth modules as a portamento generator and then I was assuming, for some reason, it should be like this one pole filter, so I have a [slew~] object in the else library that does that kind of lowpass filtering (see: https://github.com/porres/pd-else/blob/master/Classes/Source/slew~.c )
slew~ takes an input in ms, which is the period of the portamento, and one could also use something like [rpole~] and convert the ms value to the coefficient with the formula coef = exp(ln(0.001) / (ms/1000 * samplerate))
remember from SuperCollider..
Anyway, what I ask is if that object name makes sense. The [slop~] object makes me think it's ok, but by looking at it, it seems that a so called 'slew rate limiter' always seems to generate linear ramps, so maybe all so called 'slew' modules only generate linear ramps and calling my object "slew~" can be inappropriate.
What do you say?
thanks
oh, found the module that led me to assume all that I had assumed :)
https://synthesizers.com/q105.html
Em seg, 22 de jul de 2019 às 23:39, Alexandre Torres Porres < porres@gmail.com> escreveu:
Hi, I'm having some fun with the new (and yet to come) slop~ object, which should be in Pd Vanilla in the next release and is already included in the source code.
I'm going ahead and I'm also including it in my live electronics tutorial. I already have examples on how to use it for a signal linear (with 3rd and 5th inlet) and exponential (with 4rd and 6th inlet) portamento, see => https://github.com/porres/Live-Electronic-Music-Tutorial/blob/master/Tutoria...
I was also able to implement a cool non linear envelope with [vline~] + [slop~] https://github.com/porres/Live-Electronic-Music-Tutorial/blob/master/Tutoria...
Now for some questionings;
So, [slop~] generates linear ramps and also, as a one pole filter, it generates non linear ramps. Anyway, I've seen the term 'slew' being used in synth modules as a portamento generator and then I was assuming, for some reason, it should be like this one pole filter, so I have a [slew~] object in the else library that does that kind of lowpass filtering (see: https://github.com/porres/pd-else/blob/master/Classes/Source/slew~.c )
slew~ takes an input in ms, which is the period of the portamento, and one could also use something like [rpole~] and convert the ms value to the coefficient with the formula coef = exp(ln(0.001) / (ms/1000 * samplerate))
- and I got this formula from the documentation of some object I don't
remember from SuperCollider..
Anyway, what I ask is if that object name makes sense. The [slop~] object makes me think it's ok, but by looking at it, it seems that a so called 'slew rate limiter' always seems to generate linear ramps, so maybe all so called 'slew' modules only generate linear ramps and calling my object "slew~" can be inappropriate.
What do you say?
thanks
My guess s3is that the q105 is a true slew limiter but that whoever's selling it on that page misunderstood what it does. Here's one reliable source:
https://en.wikipedia.org/wiki/Slew_rate
(note "Musical Applications" section at bottom.)
cheers Miller
On Tue, Jul 23, 2019 at 11:41:11AM -0300, Alexandre Torres Porres wrote:
oh, found the module that led me to assume all that I had assumed :)
https://synthesizers.com/q105.html
Em seg, 22 de jul de 2019 ??s 23:39, Alexandre Torres Porres < porres@gmail.com> escreveu:
Hi, I'm having some fun with the new (and yet to come) slop~ object, which should be in Pd Vanilla in the next release and is already included in the source code.
I'm going ahead and I'm also including it in my live electronics tutorial. I already have examples on how to use it for a signal linear (with 3rd and 5th inlet) and exponential (with 4rd and 6th inlet) portamento, see => https://github.com/porres/Live-Electronic-Music-Tutorial/blob/master/Tutoria...
I was also able to implement a cool non linear envelope with [vline~] + [slop~] https://github.com/porres/Live-Electronic-Music-Tutorial/blob/master/Tutoria...
Now for some questionings;
So, [slop~] generates linear ramps and also, as a one pole filter, it generates non linear ramps. Anyway, I've seen the term 'slew' being used in synth modules as a portamento generator and then I was assuming, for some reason, it should be like this one pole filter, so I have a [slew~] object in the else library that does that kind of lowpass filtering (see: https://github.com/porres/pd-else/blob/master/Classes/Source/slew~.c )
slew~ takes an input in ms, which is the period of the portamento, and one could also use something like [rpole~] and convert the ms value to the coefficient with the formula coef = exp(ln(0.001) / (ms/1000 * samplerate))
- and I got this formula from the documentation of some object I don't
remember from SuperCollider..
Anyway, what I ask is if that object name makes sense. The [slop~] object makes me think it's ok, but by looking at it, it seems that a so called 'slew rate limiter' always seems to generate linear ramps, so maybe all so called 'slew' modules only generate linear ramps and calling my object "slew~" can be inappropriate.
What do you say?
thanks
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Em ter, 23 de jul de 2019 às 19:20, Miller Puckette msp@ucsd.edu escreveu:
q105 is a true slew limiter but that whoever's selling it on that page misunderstood what it does.
Yeah, might as well be just that :) Nonetheless, in slop~, you have a "linear region" and the other inlets that are "asymptotic". So if you have "0" for the 3th/5th inlets and the same input value for asymptotic upwards/downwards region, you basically have a "simple" one pole filter. More precisely, something that could be implemented with fexpr~ as:
[fexpr~ $y1 + (($x1-$y1) * $f2)], where $f2 is the cuttof frequency in radians per sample.
At least that's where I got when I tried to simplify this down.
My point is that you can achieve this kind of filtering which is quite different than a slew limiter. But then, could it be a misappropriation of the object? Like, is this there not to be used on its own, but in conjunction with other parameters?
But one way or another, seems I should really change the name of my "slew" object :)
thanks
Slop~ _can_ be configured to be a slew limiter, or a linear low-pass filter, or various other things - the name tries to convey that its identity is in the eye o the beholder. My intention was to design the most flexible nonlinear one-pole filter I could.
But I think your "slew" object probably does need a more exact name :)
M
On Tue, Jul 23, 2019 at 08:05:54PM -0300, Alexandre Torres Porres wrote:
Em ter, 23 de jul de 2019 ??s 19:20, Miller Puckette msp@ucsd.edu escreveu:
q105 is a true slew limiter but that whoever's selling it on that page misunderstood what it does.
Yeah, might as well be just that :) Nonetheless, in slop~, you have a "linear region" and the other inlets that are "asymptotic". So if you have "0" for the 3th/5th inlets and the same input value for asymptotic upwards/downwards region, you basically have a "simple" one pole filter. More precisely, something that could be implemented with fexpr~ as:
[fexpr~ $y1 + (($x1-$y1) * $f2)], where $f2 is the cuttof frequency in radians per sample.
At least that's where I got when I tried to simplify this down.
My point is that you can achieve this kind of filtering which is quite different than a slew limiter. But then, could it be a misappropriation of the object? Like, is this there not to be used on its own, but in conjunction with other parameters?
But one way or another, seems I should really change the name of my "slew" object :)
thanks
Em ter, 23 de jul de 2019 às 20:31, Miller Puckette msp@ucsd.edu escreveu:
Slop~ _can_ be configured to be a slew limiter, or a linear low-pass filter, or various other things - the name tries to convey that its identity is in the eye o the beholder. My intention was to design the most flexible nonlinear one-pole filter I could.
Great, thanks for the explanations. This is helping me presenting this object better in my tutorial now :) and it's pretty cool that you can now perform signal glide (linear and nonlinear) with distinct time ramps upwards and downwards in Vanilla, plus the non linear envelopes. Perhaps it's a good addition to its examples. Check the attachment for the kind of thing I'm already including in my tutorial, maybe a variation of this can make it there.
And it's awesome that it gets to be quite flexible and low level, which are two nice characteristics of Vanilla objects in general - and what makes it powerful with not too many stuff.
But I think your "slew" object probably does need a more exact name :)
yeah, it's been renamed to "lag~", a more ambiguous term.
cheers