1920x1080p30 h264 (20Mbps) + stereo AAC (192kbps), 700 MB
highdef monotone.mp4
1920x1080p60 h264 (crf 20) + stereo AAC (192kbps), 820 MB
highdef monotone.mkv
1920x1080p60 h264 (crf 20) + stereo Vorbis (192kbps), 819 MB
preview monotone-preview.mp4
640x360p60 h264 (1500kbps) + stereo AAC (192kbps), 60 MB
preview monotone-preview.webm
640x360p60 VP9 (1500kbps) + stereo Opus (192kbps), 81 MB
preview monotone-preview.ogv
640x360p60 Theora (1500kbps) + stereo Vorbis (192kbps), 59 MB



Monotone reproduces the genesis of life as an organic character through fractal transformations emanating from random behaviour. The algorithmic work is made up of hundreds of thousands of fragile fractal texels in an iterated function system. The perceptible motion of the particles is similar to biomorphic and synthetic biological forms that connect to an unknown original universal matter and its procedural inception. They slowly and gently draw mesmerizing figures, according to stochastic rules. The result, hypnotic and mind-bending, is a brilliant example of the aesthetics of code. The sound composition uses digital signal processing to create shamanic rhythms of high intensity. The interconnected cells resemble processes in nature, from the origin of light to the creation of matter, in an unpredictable way, due to accidental movement. The work connects biology, maths and arts imitating universal shapes of life in morphogenic and creative processes.


Monotone visuals are generated by an iterated function system implemented as a multiple copy reduction machine using OpenGL. A large square texture with non-linear warping at the edges models the whole 2D plane, at each iteration a fragment shader at each texel samples from several transformed regions of this plane. Level normalization is performed at each step to avoid blow-ups. For viewing a smaller unwarped rectangle is extracted at the centroid of the forms. The initial textures contain high dynamic range images, which are reduced to the dynamic range of the output device using histogram equalisation performed by compute shaders (bitonic merge sort and binary search).

The transformations of the iterated function system are sequenced from a random noise source. The same parameters that control the visuals are used to control the sound, which is generated by a feedback delay network containing pitch shifting elements. The audio is output using the JACK Audio Connection Kit, or libsndfile for recording. The entire work loops seamlessly, with configurable length: this version is 5 minutes long.


Claude Heiland-Allen