Noise Patterns
July 25, 2016 10:45 AM   Subscribe

"Tristan Perich’s Noise Patterns comes in a clear jewel case, but it isn’t a CD. It’s a small, matte-black circuit board. Powered by a watch battery, it produces a series of musical compositions built from the on/off operations on the minuscule chip at the center of the device, the same sort of chip you might find in a microwave oven." It's a 1-bit noise-techno album, painstakingly constructed from assembly language instructions that work directly with the binary data of the processor itself. Oh, and every single byte is used. Marc Weidenbaum sits down for a lengthy, detailed interview with Tristan to discuss what Noise Patterns is, and how it was made. (You can order through Physical Editions or Bleep, where there are a few clips to listen to.)
posted by naju (26 comments total) 28 users marked this as a favorite
 
Oh, wow, this is neat.
posted by sandettie light vessel automatic at 10:51 AM on July 25, 2016


Mind. Blown.
posted by mondo dentro at 10:52 AM on July 25, 2016


I have a copy of his last work like this, 1-Bit Symphony, a beautifully minimal design. I ought to dig it up and give another listen.
posted by exogenous at 11:00 AM on July 25, 2016 [1 favorite]


oh my god this is AMAZING
######################
posted by rebent at 11:10 AM on July 25, 2016


Others have since made similar designs.
posted by dzkalman at 11:48 AM on July 25, 2016


My husband's reaction: "Buy It For Me."
posted by threeturtles at 11:56 AM on July 25, 2016


This is actually really simple to DIY - you don't even need to build any hardware.

When I was learning assembler language * on my 1K ZX81, I wanted to make music, but it had no audio circuitry except one bit of an output port that created the tones for saving data to tape. I worked out how to waggle that up and down at the correct rates for various musical notes, That's the simplest possible thing to code - a loop that runs for a certain length of time with a secondary loop inside it that waits, flips the bit, waits, flips the bit. Call that routine with a succession of different parameters, and you have your tune.

Making noise for percussion was harder, I soon discovered: noise is random and computers are not. After some mucking about, i chanced upon the idea of selecting a portion of the ZX81's own ROM and cycling the bits in it through the output port. That's a very simple development of the tone loop, where instead of flipping the bit you read the next bit from the ROM and use that.

Depending where you started in the ROM you got various different effects, and I eventually ended up doing things like building a buffer in memory from ROM data and then adding in the same ROM data with a sliding offset, which created interesting phasing and other stuff. You can hack this stuff into your code as fast as you think it up. (The Z80 is particularly good for this, as it has just enough registers, memory access modes and explicit IO instructions to let you keep enough pointers in registers without having to faff around with data structures or stack frames, concepts I was blissfully unaware of at the time and, tbh, for some time afterwards.)

All this can be done practically as soon as you understand the simplest assembler language concepts, and you can get results with very simple routines - this was actually how I started teaching myself the stuff. Getting good results - and finding out the sort of logarithmic transformations that Perich includes - is another matter, and that will take more than an evening or two! But getting going? Fire up your ZX81 (or, although I haven't ttried this, that or a Spectrum emulator) and you can start. It's almost as simple on an Arduino - you'll have to provide your own pseudorandom noise tables in the absence of the ROM, although as Perich notes, more complicated systems like the RasPi have more hoops you have to jump through before you can get simple with them.

(* Assembler isn't the same as machine code - assembler is machine code in human-friemdly form, but if you want to get really hardcore you bash that stuff in in binary and THEN you're writing machine code.It's how you did PDP and Altair programming from the front panel. My first experiments were a half-way house; I wrote the assembler language on paper, looked up the decimal values if the opcodes in the back of the ZX81 manual, and then wrote a BASIC program to POKE those numbers into memory. You need to know the mechanics of this, but for the size of code needed to have fun it's surprisingly fast to get stuff going, especially when you've learned the handful of opcodes you need.)
posted by Devonian at 11:57 AM on July 25, 2016 [12 favorites]


Highly recommend checking out his Surface Image project, performed and commissioned by Vicky Chow. Here's a short preview and a full performance, though I most enjoy the full-length static recording.
posted by angelplasma at 12:02 PM on July 25, 2016 [3 favorites]


Wow, that blurb comes off just barely above word salad, like someone trying to make computers doing computer things amazing and wonderful, which generally annoys the hell out of me.

So imagine how delighted I was when I got into the meat of the article and Perich was saying things like, "The idea is that these probabilities are a logarithmic scale, and pitch is also a logarithmic scale, so I basically use the pitch system..."
posted by Kid Charlemagne at 12:36 PM on July 25, 2016 [1 favorite]


I want to get one for my house. I want to mount it on a wall in my hallway for guests (a lot of whom probably have headphones in their pockets) to discover. I like that the long-ubiquitous headphone connector it uses might not even remain ubiquitous for many more years. It gives it a sense of urgent, fleeting nowness.
posted by The Potate at 12:37 PM on July 25, 2016 [1 favorite]


ATTinys are quite lovely for music projects (like mitxela's MIDI cable synth and Jonathan Guberman's Bwiip), though ever since the Microchip buyout, the chips have got stupidly expensive. I mean, US $4.80 each for a 8-bit µc? The LPC810 ARM Cortex M0 is about ⅔ the price for a much faster 32-bit chip.
posted by scruss at 1:09 PM on July 25, 2016


Every single byte is used. What happened is I wrote the music and then there’s this moment when I transfer it onto the chip, and find out that there’s way too much information. And then I have to whittle down the music, take out musical events or simplify patterns, et cetera, and just keep doing that until it fits. It fits exactly.

I wonder if it would be a net gain to compress the actual serialized composition with run-length encoding or something similar, and then bundle the decompressor with the synth code. Another fun possibility if you could represent the composition procedurally would be to have it self-modify, especially if the fact that it was doing so was apparent in the resulting sound object. Maybe only if -- I'm pretty skeptical at this point of the artistic value of latent, on-paper structure like that, since it seems so often to come about because the artist lacked the facility necessary to make that structure evident in the sensory experience itself, rather than because the work itself demanded that the structure only be apprehensible via some side channel.

Anyway, this is really cool. There's a nagging part of me that wants the structure of the sounds to be more of a necessary consequence of how they're implemented, but that's partly just my own obsessions and partly the fact that I can't listen all the way through or interact with the physical object just yet. I think I'm going to pick it up, though, thanks for posting.
posted by invitapriore at 1:11 PM on July 25, 2016 [1 favorite]


This was fairly common practice in 1983 for anyone with a computer. Square wave oscillations for musical tones, and gated noise for percussive sounds. I did it myself for a while until better synth chips came out with warmer timbres (square waves are all odd harmonics and quite grating to the ear, which may be why alarm clocks use them so much)
I'll wait until he figures out how to use the PWM timers on the ATTINY processor, which will open up a whole new world of sounds.
posted by rocket88 at 1:46 PM on July 25, 2016 [1 favorite]


So...how do I make my own?

Also, that Surface Image project that angelplasma posted above is incredible.
posted by gucci mane at 1:47 PM on July 25, 2016


So...how do I make my own?

You can get suprisingly effective results with a 555 timer and some potentiometers. https://www.scientificsonline.com/product/diy-discover-electronics-kit the right parts and a guide. This is nice and interactive, but you may prefer something a bit more pre-programmed. For that you can upgrade to a GameBoy Color or Arduino. GBC I know has a square, triangle, and saw channel, and I think a noise channel. Arduino is a full fledged OS, but you can do similar things with C: one author calls them algorithmic symphonies.

BONUS: lecture with history and theoretical underpinnings
posted by pwnguin at 2:41 PM on July 25, 2016 [1 favorite]


Thanks for posting this - never heard of Tristan Perich before - very interesting work
posted by Golem XIV at 2:48 PM on July 25, 2016


Also look into Csound to dip your toes into something accessible!
posted by naju at 3:05 PM on July 25, 2016 [3 favorites]


Sorry, I don't even know where to start or what to google. I just buy the parts and solder them where they need to go on a board? How do I get the music in there?

Basically, let's say I want to make a little music box as a gift. I have a small song I could compose (like 45 seconds long). How does all of it go together?
posted by gucci mane at 3:28 PM on July 25, 2016


Sorry, I don't even know where to start or what to google. I just buy the parts and solder them where they need to go on a board? How do I get the music in there?

Part of the aesthetic of this piece is producing a very complex and possibly interesting sound from very low level and minimalist circuitry. It's equally or more admirable for it's electrical engineering work as the final product. In this case, it sounds like the music is embedded in the program living in EEPROM. So you'll need a chip programmer. Also familiarity with electrical engineering and computer programming. Basically if the Eagle schematic screenshot was familiar, you might be able to reproduce something akin to these chip albums. If not, visit your nearest university for 4 years.

The kit I mentioned above uses a breadboard you can slot your 555 chips into, and wire in potentiometers to control pitch and such. It's more like a musical instrument than a record, but generates square waves. Breadboards and wiring is not very robust, so the completed version of that kit would not be a very good gift, though still a fun project.

Also, my previous comment contained a brain fart: I confused Arduino with Raspberry Pi. Pi's are a full fledged normal computers. Arduino is more of a general purpose microcontroller. This circuit album is closest to an ultraminimal Arduino -- my Arduino at least, is bigger than my phone after you factor in in a shield. Of course, the source code printed in the album is not compatible, and written in ASM.

But if all you wish to do is send a greeting card that plays 45 seconds of music you created, there's a million easier ways to accomplish that. People figured out how to hack audio greeting cards ages ago, and they now sell chips built into greeting cards you can make play your own recordings, and you can buy the modules off alibaba / amazon / ebay.
posted by pwnguin at 5:23 PM on July 25, 2016 [1 favorite]


1) I love perich and glad this was posted. Im on vacation and the record is at home. listening to noise patterns is one of the first things I'll do when I get home.

2) I've begun messing with arduino specifically for sound purposes, and it's not super complex. Arduino has a library for sound synthesis called mozzi. You'd need some background in sound synthesis, but besides that the coding and hardware are way more intuitive than I was expecting.
posted by lownote at 5:28 PM on July 25, 2016 [3 favorites]


Also, rocket88, if you read the disquiet interview you'll notice he's more than capable of programming with more complex hardware. His motivation is to find ways to exploit very basic technology.
posted by lownote at 5:32 PM on July 25, 2016 [2 favorites]


I really like the aesthetic of getting down to the simplest possible system with interesting complexities. You can pretty much build your own arbitrarily complicated synths and noise exploratoria for very little these days; there are plenty of synth shields for Arduino and I long ago lost count of software packages for the experimentally minded, but there's still something magic about something you completely understand produce something unexpected and thought-provoking.

I've ordered one of the boards from Bleep, and I think the first thing I'll do to it is see if it can be powered from a solar cell. Hanging one on a wall with a tiny audio amp and a small speaker and having it murmur away to itself for a few years so quietly you only hear it when you get close seems like something I'd like to do.
posted by Devonian at 3:27 AM on July 26, 2016 [3 favorites]


We've got a copy - it's very cool. #bragging
posted by stray at 7:08 AM on July 26, 2016


  Basically, let's say I want to make a little music box as a gift. I have a small song I could compose (like 45 seconds long). How does all of it go together?

If you don't mind it being a bit beepy and less atmospheric than the Noise Patterns aesthetic, you could transcribe your tune in RTTTL and build something like this: NES Blow Cart. This would be an interesting learning project; my first Arduino project was playing the national anthem on a suitable soft drink can.
posted by scruss at 8:31 AM on July 26, 2016


Square wave oscillations for musical tones, and gated noise for percussive sounds. I did it myself for a while until better synth chips came out with warmer timbres (square waves are all odd harmonics and quite grating to the ear, which may be why alarm clocks use them so much)

? The harmonic series definition is correct, but the fact that it only consists of odd harmonics isn't really relevant to its perceptual qualities, since e.g. the triangle wave is also only odd harmonics, but is comparatively mellow by virtue of the fact that higher overtones roll off in proportion to the square of their frequency multiple rather than linearly. I guess I don't think of naked square waves as terribly harsh, especially not in comparison to a naked sawtooth, but I also would be unlikely to not include a filter somewhere in the signal path, so maybe I'm interpreting harshness in a more abstract sense.
posted by invitapriore at 2:59 PM on July 26, 2016 [1 favorite]


I'm liking this better than 1-Bit Symphony so far, maybe because it lays bare the rhythmic and timbral qualities of Perich's music -- I guess I'm not as interested in his harmony/pitch stuff. I also find it super interesting that he wrote the music first, then tried to fit it on the chip, not the other way around. I always assumed that his music was kind of an outgrowth of the technology he chose to work with but it sounds like it's more of a two-way street -- which is probably why his music is more compelling than some similar experiments I've heard.
posted by speicus at 11:33 AM on July 28, 2016 [1 favorite]


« Older Dunes Cantina   |   Then two will be in the field; one will be taken... Newer »


This thread has been archived and is closed to new comments