Strudel Template

Michael Gogins
December 2023

Creative Commons License

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. Strudel ends its notes to Csound for synthesis.

The notes are played by a Csound orchestra that is embedded in this Web page using my WebAssembly build of Csound. This in turn includes my CsoundAC library for algorithmic composition.

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!

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 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.