Saturday 22 January 2011

[Blender] A First Look at Blender


I was looking for OSS video editing software and came across Blender. This isn't the sort of thing I would normally use and I've never done any 3D modelling before but I thought I would have a look at this app as it looked interesting.

I spent hours going through a very dry tutorial about how to create various 3D models, then happened across a tutorial explaining animation. Above is the result of playing around with the default cube object - nothing amazing at all, about as basic an animation as you can make in Blender but I was impressed by how quickly I was able to create it, even though I find the GUI quite confusing (mainly because there are so many different options and menus). 

I might well be revisiting Blender as a friend of mine wants some video back drops for his band's live shows. That said I think the bulk of this material will be made in Processing as it is possible to take audio input and create images / drawings that react to sound. That said it is obviously easy to create very sophisticated looking animations in Blender so I think I will be spending more time with it.

[Pd] ADSR "Random" Synth


This patch came about as a sort of rewrite of a Max/MSP patch I wrote about a year ago, intended as a backing track for some live improvisation using contact mics. The Pd version is actually a less complicated patch but actually works better than the Max version.

It uses three oscillators the pitch of which is determined by randomly choosing from a set of midi note messages. The ADSR values are different for each synth (although I should experiment randomising the values for these envelopes). The speed of the [metro] can be changed and delay and reverb can be added.

In the end the synth was used as a backing track to a spoken word piece by me and Seth Guy, which will be released as a very limited edition together with doctored earbud headphones.

There are a couple of pieces made with an earlier version of the patch and also some short pieces using the original Max version here.

Thursday 20 January 2011

[Acoutstic] Und


Well, this is interesting - my first foray into the world of theatre as a sound artist. Not only that as there is no PA in the venue the sound will be created entirely acoustically. I am working with a more recent collaborator on this - Seth Guy - who was a member of London Concrete. Like me, Seth studied visual art but ended up playing music. We're collaborating on other projects at the moment with a far more visual bent but for this one, it's all sound.

The play is called Und and will be performed in Bristol at the Paintworks.

We went through the script and the musical direction and it looks like we're going to have a lot of fun. The space is something like 160 x 100 x 10m so must have amazing natural reverb. The audience will be moving around following the one actor who is performing a monologue and the whole thing will be lit with torchlight.

Expect lots of scraping metal, bowed objects, breaking glass and who knows what else - depends what we can find in the local scrapyards and charity shops.

[Pd] Max/MSP/Jitter or Pd/GEM?

I've been using Pd for about three or four years and at times I've used Max/MSP/Jitter as well. I've looked around the internet for people's thoughts on each of these audio / video programming environments. I like them both, but...

I prefer the sound of Pd - this is mainly because of the kind of music I make with it - have a listen - because I can push it to the point of clipping and it won't cut out the way that Max will. That's not a big deal but I like the fact that it will go over the "edge" and sound really gritty and dirty.

Obviously I like the fact that Pd is Open Source and free to download and use. And I've never had it crash on me during a gig.

I like Max because I can create really simple, easy to use interfaces (in Presentation Mode - in Max 5) that are simple to build - Pd requires a little more thought in order to create a clear interface for live playing, but it's absolutely possible, it just takes me longer.

Max isn't Open Source and is pretty expensive. It also doesn't run on Linux - this isn't a huge problem at the moment as I currently use a Mac more often than not when I play live, but when it dies (which it is doing, slowly after only 18 months) I will probably move to Linux for audio stuff when playing live - I can't for recording and mixing at home as my soundcard (a MOTU 828mkII) has no driver support on Linux (for that matter it doesn't really work with Windows either).

As an aside, don't think I am an Apple fanboy - OK, I have two Macs here but that's it (I don't own any of their little toys beginning with "i"). I like OS X but that's because I used to have a programming job where I used OS X Server a lot, but that was alongside Solaris and Linux - all three are good in my eyes (Solaris being rock solid in my opinion). And OS X only got good around version 10.4. I'd been using Linux for years before I even contemplated looking OS X in the eye. And a lot of stuff I use on my Macs is OSS - via Mac Ports and Fink.

Back to Max and Pd.

I find Max 5 a real resource hog compared to Pd, ok it doesn't freeze my computer but it can get a bit rattly at times.

Jitter and GEM? Well they're very different. I managed to write an FM synth patch that is controlled using Jitter by taking the feed from my webcam and translating the luminosity of a point in the image via [random] objects to control the pitch and harmonic index of the operators in the synth (which is a very simple 4-OP affair). I've got to say it took me ages to work out how to do it. I managed to write a Pd/GEM patch using OpenCV to control a timestretched sample in about quarter of the time. I suspect Jitter probably offers much more sophisticated video manipulation than GEM as it seems more complex but I haven't really done enough programming in either to really find out yet.

As to which I prefer, well in terms of use it would be Pd by a long chalk - I don't have a license for Max on my laptop which is where I do 90% of my audio programming. I know I can use the Max/MSP Runtime to run patches that I have compiled on my desktop computer but in practice this doesn't work too well for me as I often edit patches during soundchecks to align my sounds more to the situation I am in - something that is really important when playing improvised music.

I like them both though, but Pd is winning me over at the moment.


[Pd] Video Looping



I recently met a friend of a friend who had some ideas for a project using looped videos. He'd been trying to find a way of doing it with hardware and despite asking around all over London he couldn't find anyone who knew a way of doing it. I reckoned it could be done somehow using software although I'd never worked with video clips before (I tend to work the other way around - using data from my webcam to control patches using OpenCV).

I downloaded a couple of clips from archive.org and cranked up Pd. [pix_film] could play the clip and I could scrub through it easily just using a [number] and I could use a [metro] and [mod] to play back any number of frames at any point in the clip at any speed. Great, but no sound. One of the major goals is to take four clips that can be played at variable rates which will create "music" - the main criterium for choosing a clip is that the sound should be interesting and loop well.

After a bit of research it seemed that the audio from the clip I was using had to be extracted from the .mov file and then synchronised to the video in the Pd patch. I came up with the patch at the top of this post in the end. There are some redundant parts of the patch not relevant to the goal but it works. The clip can be slowed down and speeded up, the section of the clip that we want to loop can be chosen by selecting start and stop points (currently these relate to audio frames). This is fed into a [snapshot~] which has to be banged repeatedly - a bit of bad maths later and the video will loop. As the loops are going to be very short (around a second or two) they stay in sync even though the maths is out by 0.5 of a frame per second (in this case).

One problem is that the clip will not play backwards without stuttering, which is a bit of a pain as it would be great to be able to play the clips in reverse at any speed as well as doing the same thing forwards. Further experimentation is needed.

Another problem is that I would really like to be able to play four clips in the same [gemwin]. If that wasn't enough there needs to be a library of different clips that can be changed on the fly; not only that, the patch needs to be interactive in a way that makes sense to an audience unfamiliar with Pd - at the moment it's looking like I will use OpenCV to achieve this but I am not entirely sure how...

Ooooh. First post...

This blog is intended to work / be read / used in conjunction with my website http://astrometria.co.uk. Whether it is of any use or interest to anyone remains to be seen!

It will be mainly about using OSS to create audio and video. I have to be honest and admit I use most of the software in question on a Mac, but I do use Fedora and Planet CCRMA from time to time, but my PC is not all that great for live performances, so the Mac tends to be in use most of the time.