Evan Pincus

is an engineer, musician and writer from Los Angeles, California, and this is his website.

bytebeat-ish stuff

lately i’ve been fooling around with bytebeat-like techniques for audiovisual art, lots of low-level bit manipulation type stuff – anyway one of the places that’s led me is using short bytebeat-like expressions (lines of code that look something like “t >> 3 ^ t” – see viznut’s post about it for an explanation) to, rather than directly control the output of an 8-bit dac (or in my case, a simulated one), index a buffer that plays host to an audio file (which is to say, rather than taking the output of the expression mod 256, i take it mod-the-length-of-the-file-in-samples). in some cases, with some expressions, this reconstructs something that resembles the original audio, but in other cases it tends to produce the garbled noise so characteristic of bytebeat, albeit with a completely different tonality – rather than a sawtooth wave, aka a counter progressing from 0 to 255 treated as pcm audio, the result of the expression (an integer) addresses the corresponding pcm sample from the buffer.

in the below examples the expressions are processed in plugdata running as a vst in max/msp, because pd has a signal rate expression evaluator while max does not – almost certainly the single stupidest workflow i’ve ever been responsible for. imo the current state of the max patch makes it slightly clearer what’s going on instead of just looking cool and high tech for the hell of it (although it still does that too) but i don’t have a screen recording of it yet. maybe i’ll do that later idk.

i’ve also made some actual music with this idea but that stuff’s not done yet. anyway this kick has been driving me somewhat bonker over the past few weeks – i love the unexpected recursive, fractal-ish patterns that result from dead-simple algorithms1, just can’t get enough of this sort of thing. a google rabbit hole looking for variations on the theme led me to find al sweigart’s bitfield python module. pretty neat stuff! i’m an extremely rusty python coder and was never particularly good to begin with, but i was able to glue together some stolen bits of code and make a goofy-ass piece of janky command line software that takes expressions similar to bytebeat (with 3 variables, T, X and Y – not far off from the oddball generative art project tixy.land2, only even more limited since you can’t call functions in the expression or access the cell index directly – hey, 256 locations with a value of -1 to 1… someone could make a wavetable synthesizer out of this!) and outputs animated gifs. check these out, although be warned – flashing lights below! (i didn’t take notes and as such couldn’t tell you what expressions gave rise to these animations, sorry – i’d make a terrible scientist!):

this is all pretty basic stuff that computer scientists have had figured out for decades (the classic munching squares demo allegedly dates back to the early 60s, and these are hardly much more than that), but in a time when so much computer graphics, computer music and generative art of all stripes seems determined to strive for higher levels of complexity, representation and dare i say mimicry, i think it’s a lot more interesting, rewarding and fun to muck about at the lowest levels of the ladder i can begin understand – why should a piece of computer graphics strive to look like a photorealistic landscape3? why should a piece of computer music strive to sound like an acoustic ensemble (or, worse yet, why should a drum machine sound like a drum kit instead of a machine)? i don’t get it – lord knows there are phenomenally talented and creative people pushing computer graphics and digital audio well beyond their limits, but i think it’s far more interesting to allow these technologies to express themselves in ways only they can. to quote gene youngblood, “all art is experimental or it isn’t art. art is research.” if you’re not asking questions of your tools or your process in the hope of finding a novel answer that surprises and excites you, what exactly are you doing?

  1. the same fascination that’s had me obsessed with cellular automata for years. a fun anecdote about me is that growing up i worked with an educational therapist – richard harmel, who unfortunately seems to have fallen off the map – who had a copy of stephen wolfram’s a new kind of science on the bookshelf at his office, which i’d pore over in his waiting room. i have wanted to actually read that book since i was a very literal child, and while idk if that book is actually particularly good even if i ultimately liked it when i finally got through it (ol’ wolfie just loves to do a lot wishy-washy overreaching), this somehow feels as formative an anecdote to me as the time i didn’t understand the footage my parents were watching of the twin towers falling so i just asked them the one-word question of “movie?” (and now i read don delillo) or the time i was bored in school so i googled “weird books” and chose to check house of leaves out from the library (and now my blog posts have long footnotes). ↩︎
  2. made by martin kleppe, who is also the person who initially started messing around with/tweeting about this “bitfield” technique! a lot of the expressions used to generate the gifs on this page were cribbed from his tweets (and ever-so-lightly adapted for animation), others came from this metafilter thread, and others still were me entering random variations on “x ^ y * (t & x) / (y % t)” until something interesting happened. ↩︎
  3. honestly even before the days of ai slop (wordpress thankfully doesn’t let me put footnotes in footnotes – i’d go mad with power – so i’ll just put this in a parenthetical; my favorite “ai art” i’ve seen thus far is amy goodchild’s experiments with using chatgpt to interpret sol lewitt’s wall drawing instructions – a productive question to ask the machine, with answers that are only interesting insofar as they can teach us about how computers interpret instructions, since that, of course, is all “artificial intelligence” is) and nfts i’ve always reliably found most “creative coding”-type stuff pretty aesthetically boring at best and rancid at worst. totally a matter of preference (“skill issue” on my part) but just completely alien to my sensibilities. ↩︎

Posted

in

, ,

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *