lace

live audio coding environment

I'm not often enthralled by audio livecoding concepts I've seen, but IBNIZ has held a special place in my heart for the last few years. Its delightfully Forthy syntax along with the minimalist single-character operator tokens make it a joy to use for making experimental audiovisual art live; little friction stands between the author and the machine.

a fractal checkerboard pattern generated with three characters in IBNIZ

IBNIZ, the "Ideally Bare Numeric Impression giZmo", is effectively nothing more than a Forth processor connected to a virtual scan-line video display and audio system. In its most minimal "context", it executes your program in a loop, passing one value: T, a simple ever-incrementing clock, and reads a single value from its output: a color when outputting video, and a phase value when outputting audio. This incredibly minimalist and functional method of interaction gives programs a feeling of elegance. From as few as three characters of code, one can create infinitely complex imagery.

At many points during my time with IBNIZ, I've considered writing a similar virtual machine with a heavier focus on audio processing. Most of the time, I quickly write this idea off, citing my busy schedule and seemingly endless stack of other projects-in-progress. IBNIZ is already here, and it works fine enough, I'll often think to myself. However, more recently, I've found myself tinkering more with hardware development, and one day—while performing my near-nightly ritual of tinkering with IBNIZ—I found myself yearning for something more. I found myself desiring some sort of IBNIZ-in-a-box; a Eurorack module which I can use as a Strange Signal Generator (SSG). With more thought, I found myself wishing I could process audio with more than a simple clock as my input. I found myself desperately longing for something which captured the magic of IBNIZ but with less focus on its visual aspects; something which could act as a fully-fledged audio processor.

Thus, the concept for lace was born.

page work in progress