What can I do with these loops?

In my weekends (and the occasional evening) I like to jam with plugins and MIDI, edit up samples, and make little loops. This is a low-pressure outlet for my creativity. In the last few years this has meant I've had a lot more fun, accumulated lots of rendered audio, and almost stopped releasing music. I'd been looking for a way to combine all these loops into some kind of generative audio wallpaper.

Landscapes are nice

A wee while ago I came across @SoftLandscapes (see also web twitter). I like experimenting with primitive (minimalist?) animation, and I wondered if I could implement something similar in canvas or SVG, so I did some prototyping on codepen.

Press play to hear it! Leave it going for an hour or so to hear everything, or leave it going for a week! Full site here, so you can full screen it in a dark room.

Let's learn about new web tech

I was also looking to get more experience with the Web Audio API, Redux, and React. So I combined all these things into a project that I can focus on and then ship (because real artists ship).

What is it? How does it work?

There are a handful of songs, each split into four layers. The algorithm cycles through all the songs, and gradually adds in, and then removes layers. Each of the layers corresponds to one of the scrolling parallax mountain ranges, so they fade in and out too.

When switching to the next song, as layers are removed, the code decides how soon to bring in the next song - how much the parts overlap. The code also randomly chooses different ways for parts to enter and exit – simple start stop, low and high-pass filter sweeps, or volume sweeps.

There's also a selection of texture/field recording samples which are played over each transition – a random section of the sample is selected and then looped, and filtered in and out as the song changes.

Sometimes, to mark changes, there's a little bit of punctuation – a randomly-selected "hit" sample, such as an air horn or cymbal. These are sent to a dub delay using a Web Audio DelayNode and BiquadFilterNode (hat tip Chris Lowis). Gotta have an air horn. No cowbell though (not this time).

The colours of the mountains are randomised – a front and a back colour are chosen, and then these are interpolated for the middle two mountain ranges.

There's a range of styles in there, things that you might call instrumental east-coast hip hop, dubstep, dark ambient electronica, subdued moody piano, break beat.

Look out!

If I make nice sounds when noodling or jamming, I'll add new songs periodically, so check back in :)