Forums > Gen

Parameter smoothing in gen~

Jul 13 2013 | 5:02 am

Hi guys,
trying to do parameter smoothing in gen~.
Any strategy?
I’ve tried this following simple thingie but doesn’t provide the required amount of smoothing.
Have to use audio rate parameters outside of gen~ (i.e. using sig~ )

-- Pasted Max Patch, click to expand. --



Jul 13 2013 | 5:23 am

Hi Alfonso

Gregory Taylor’s response to my recent "line~ as counter" question here might help. Very nice interpolation idea.


Jul 13 2013 | 6:43 am

In itself the strategy works well, it’s just that the argument for mix should be much closer to 1. This setup behaves similar to slide~.

-- Pasted Max Patch, click to expand. --


Jul 13 2013 | 6:55 am

many thanks guys! useful infos!

Dec 18 2013 | 10:49 am

I just made this gen~ patch inspired by supercollider’s "lag3". Very useful for parameter smoothing. Unlike line~ it has a smooth start and end, in some cases producing less unwanted artifacts.

-- Pasted Max Patch, click to expand. --


Dec 19 2013 | 12:38 am

Great – thanks!

Apr 27 2014 | 3:02 pm

I made this, it’s simple. For faster response the .01 could be higher (and .99 changed the two coefficients still add up to 1). I think it could be twice or more faster, but I didn’t need it.

One nice thing is, with faster audio rates, the difference between samples is smaller, so the coefficients don’t need to change when sample rate changes.

  1. Capture


Apr 27 2014 | 3:47 pm

i use the basic idea of a moving-average filter:
0.5(n + n-1)
but alter it for differing needs….
(uh… in case it needs be said: n = current sample, n-1 = previous…)

I really dig Tarik’s though :D

Feb 18 2015 | 7:39 am

Im trying to do exactly this but I can’t find the ‘history’ object! What does it do and where can I get it?

Feb 18 2015 | 11:44 am

use gen?

Feb 18 2015 | 3:08 pm

The mix/history combo is the same as a one pole (and Ernest’s example is also a one pole).

Tarik’s is three one poles in series, with some code for calculating the desired coefficient from a duration (and constant target threshold). BTW, in Tarik’s code the abs() is unnecessary, so the onepole() is still equivalent to mix+history. Here’s the same, slightly re-arranged:

-- Pasted Max Patch, click to expand. --

Feb 18 2015 | 4:45 pm

ooh. Pretty!

Viewing 12 posts - 1 through 12 (of 12 total)

Forums > Gen