GSoC 2008 – A multi-user networked music sequencer
OK, this has been promised for a while now – here’s the official “this is my GSoC project” post.
I’ve been accepted by the lovely folks at BBC R&D, and more specifically Kamaelia, to work on making a sequencer of sorts which can be edited in real time by lots of people in lots of different places. I say of sorts because I’m not currently sure quite how much sequencer capability it will have – in my mind it’s more of a hybrid sequencer/live performance tool, but this may well change over the course of the summer. Anyway, they say a picture is worth 1000 words, so here’s the UI mockup which I included with my proposal:
A couple of things you might notice from this:
- All those forward slashes everywhere – They are (or will be) Open Sound Control (OSC) messages. OSC is officially awesome, and is looking likely to become the future of audio messaging, being both more powerful, more flexible and less insane (0x90 anyone?) than MIDI. And monome uses it so it’s gotta be good right? That said I’ll also be providing MIDI output too so don’t ditch that host/hardware just yet…
- All those dots everywhere – These indicate where abouts in Kamaelia’s rather extensive jumble of components some of my bits will fit. Starting to work with Kamaelia has reminded me a lot of working in Bidule – you make the components and connect them up any way you see fit. This makes it awesome (or so I hope – it looks it) for prototyping stuff. Want your new brilliant piano roll to fling data via OSC, whilst telling you what it’s up to? Hook it up with the OSC component and a ConsoleEchoer and you’re away. This is good!
- In the mockup every user can control the step sequencer and piano roll in the middle, but only single users have control over each of the X-Y pads. This is to add a nice bit of chaos to proceedings – music would be dull if you knew what was going to happen all the time. Also hopefully this will be a simple matter of switching a public/private boolean – fancy!
So why is all this generally awesome? Lots of reasons. Firstly almost all electronic music you see is made by one person standing at a laptop (Kraftwork excepted – but I reckon they could get by without three of them…). Whilst this is all well and good part of the fun of making music is the group activity, and playing off of each others ideas. This is one of the things which hasn’t translated so well to electronic music. Hopefully by creating new tools to make music collaboratively it will bring a new dimension to the fine art of standing in front of a PC twiddling knobs. Also hopefully Kraftwerk will use it – Bug #1 methinks?
Other awesome stuff? Well, there’s not much point having a great tool for collaboration if the results aren’t interesting. For me the really cool thing about this is that because everything works via MIDI or OSC then every user will potentially hear something different, depending on how they have their instruments and effects set up. Ever better than that, eventually it will all be peer-based. Each user will be able to select which of their peers to connect to, resulting in different music being played depending on who the user has been connected to at what times. With enough users in the network everyone will be listening to their own unique performance of what is effectively the same piece. Cool huh?
So finally I should probably give a few shouts (in true Westwood style) to my lovely fellow SoCers, the Kamaelia crew, and especially Sylvain for being foolhardy enough to put his name down as my mentor. Oh, and here’s a video of some of my inspiration for this project, because videos at the end is how I roll…