Tuesday 27 September 2011

[Bands] The French Electric

I played my first gig with The French Electric on Friday last week at The Enterprise in Camden (which currently has a very funny "message to our customers" on its home page).

The gig went really well - it was also Simon's first gig with the band, in fact it was Simon's first gig ever. Seemed to go down well, particularly our rendition of an old Rhesus favourite, Performance.


I wish I could remember the name of the sound engineer, because he is worth a mention - absolute star, he got a great sound both on stage and front of house within about 5 minutes. Nice friendly vibe there too. 

Oh, and we're on twitter: @French_Electric and Facebook

[Live] Why Camels Have No Wings

My next gig is at Shoreditch Church, next Wednesday 5th October. This will be with Daniel Thompson (acoustic guitar), Kay Grant and Will Connor. Will is part of Vultures Quartet and I have been working with Daniel for a few months now on an electro-acoustic project. I haven't played with Kay before but have seen her perform many times at the Boat and think she is an amazing vocalist.

At the moment the plan is for me to process Kay's vocals through my computer using real time patches written in Pd. 

Should be a good night and the sound in the church is absolutely amazing - I saw a performance of some Xenakis pieces there a while ago and it sounded incredible.

Tuesday 6 September 2011

[Live] Vultures Quartet 04/09/11



Thanks to Giles for filming this, our first Vultures Quartet gig for months - I think the first one this year in fact. Went down really well with the audience. We had a lot of friends there this time, so thanks everyone for coming and supporting us - it was a fun night.

Monday 5 September 2011

[Pd] py / pyext

Finally I am back and relatively sane after being in Edinburgh for over two weeks performing every night. Whilst I was there I was trying to find out an easier, or at least more conventional, way of writing logic in Pd. Originally I was looking for a Perl plugin / extension but there are none of these, but there is one for Python. Not being a great Python programmer I wasn't massively keen, but in my past life as a programmer at Getty Images I had written some Python CGI scripts for querying a (huge) Oracle database, so, apart from being used to programming in Java and Perl and other bits and pieces of C based languages and therefore more than prone to slamming a ";" at the end of every line and using curly braces (whilst also indenting properly it can be a bit weird(sometimes, when you can dothis too){and then do something else on the same line;} it seems a very nice language.

I had some initial problems installing the py/pyext library, probably due to not doing an RTFM and ended up Finking, Porting different versions of Python, compiling one using gcc along with compiling Flext and py/pyext from scratch too. In the end, no matter what I did to my environment variables either in OS X or Pd, py/pyext would only load and, more importantly work, when I used the library I had compiled with the version of Python that the library wanted (which is the preinstalled Apple build of Python 2.5.1). No matter what I did py/pyext wanted that Apple build so it must have hardcoded paths to the Apple Python Framework stuff - even changing where the symbolic link to python was pointing didn't help (thankfully it didn't break anything either).

Anyway I got there in the end and played around a little bit with it, although as the patch above more than suggests I haven't got very far with it yet. The Python code is:

import pyext
import sys

class trythis(pyext._class):
    _inlets=3
    _outlets=4

    def _anything_1(self, *args):
        for x in args:
            if x % 2 == 0:
                self._outlet(1) 
            elif x % 3 == 0:
                self._outlet(2)
            elif x % 4 == 0:
                self._outlet(3)
            else:
                self._outlet(4)

...which does nothing clever at all. It just takes a Pd list which py/pyext turns into a Python array then does a modulus on each number and outputs a [o] where relevant. The [mksnd] sub patches just output a bleep at nice intervals with a shortish [adsr~] envelope, doesn't sound interesting but it's sort of nice.

Also, there is a mismatch between inputs and outs - sort of. If you wanted to route a message straight through from input 0 to output 0 it wouldn't happen - there is no output 0 (as far as I can see) the first output is output 1... I am going to look at the C API for this!

It's ok though Pd still rocks and Thomas Grill knows what he is doing. I don't.