august 4 2023

home page portfolio

flashing lights

xaoc sofia, cosmotronic vortex, intellijel VCO 1U, steady state fate zephyr & ultra-kick, pittsburgh polar bear, narwhal & elephant

gonna get a little inside baseball here:

i wasn't planning on recording last night, but i liked what was happening and wanted to capture it. and usually when i intend to do a recording, i have something ready to go for the visuals, but i didn't because of the spur-of-the-moment impulse. so i fired up the ray marcher and let it rip (whereas my most recent stuff has been made with the unreal engine). and it was an interesting contrast, to dip back into that version of things.

a ray marcher is like a ray tracer in some ways, but one of the interesting things about it is that the geometry is defined implicitly, by functions, instead of explicitly, by lists of vertices to define exactly where in space the shapes exist. because the scene is defined by functions, you can parameterize the inputs to those functions and produce all sorts of interesting variations. this scene, for instance, only involves two spheres and two boxes (one of them invisible, bisecting the other shapes), and then a whole bunch of manipulations to determine where those shapes repeat spatially, radially, and are distorted.

this is all driven by 14 inputs from the synth, mapped to randomized parameters describing the scene.

what i like about this is that it permits a structure that can surprise me. when i hit play, and manipulate the sounds and visuals via the hardware controls in my synth, i don't really know exactly what will happen, and i'm reacting to it. this is really fun.

working with unreal, by contrast, has a host of other benefits. working with a professional editor allows me to compose a scene that has a real sense of space. (to be fair, this could be done with ray marching as well - that's just not what i've been using ray marching for.) and i have plans for what i'd like to do with unreal that i could not come close to with my own programming. but it's also fairly static - i haven't figured out how to parameterize an unreal scene with 14 synth parameters in a way that's dynamic and capable of really surprising me in the same way, yet. it did take a while to find that space with the ray marcher, too.

so the surprises and variations from unreal are so far more subtle. for instance, i've been really focused lately on watching the inputs from the four inputs of mutable instrument's tides. the four signal variants form a pleasing pattern themselves, but they're also controlling the four main synth voices, so it seems central to the composition. but one thing i've been doing with unreal is representing the history of each of tides' signals over about two seconds at a time, which is not something i normally get to "see", while looking at the synth - i'm dealing with the current value, never the historical value. and by displaying the historical values, the patterns present themselves in previously unseen ways. so that is interesting to me, visually, and a surprise, but it doesn't quite represent the kind of "i did not expect this" element i get here. i really like what's happening in this recording, but what's especially thrilling to me is that i hadn't "seen" some of this before i was recording it.

i'd like to push the unreal compositions into a similar place. i have ideas about how to do that, but there's lots of learning and work and practice to get there. i'm sometimes frustrated by lack of progress week to week, but i also think documenting that process is part of this. it's asking a lot to expect anyone else to find that engaging, but oh well.