Unit generators or ugens are the basic building blocks of many music systems. Many familiar components, like oscillators, envelope generators and filters are ugens. Here, we aim for realistic implementations of useful algorithms.
An ugen may have one or more inputs or outputs, either control signals or audio. It generates an output signal that is defined uniquely by the inputs. It is a self-contained processing node in the signal graph.
This section contains several example implementations of different unit generators in the Kronos language.
Granular synthesis is a technique for creating textures out of recorded audio material. The texture consists of grains, which are very short slices of the original source material. For sufficiently small grains, the temporal features of the source material are hidden, but some timbral qualities carry over.
In this post, I show one way of implementing a control envelope in Kronos. It is the classic ADSR envelope, where ADSR stands for attack, decay, sustain and release.
Differentiated Parabolic Wave
DPW is a simple, efficient and good way to reduce aliasing in a sawtooth wave oscillator. For a proper treatment, please refer to the literature. Otherwise, we'll just indulge ourselves in some sawtooth goodness.