Unit Generators

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.

Fifty Shades of Sinusoids

Sinusoids are pretty fundamental to signal theory, and we find them in all sorts of applications from additive synthesis to discrete summation formula, from Fourier transform to ring modulation.

Fri Jun 5, 2020

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.

Tue Jun 2, 2020

Granular Synthesis

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.

Wed Oct 23, 2019

ADSR Envelope

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.

Fri Aug 23, 2019