“Prelude” is a generative music and visual project created with Web Audio API and P5.js.
Colour gradients are calculated from amplitudes of the randomly generated waveforms between a colour selected from a palette and white to create a corrugated effect which is then animated and the width is slightly warped to give it a fluid quality.
At the heart of "Prelude" is a musical component deeply rooted in improvisation, drawing inspiration from a game I devised for guitar practice. This game involves identifying specific permissible notes for each string, then playing a string pattern while choosing an appropriate note each time. In "Prelude", this concept is brought to life through code. The program autonomously 'plays' this improvisation game, solidifying a four-bar melody upon the piece's minting, along with a fifth bar that serves as a 'turnaround.' Alongside this, a drum pattern and an overarching structure are also established during the minting process. The drums are programmed to either play through certain bars, execute a drum fill, or remain silent, adding to the dynamic nature of the piece.
The piece is about change and constant, old and new, informed by a sense of play. Gentle electronic sounds and 808-like drums combine with a melodic shape reminiscent of Bach's Prelude in C (which also inspired the title) and a meditative visual.
For best results please use Chrome browser.