HackPact 2015

In February I was invited to participate in a hackpact where participants were supposed to do some SuperCollider programming every day and document it (more details). Unfortunately I didn’t make it through the full 15 days, but I nearly made half of it, also documented on the website.

In this post I’m just going to go over the seven days and explain what I did there, as the official website just has the code and recordings.

Day 1: Glitch machine

This is an attempt to bring some form of ibniz to SuperCollider. In ibniz, every keystroke changes the running programme, producing both audio and video. Smashing on the keyboard can have surprising results, but the language is also documented, so directed exploration is possible.

In my homage, I try to find all sound generators in SuperCollider and put them in an array. If you type any characters into a GUI, the sequence will be interpreted by looking up sound generators in the array and building an instrument out of these generators and playing it. The results are quite unpredictable and glitchy.

Source code

Day 2: Drone machine

Here I created a minimal interface for making drones. The screen is partitioned into halves creating a spiral pattern. Each window represents one pitch created with two oscillators. The angle of the mouse towards the window centre determines the detune factor between the oscillators. The size of the window represents the amplitude. Each window is a harmonic of the pitch of the first, biggest window created. The title of the window shows which harmonic.

Source code

Day 3: Defaulting

A live coding session using only the “default” instrument of SuperCollider (but lots of filters on top of it).

Source code

Day 4: Synth – Beat – Distribution

A live coding session using a central pulse as single rhythmical element, distributed to six channels, which were used to drive different synthesis processes. A bit like how I could imagine working with an analog modular synthesizer.

Source code

Day 5: Defaulting v2

Going back to the first day, but with a twist: Here I’m building an instrument for each upper- and lowercase letter of the english alphabet. Each instrument consists of a simple percussive envelope and a sound generator with all settings at their default. The user doesn’t know which sound generator is used on each letter and can only use the sounds as they are — no changes in pitch possible. The resulting live coding session thus is an exploration into this random space of sound generators, many maybe not very commonly used.

Source code

Day 6: NOENV

A live coding session using only instruments without an envelope. This results in harsh attacks and releases.

Source code

Day 7: Class tree sonification

Here I used the SuperCollider language and its class structure to excite a virtual network of tubes. Depending on the number of subclasses and other attributes, the excitation takes different forms, resulting in more or less feedback.

Source code