Zack Scholl

For the Theatre of the Flat Imagination

 / #supercollider #music 

three pieces for live shows.

this past month I composed three pieces for performances at luck dragon on mar 22, 2024 and the theatre of the flat imagination on mar 23, 2024. yesterday I recorded them down and put them on bandcamp for free:

the sounds

all the sounds in these pieces are from the Make Noise Strega, with effects added in SuperCollider (some saturation, reverb). the Strega was sequenced with crow (as described below) and crow sequences came from SuperCollider (also described below).

the pieces

each piece resembles ideas I’ve used for oooooo and acrostic norns scripts - where loops of audio are generated from chords in a particular way to create an underlying soundscape in realtime that can be used to backdrop a melody.

for each piece I chose a number of chords (usually 4 to 6) and then wrote down all the notes of each chord. I used this pool of notes, without replacement, to generate single melody lines - once the notes are depleted I start again. in the end I have six lines, and then I add one more line of bass notes. lots of care is taken at this time to find the “right” sequences.

these seven layers are then recorded, one atop the other, during the piece. the recording is done using SuperCollider via this Ouroborous class which does clickless recording of loops (similar to acrostic). the sequencing is done using this syntax I call “miti” (musical instrument textual interface) using another SuperCollider class. each piece itself is just another SuperCollider code that can be run.

the visualization

I decided to add visualizations and chose something again similar to oooooo, where each recorded layer is represented by a circle and its position relates to its relative amplitude and stereo position.

the visualization is created in p5.js and is basically circles with perlin noise. I created sliders that talked to SuperCollider through a server program (websockets -> osc) so that I could easily control SuperCollider amplitudes and reverb without switching to another window.

the visualization serves as something for the audience to connect to, but it also serves as a way that I can anticipate how to shape the sounds. the circles move with a random sinusoid patterns, and sometimes they can all collect at the top (loud backdrop) or at the bottom (softer) so I watch these patterns and try to anticipate them and respond to them with what I’m doing with the synthesizer.

the source

the code is all on github if you want to try playing with the pieces yourself.

to run this code you will need:

the basic instructions are:

git clone
cd performances/20240323/p5
go build -v

to setup: plug in crow to the computer and the first channel of crow to a v/oct input of a synthesizer. (the fourth channel of crow is an envelope and the third channel is a clock, which might be useful). plug the synthesizer into the input of the computer. now make sure to copy and into your local Extensions directory (usually ~/.local/share/SuperCollider/Extensions).

to play: make sure your synth is connected to crow and then open piece1.scd, piece2.scd, or piece3.scd. run one of those pieces and now you can open the p5 binary in the p5 folder that was built with Go. that’s it!


I am grateful to William Hazard for inviting me to the Theatre of the Flat Imagination which was the inspiration for creating all of these pieces and visualizations. also I am so grateful to Brian and Dan for giving me the space to perform these at Luck Dragon. also thank you Jonathan for constantly sharing a stage with me (its always great!!). and thank you Ezra for so much SuperCollider guidance. thanks for listening.