patched_text = text.replace(find_this, replace_with)
12000
.005
540

Cancycle

Michael Gogins
October 2023

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

This is a piece of interactive visual music implemented using my all-HTML5 system for making and performing computer music, cloud-5. The title refers to the use of Strudel to cycle through this composition, while the performer varies, by live coding, canonical relationships (along with other things) within the piece.

cloud-5 runs exclusively in standard Web browsers from a local or remote Web server. The system includes WebAssembly builds of Csound and my algorithmic composition library CsoundAC, the live coding system Strudel, and whatever other JavaScript or WebAssembly components are needed.

I composed this piece using:

I set up the Strudel patch to make it easy to shape the piece by live coding during performance. The basic idea is that there are three rather repetitive sections, and the performer is expected to introduce variations in these sections by moving the sliders (especially the circle map parameters and the run and offset parameters), and by removing and adding code during play.

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!

Please report any problems you have playing this piece, or any ideas for enhancements, at cloud-music issues.

Credits

Code for compiling and controlling shaders is adapted from ShaderToy.com.

The algorithm for downsampling the video canvas is from Sveinn Steinarsson's MS thesis with code from https://github.com/pingec/downsample-lttb.

The music visualization code is borrowed from Audio Reactive Galaxy by JelyMe314.

Some of the Csound instruments are by me, others are adapted by me from patches originally written by others (as noted in the orchestra).