Conditional Snakemake

Today’s problem was how to write a Snakefile that would apply a user-created mask if one was created when automatic masking was unsuccessful. Snakemake is very python-y under the hood so in a way this should be obvious but it took me some time to figure out. The inputs to a rule can be a python function instead of a static list of files so we can write a Snakefile like the following:
Read more →

Kima video

There’s a video available now of the Kima project which I worked on with Eugenia Emets' Analema Group. I was happy with how it turned out on the whole although, like always, there are a tonne of additional things I wish I’d had time to get finished. This was the most complicated art project I’ve worked on in terms of collaboration with other artists and it’s an experience I’d like more of.
Read more →

DFM1: a filter for Supercollider

I’ve just finished uploading a new ugen for SuperCollider called DFM1. It’s a port of Tony Hardie-Bick’s DFM1 filter, which is a great sounding, overdrivable, self-oscillatable, incredibly detailed model of an analog filter. Full source code is available, so if you’ve got an interest in DSP coding it’d be an excellent example. If you just want to make some strange noise it’s pretty damn good for that as well. You can download DFM1 from here.
Read more →

Get started with MacVim and scvim

I made the switch from TextMate to MacVim about a month ago now and unlike my previous attempts to switch to Vim the change seems to have stuck this time. Of course once you find an editor you like there’s a desire to use it for everything you can and that meant getting scvim working. Here’s how it’s done… Download a copy of the SuperCollider source from the SourceForge page Open up Terminal and cd to supercollider_source/editors/scvim The manual install instructions in the scvim readme are good so have a quick read of that Copy the executables from the bin directory to /usr/local/bin Copy the ftplugin, syntax and indent directories to ~/.
Read more →

Kima at Kinetica

Read more →

Sound spaces

More playing helper monkey from me. This time it was constructing a system of detectors to conjure up a space just from sound. Laura Tarjuman - whose project this is - made a video of the results. Technically this was pretty simple (most of the coding was done in about four hours) but it’s an excellent demonstration of just how easy Processing and Arduino have made integrating software and hardware (a webcam and IR rangers in this case).
Read more →

Recent doings

It’s been hell of quiet around here recently so I figure I’d put in a quick post covering what I’ve been up to for the past couple of months (not blogging obviously). The main thing was a Reactable and Processing with Vanessa McKeown, a student at Chelsea College of Art & Design. There’s a whole heap of information about that Vanessa’s project blog. The main thing I learnt on this is that debugging problems relating to the detection properties of the Reactable (i.
Read more →

A synced audio looper in Supercollider

Solving this problem has been bugging me on and off for ages now so I thought I’d share the solution I eventually came up with. First, the problem: how to do on-the-fly looping of audio in SuperCollider in sync with a sequencer? In this case the sequencer is going to be a very simple example in Processing but the method will work with a hardware drum machine as well. The trick I settled on is to think like an old hardware loop pedal.
Read more →

Monomachine!

After the backward lookinginess of the last three posts I thought a bit of new music might be nice. I picked up an Elektron Monomachine at the weekend and this is the result of the first proper play I’ve had with it: First Monomachine jam It’s a very easy fit with the Machinedrum (unsurprisingly). I haven’t quite figured out how to fit it in with the rest of my existing live setup.
Read more →

Where’s the music III?

The great link dump concludes (probably, I might put up some of stuff from collaborations at a later date) with the EP I put together in 2006.
Read more →