LightShapes

A series of generative art experiments I’ve been iterating on over the last few weeks. These are all direct outputs from Processing, rendered at ultrawide/21:9 5120×2160. Initially I was working on some supplemental imagery to support my album release and refresh some of my music site profiles, but I ended up having a lot of fun playing with these algorithms and developing them further. They’re quite dark overall as I tend to work on them at night in fullscreen mode and don’t like blowing out my eyeballs with bright values when rendering; also the subtlety of darker tones works better as backdrops for light text on various profiles.

These are all based on a system of line segments that randomly emit tiny dots from their “normal” (which is just offset 90 degrees from the angle between their vertices). The brightness is based on the inverse square distance to a center point in the series of segments, which isn’t necessarily contiguous. Helpful to maintain the illusion if it is, but also fun to break the rule for more glitchy effects as I experimented with later on. Anyway that “brightness” value is also used to drive other parameters like hue shift, angle spread, and distance from the segment.

I was happy with this effect but also wanted to create the illusion of some areas being blurred, out of focus, or in shadow, so I also created a series of “invisible” polygons. When a dot’s position ends up within one of these polygons, some of the properties change, mainly angle, value and distance from the segment, but I experimented with many other effects in this area like hue shifts, applying perlin noise to the angle and distance, or gaussian blurring.

From here I wanted to break out of the initial grid and started experimenting with other shapes. My rough guiding principle was the idea of finding beauty at the intersection of order and chaos, so to that end I tried to include some mixture of controlled shapes and randomness, hard edges and curves, grids and noise.

Also experimented with adding a little chromatic aberration to the rendering based on distance to the center of the screen.

A vague question that kept arising for me here was where to make the division between planned composition and randomness. In my previous generative efforts I felt a stronger compulsion to aim for randomness, but pure randomness doesn’t make for great compositions without a ton of work. And even then, doesn’t that large amount of work ultimately amount to just a wider variety of planned compositions in a different way? So this time around I tried to feel less “constrained” by the idea of requiring the overall composition to result from randomness in generative techniques and just go with what I felt would look cool.

I also tried to embrace happy accidents as much as possible – for example here I did not intend for a central symmetry, but it came out that way because I’m working with (0, 0) at the center of the screen and forgot to offset the Perlin noise (which in Processing is symmetrical at the origin) to account for that.

I recently learned about OKlab color space and tried out using this implementation for these experiments. I think it does indeed provide some very nice color transitions compared to the default HSV.

Gallery of full resolution images (please zoom in for full effect!):

Sonic Sanctuary 01 // Live AV Set

Earlier this year my friend LayerZero, who runs local monthly IDM listening sessions through Bay Area Braindance, invited me to play a live set at a party he was hosting for us fellow electronic music enthusiasts. My perfectionist nature had me hesitant at first, but eventually I entertained the idea and started browsing sketches on my Digitakt to see if anything would work as a suitable starting point.

Initially I was thinking of putting together a relatively short set – maybe 20 minutes or so – but had so much fun exploring the possibilities of live performance on the Elektron boxes that it ended up closer to 50 minutes. I also found the process to be an effective way of bringing together half-baked tracks or ideas that I felt had potential but was struggling with arrangement on. The need to have each track flow together combined with the limitations of a dawless setup and a fixed performance date provided just enough constraints to keep myself moving forward with it at a steady pace.

My initial anxieties about performing live (what if I screw up noticeably? what if they think it’s lame, or even worse, boring?) had me concerned that more controls would mean more potential for error and confusion in a realtime setting, so I thought I’d just stick to the Digitakt for maximum flexibility in sound palette. But my starting track – the first sketch I thought would be suitable for a generally braindance-themed party – was an experiment in loading all 72 factory single-cycle waveforms and randomizing them per step, leaving me with just 56 sample slots for the remainder of my set. So eventually I brought in the Syntakt for more variation, figuring that for each track I’d favor one or the other as the primary sound source. But by the time I got to the end I found myself utilizing both of them fully, sacrificing precise memorization of which sound was on which track for more sonic variation.

Additionally, I thought it would be nice to incorporate my Korg minilogue here and there as way to break out some longer lead sequences from the limitations of the Digitakt and Syntakt’s 64-step patterns. In practice though I found it difficult to work patches into the “sweet spot,” and had some other technical issues with midi program changes. That was enough motivation for me to spring for an Arturia Minifreak, which became an essential part of the set and has thus far proven very enjoyable both to play with and program patches for.

Despite the number of times I practiced the whole thing, including a couple of dry runs, there were some unanticipated hiccups on the day of. We had some gain/clipping issues at the beginning so the first track loops much longer than intended while we sorted that out. I also didn’t account for people hanging around and talking in the room where I was performing, which was lovely for the party vibe but also resulted in me tweaking volume levels I’d carefully balanced before in order to even hear the changes and tweaks I’d planned as part of the set. And while I wasn’t too nervous at the time, I still think it wasn’t my best take overall. I’ve been mulling over the idea of doing a “studio” recording of it with all of the inputs separated and doing a proper mix with additional risers, impacts and effects, but that’s also a lot of work for something that’s essentially already there, and perhaps would detract from the spirit of a live set, mistakes and all.

So for now I’m just considering this a prototype for a new method of producing; as I mentioned the limitations were just enough to keep me motivated and moving forward at a steady pace, circumventing so many of the mental blocks that I seem to unavoidably blockade my creative process with time and time again. I think it could work well as basis for some initial constraints and framework which I’d follow up with recording everything into Live for the additional polish I generally aim for.

Also, as much fun as I had with it, I do think it also lacks cohesion, jumping sort of randomly between IDM, techno, breaks and drum&bass. Despite most of my albums being similarly stylistically diverse, I’d like for my next attempt to start with a broader idea, motif or overall arc and stick with it.

Visuals

Beyond hosting the party and contributing a mind-melting DJ set of his own, LayerZero brought the experience to the next level setting up projectors with live, interactive, synced visuals via Resolume, (not to mention recording the whole thing on multiple cameras and putting together the final video!) When I was pretty much done writing the set, we collaborated on layering some VJ loops from his library to accompany each section of it, which he tweaked in realtime while I played.

At some point I was struck by this project’s similarity to my inspirational roots, the PC demoscene, and was inspired to created some visual loops of my own that would sync tightly to elements of my set. These were all of course animated in After Effects and not generated algorithmically like a proper demo. Nevertheless an audiovisual project like this has long been a goal of mine and I’m grateful to have an encouraging friend provide me not only with motivation and encouragement but the technical means to glue it all together and make it happen.

I’m going to take a moment here to lament the fact that in 2023 there’s no straightforward way to put a series of 60fps video loops on WordPress, though I’m sure if it helped sell crap from Alibaba it’d be integrated into the next Chromium nightly build. But I digress. Here’s a series of clips in 30fps dithered GIF using decades old compression technology.

Some of these are simpler than others as they’re intended to be layered with the existing library loops that we’d selected. Overall I really enjoyed coming up with fairly abstract ideas to visualize aspects of the music I created, and if you watch the YouTube video you’ll probably see where he mixed them in. Ideally (maybe next time?) they’d be 100% original loops, but that is indeed an intimidating chunk of work.

On the fourth clip from the top, I’d be remiss not to mention that I generated those cyberpunk-headphone-girl faces using Stable Diffusion. While I certainly wouldn’t consider myself a proponent of “AI art,” I do find myself conflicted about this controversial topic. On one hand, as professional artist, the ability to effortlessly create beautiful pictures just by typing out what one wants is unnerving, especially in the hands of our consistently inhumane corporate overlords. On the other, the application of technology to art has been an inspiration for my career and something I’ve always enjoyed exploring. So in this middle position I’ve been contemplating how and if I might ever utilize this unprecedented and powerful new technology in a way that seems ethically sound. This particular application seemed fine to me – small audience, non-commercial, a supporting piece of the whole and not the end result itself, and not something I could reasonably create on my own without committing significant portions of time and money.

Anyway, all-in-all I’d say this project ended up fulfilling some creative goals I’ve had for many years, and even though it didn’t come out perfectly it was full of invaluable learning experiences. And once again I want to express gratitude to LayerZero for providing the means, venue, impetus and encouragement to explore some new creative territory.

Internal Reflection (Preview)

It’s been a while since my last post! I’ve been busy with music and second-guessing myself (more on that later,) but I’m happy to announce the upcoming release of a new album, “Internal Reflection.”

In some ways I feel like it’s an iteration or refinement of many of the themes I began on “Metamorph,” trying to keep things fresh, unique and loose by intentionally choosing different techniques in the ideation process. Overall, it’s been an effective method for me. But I also found it leads to new decisions about where to draw the line in letting the natural strengths of the tools guide the music itself; at what point does my voice get lost in the endeavor to keep things creatively fresh? When it comes to creativity, I’m generally of the opinion that the artist should guide the tools, not the other way around. So in that regard I did try to find a balance, and I hope it comes across for my long-time listeners.

Despite my confidence in technique, I ran into a lot of hesitation and second-guessing myself with this album. Listening to tracks over and over, looking for improvements to make or trying with futility to reevaluate them with an objective ear, which ultimately only serves to entrench them further into my mind as immutable blocks.

For some time, I considered releasing two separate albums to deal with the disparity between the frustration-fueled high energy noise of tracks like “Crystallovore” and “Disinformation Filter,” and the calmer, equanimous tracks like “Decoherence” or “Chromatic Dispersion,” inspired both by the geometric and physical interactions of light and my explorations in mindfulness meditation. In between those extremes are tracks like “Five Constellations” or “Faceted Multidimensional,” which I feel ride the line between the two and are clear candidates for inclusion, but perhaps not enough on their own, or would come off as tiresome and homogenous with a similar energy level for an hour+ listening experience.

When I finished “Metamorph” I had a loose goal of forming a tighter sound for my next release – something more conceptual and unified, centered around a predefined theme. While “Internal Reflection” eventually coalesced into something vaguely representing that, it still feels more like a collage of thoughts, ideas, dreams and emotions I’ve made attempts to express musically over the last couple of years. While in a sense my personal metric for evaluating my own work is centered upon my enjoyment of it, I sincerely hope there are aspects that are effectively communicated through such an ephemeral medium and resonate with you as well.

“Internal Reflection” will release on Bandcamp, Spotify, Soundcloud and other streaming services on 6/7/22.


In the meantime, I’ll also share some other iterations of the album art I put together before arriving at the final. These were created using 3ds max, Arnold Render, TyFlow, Photoshop and Processing. I tried to find a balance between busy detailed chaos and negative space, emphasizing colorful reflections in synthetic structures, while also being mindful of the overall composition and the fact that most listeners will only see it as a tiny, compressed thumbnail.

Generative Art Dump

Sometime late last spring I got completely hooked on Factorio and ended up pouring some hundreds of hours into it across several playthroughs. After launching my first rocket (i.e., beating the game,) I found myself left with a lingering desire to create complex systems that work harmoniously with one another. I ended up channeling that desire into getting reacquainted with Processing and diving back into generative art for the first time since a certain controversial entrepreneur single-handedly marked the death knell for Flash on the web.

As I continued experimenting I found a manifesto for this series loosely forming in my subconscious mind, and ultimately crystallized those thoughts into a series of guidelines:

  • Harness the power of the medium to automate that which would be tedious to create by hand or using traditional techniques
  • Celebrate the beauty of geometry
  • Strike a balance between sterile accuracy and natural chaos
  • Strike a balance between pleasant minimalism and fractal complexity
  • Take inspiration from nature
  • Playfully balance composition and repetition
  • Avoid simply recreating well-established looks and techniques typical of the medium

So here is a sizable dump of images from this journey:

And, as I used to do so many years ago, I ended up creating a series of desktop wallpapers as well. These are in 4k (3840×2160) and are intentionally dark and low contrast so as to be easy on the eyes during night hours.

Recently I’ve lost some steam on this project as I’ve been working on some new music, but I’m sure I’ll return to it someday.

Gatts & Schierke

berserk

Decided to learn ZBrush after learning about some fancy features it’s got over mudbox like dynamesh and insert multi mesh. I’d been reading the berserk manga so thought it’d be a good first test project to make Gatts’ berserker armor. I liked the scene where Schierke’s trying to get him back under control so thought it’d be fun to sort of recreate. I actually had it in mind to do some effects animation to go with it, so here’s a little gif of it (and by little i mean like 3mb) .

I spent a little too much time trying to make a perfect loop and ended up getting lazy about some of the particles so it’s kind of the worst of both worlds; oh well. Guess I’ll count it in as a little scene for my next demo reel update where I won’t need to worry about it looping.

Rei

rei2

So I had this head I sculpted in mudbox some months back. The project I’d planned for it never reached fruition but I still wanted to use it and somehow got it in my head to do an evangelion fanart, even though I last watched it many years ago. Guess I figured it’d be easy – short hairstyle, form fitting outfit, no cloth, glossy, etc… well, I learned some lessons the hard way about topology and UV layout while trying to get my mudbox mojo on and it ended up taking me maybe a week longer than I’d planned. Basically ended up sculpting and texturing the plug suit twice. But overall it was a good experience, learned a lot of new things and tried a bunch of new techniques out. Initially I was thinking of playing more with lighting and adding more background stuff but Diablo III is out in three days so I figured I’d better wrap it up before it gathers dust in my project folder for another half a year.

Forest, Legion

Testing out some leaf materials again here. I read Yokohama Kaidashi Kikou over the past few weeks, which I thought was a beautifully done manga. It took me a few volumes to get into it, but eventually I realized how much of it is about negative space, both in the dialogue and story as well as the art. I guess I was a little inspired by Ashinano’s sparse and effortless landscape drawings, through which much of the emotion of the story is conveyed. At the same time I’m also testing out plant and tree stuff for a bigger rendering I’m gearing up for (ie, recharging spent creative juice by gaming, relaxing, doing other things besides commercial work)


And now for something completely different. A few years ago I had it in my mind to do a fan-art of the creepy “legion” monster from Castlevania. Though in most of the games it’s a boss, in Circle of the Moon it was a normal, albeit tough and scary, enemy. If I recall correctly, when it touches you you’re cursed and can’t attack until you have something uncurse yourself. I thought Circle of the Moon was one of the harder games in the series, at least among the ones I’ve played.

legion2

Here’s the original art for reference:

Arch Fluff, Call On Me

Been playing with tree meshes and materials, partly to ramp up for a project idea I had and partly just because I’ve seen so many damned impressive archviz renders lately. There’s some really inspiring stuff out there. I used to have this opinion that architectural rendering was more about accuracy than realism and found them generally flat and boring compared to, say, game cinematics. But from what I’ve seen lately their level of detail and photorealism trumps even the most expensive game intros (see Ronen Bekerman, Bertrand Benoit and Peter Guthrie, for example). On the other hand, there’s been quite a shift over the past ten years from pre-rendered to in-game sequences, which could play a part in it also.

Technical acumen aside I’ve also started to appreciate the beauty of a meticulously detailed architectural rendering. Not unlike a well-done landscape, I think archviz too can be inspiring and bring out emotion, capturing the stillness of a moment, the contrast between the natural beauty of trees, land and organic textures with the orderly man-made objects, the way light and shadow play across both. I find it a bit hard to describe, but there’s certainly much more feeling and art in it than a simple presentation of a blueprint to a client in 3D.

Anyway, I’m no architect and only have a vague inspiration here, so I just wanted to play with materials and light and capture that sort of minimalism and stillness.


Switching gears, a couple weeks ago I busted out another Janet remix, this time sort of a quickie. I think it’s actually closer to the original, using mostly 808s. I had an idea to do a soft minimal drum&bass version of it with a little more play on the drums, some LPF chords and a decaying arpeggiated 1/8th note synth. Kind of has a lullaby feel to it, or it would if it weren’t for the pace of the beat.