home/ atoms/ sc-env-new-breakpoints

Env.new specifies an envelope as arrays of levels, times, and per-segment curvatures

Env.new([levels], [times], [curves]) builds a custom envelope shape. levels is an array of amplitude values including start and end; times is an array of segment durations (one fewer than levels); curves controls the shape of each segment. The symbol \lin gives linear segments; \exp requires non-zero values (can’t cross zero). Integer curvature values (positive = slow start / fast end; negative = fast start / slow end) give fine control. Env.new supports up to N level points with N-1 segments. Calling .plot on an Env displays it visually in the language.

Examples

Env.new([0,1,0.2,0], [0.5,1,2], [3,-3,0]).plot; // custom 4-point envelope with curvature env = EnvGen.kr(Env.new([0,1,0.2,0],[0.5,1,2],[3,-3,0]), doneAction:2);

Assessment

Draw (or describe) the shape of Env.new([0,1,0.5,0], [0.1, 0.5, 2], [-3, 0, 3]). Which segment fades quickly then levels off? Which accelerates toward its target?

“The first argument, levels, should be an Array of numbers representing ordered values that EnvGen will output.”
corpus · supercollider-tutorials-full-transcripts-and-code-eli-fields · chunk 9