Tuesday, March 31, 2009

On my way to and from work I cross Hyde Park Corner using the Wellington Arch. There are two variations of the button working the crossing. One for pedestrians and cyclists and one for those on horseback.

A bloke in Newcastle had his tongue bitten off by his psycho hose beast girlfriend because she was upset that she wasn't pregnant. Having asked for a "smoochy kiss" the lass turned into a "massive monster" and bit through his tongue then spat it out. Apparently two bottles of vodka were involved.

The best bit of the story is the judge's quote:

"These courts have had plenty of experience of people biting noses off a person, or ears, or parts of noses and parts of ears"

Thursday, March 26, 2009

Wednesday, March 25, 2009

This is a really nice demo of how easy it is in Operator to make that lovely warm Booka Shade/M.A.N.D.Y. sound. I think I need to spend some quality time in a comfy chair with Operator and a cup of coffee or three.

Sunday, March 15, 2009

I've spent most of the weekend hacking away at the detection grid project for creating generative ambient music from video input. As is usual in these kinds of experiments the end result is quite a long way from my expectations, fortunately pleasingly so.

Snap To Grid

My first challenge was one of granularity. To create pleasing tonal compositions I needed to restrict the number of possible active notes. After a bit of trial and error I figured that around 16 notes was optimal. However using only a 4x4 grid across the video didn't provide enough granularity for detection. Increasing the size of the matrix really slows down the frame rate however and quickly adds too many notes into the mix.

Short And Snappy

Next issue was that the notes themselves were very short and often repeated very quickly. This is great for quick glitchy noises but not so great for the ambient soundscape I was trying to create. I tried making patches that had a very short (zero) attack phase with a long release and these worked well for sparse hits, the repeating notes however still didn't sound right.

Messing around a bit more I fired up my favorite Ableton arpeggiators and tried feeding the notes into a held pattern. This has the effect of negating the displeasing rapid repeating notes but leads to a continually sounding arpeggio.

Less Is More

The original composer patch I used as the base for my work used a bit of Javascript to restrict the notes to a specific scale. This worked well but I found it more pleasing to have the generator output from the full chromatic scale and use the Ableton scale plugin to filter the notes. This allows for me to tweak the scale in use and it's tonal qualities in realtime in Ableton should I want to. It also means I can optimise the Quartz composition to use math expression patches to calculate the note output rather than Javascript that runs significantly slower.

Invoking Reich

At some point in the proceedings I ended up with an arpeggio and scale that produced a repeating composition with the period equal to that of the video clip. It's sound and mood was immediately reminiscent of Steve Reich so I tweaked the hell out if it to make it more so. Unfortunately during recording it Quartz Composer crashed and I hadn't saved in ages! I managed to get most of the way back to where I was and decided that the whole point of this was to be generative so shouldn't sweat it too much.

This video shows four movements of Didcot Plays Reich (a working title). The frame rate sucks ass as performing the analysis, generating the OSC messages and rendering to disk all at once strains even my new Macbook pro. This means that the video and soundtrack have become a bit out of sync in the final render. I have ideas on how I can optimise the processing by swapping out Javascript for math expressions and programming my own Quartz plugin in Cocoa to do the grid analysis and reduce the load on the iterator macro in Quartz. As it is intended to be a "live" piece (if generative can be called that) I am not too worried about it right now. You will just have to trust me that it looks and sounds pretty cool in realtime.

Although a long way off from being perfected I am very happy with the results of this weekend's hacking and am looking forward to working up my improvements.

Friday, March 13, 2009

I have been hacking away at an idea burning its way through my skull for the last couple of days. This morning on the train to work I made a breakthrough and got the motion detection grid up and running.

I based this on a patch by the fantastically talented Memo Akten but even following that it has taken me a couple of days to understand the processing and how to represent that in Quartz Composer. The biggest challenge was getting all the layers to render in realtime to a video file on disk. Took me most of the time to get my head around output buffer redirection in Quartz and compiling plugins.

I will write about the overall vision for the project later but for now you can have a look at the pretty squares.

I think I am going to have to write a custom plugin in Cocoa to do the heavy lifting work of splitting the input into the grid and iterating over them. Memo's patch (which was in itself a proof of concept test) does this using an iterator that generates as many cubes as needed along with the outputs. However this doesn't scale too well if you want very granular control or sensitivity. I know that he recoded the whole thing in C++ and processing for his installation, I want to try and keep it in QC if I can.

Wednesday, March 04, 2009

Sunday, March 01, 2009

I've been kicking a bass line around for a couple of weeks with various kicks, hats, glitches and samples on top. It felt like it wanted to be minimal, perhaps glitchy but neither of those is really in my bag of tricks. With that in mind I set out to finish off the track today and promptly ran out of disk space on my macbook (I suppose trying to install the full 40G Ableton library was never going to work out).

Anyway 2 cycle journeys, 1 new hard disk, a large cappuccino, half a bottle of red a spliff and 14 hours later I have this:

I suppose it's about as minimal as I am likely to get given my trance tendencies and again all the progression transitions, filters and effects are tweaked live so don't go expecting timing perfection. It also needs serious attention in the mix (soundsticks+sub woofer sound great but do not a reference monitor set make). If only I knew someone with a decent mixing setup, reference monitors and time on their hands who could help me out with a mix. (cough, Kirk, cough)

Oh, and yes I am using that Facebook fake album cover meme as a way of naming these tracks. Random quote generator FTW!