Two lists

A waveform written from two lists and nothing else: one list says what the next amplitude is, the other says how many samples to take getting there. No oscillator, no table, no filter. This is the engine under most of the material in the piece, and clover is only this, twice over.

The dial is durLo and durHi. They are counted in samples, and they are the only thing that decides pitch. A hundred samples a segment is a low tone, ten is a high one, one is noise at the edge of the sample rate. Nothing in the amplitude list knows about any of this.

Start with the gain low.

the waveform as written demanded points audio output
presets:

randomise:
amplitudes
bounds
durations, in samples

Reading the controls. ampMode 0–3 is series, sequence, drawn, walk: an arithmetic series that adds ampStep each time and restarts after ampLen points; a fixed short list read round and round; a fresh value drawn between the bounds for every point; or a walk that moves by at most ampStep from where it was. These are selection principles rather than waveforms, and the same four are what decides the durations. shape 0 holds each value until the next, 1 ramps between them. levelScale, levelBias and timeScale are the envelope generator's own arguments: they stretch the amplitudes, shift them off centre, and multiply every duration at once.

The top panel draws what has actually been written, with time running left to right in samples, so a long segment is wide. At a few samples a segment the drawing and the sound are the same object seen at two speeds.