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.
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.