I Need To Grow Away From These Roots

~ vitling // David Whiting, 2023

Score

A

Enumerate every possible Major, Minor, Major 7th and Minor 7th chord and all possible inversions, beginning with A2 and ending with D5.
Choose a random chord from the set.
Play the chosen chord for 8 seconds
Find all the chords from the set that have all but one note in common with the playing chord.
Choose one of these at random.
Go back to 3 and repeat forever.

B

Play a note from the currently playing chord in (A) on a random waveform for a random duration - repeat a random amount of times if the duration is short.
Wait a random amount of time.
Go back to 1 and repeat forever

C

Whenever a new chord is triggered by (A), illuminate each stem from root to tip with a colour corresponding to the each note of the chord. Notes adjacent in the cycle of 5ths have similar hues.

D

Whenever a note is played by (B), illuminate the tip of one of the stems with a light colour corresponding to the note.
Realisation & Construction

Parts A and B of the score are realised as a custom C++ program running on a Raspberry PI 3 B+, running both note selection and the synthesising of the audio buffers themselves.
Parts C and D of the score are realised by an Arduino Uno board running a custom program, using FastLED to interface with the WS2812B protocol LED strips.
Notes are communicated from the Raspberry Pi to the Arduino via signals sent through the serial port.

The LED strips are run through transparent tubing designed for use in home aquariums. The tubes are strengthened into sculptable forms using thick nickel wire. The wooden housing under the plant pot contains the microcomputers, wiring, and a 3.5mm audio socket to connect to the soundsystem. Power enters via two mains connections

The computers run headlessly and start automaticly upon powering up.