This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
This is an online piece of electroacoustic music, rendered in your Web browser using high-resolution audio. It will play indefinitely, never ending, always changing.
The notes in this piece are generated by Strudel, a JavaScript implementation of Tidal Cycles, which is accessed from a REPL embedded in this piece -- use the Strudel button to view the Strudel code. The user can edit the Strudel code that generates the score, and click on the update button to hear it. Thanks to Felix Roos for helpful hints along the way. In this piece, Strudel sends its notes to Csound for synthesis.
The Strudel patch for this piece is adapted from an uncredited polyrhythms example in the online Strudel REPL. The polyrhythmic cycling pattern is then filtered through a just intonation scale that, in turn, cycles through a chord progression that is out of phase with the polyrhythmic pattern. Thus, the piece can play more or less indefinitely without exactly repeating.
The notes are played by a Csound orchestra that is embedded in this Web page using my WebAssembly build of Csound, which also includes my CsoundAC library for algorithmic composition. The reverb is based on one contributed by Sean Costello as a Csound instrument. The use of a very small amount of modulation on the delay lines of this reverb creates a varying, shimmering sound that hints at internal melodies.
The synthesized audio is then sampled (using a WebAudio Analyzer) to generate a visualization of the music.
Feel free to use this piece as a template for creating new pieces of this type... as long as it honors the licenses and doesn't sound too much like this one!
Code for compiling and controlling shaders is adapted from ShaderToy.com.
The music visualization code is adapted from Colourful smoke by motus_art.
Some of the Csound instruments are by me; others are adapted by me from patches originally written by others, as noted in the orchestra.