GENDY - changing interpolation

Hello Synths!

Is it possible to change Gendy’s interpolation in a simple way ?

Instead of connecting the breakpoints with straight lines I would like to change them with exponential curves, welch or other user defined curves. Is it easy to do so using SClang or does it requires C++ code?

All the best,

Gendy4 uses cubic interpolation

You could also consider to define segment concatenations without Gendy by using DemandEnvGen.

3 Likes

Lots of thanks @dkmayer !

I am doing the following

(
{
	var minfreq = 440, maxfreq = 660, initCPs = 12, ampscale = 0.5, durscale = 0.5, stepScaler =80;
	LeakDC.ar(
	DemandEnvGen.ar(
                Dseq({1.0.rand2} ! initCPs //initial control points
		, inf)
		* Dbrown(ampscale, 1+ampscale, ampscale/stepScaler) ,
		        Dbrown(1/maxfreq /initCPs, 1/minfreq /initCPs,  1/maxfreq /initCPs/stepScaler )
		 * Dbrown(durscale, 1+durscale, durscale/stepScaler),
	            1,
            )
	)
}.play
)

It is sounding similiar to Gendy1 when I use linear segments, but it is not the same… Is it because I am using Brownian instead of Cauchy distribuition? Or am I doing something wrong in my code ?

Glad to hear that you have fun with it.

Certainly different distributions make a difference, consider: not only for dur but als for amp and here you multiply the Dbrowns in addition. The built-in distributions make the Gendy-UGens comfortable and close to Xenakis’ definition. But on the other hand with DemandEnvGen you have much freedom with defining arbitrary sequences, also you can sequence curvature, as often a trade-off …

1 Like