This is a blog about making music and video with Open Source Software, amongst other things, but expect lots of stuff about Pd/GEM, Processing, SuperCollider, ChucK and more.
Thursday, 8 March 2012
[Live] The French Electric
I am playing synth with The French Electric on Saturday night (10th March) at the Buffalo Bar in Highbury. Should be an excellent night in a pleasant bar...
Wednesday, 29 February 2012
The French Electric - new single and gig
The first single by The French Electric is out now. You can hear a snippet here. It should be on iTunes soon if you want to buy it.
We're playing a gig tomorrow in Whitechapel at The Urban Bar. I get the feeling it is difficult not to spot the place... never played there before so am looking forward to checking it out.
Wednesday, 22 February 2012
[Recording] New compilation
I'm on this new compilation of music made using Open Source Software. It's called No Tobacco and is under my name of Astrometria.
There's some great stuff on there and thanks to Walter for putting this all together.
[Theatre] Johnny Head in Air
Well, the next theatre piece I am performing in is Johnny Head in Air which is a Bhuto dance piece with live music by Vultures Quartet. Again this is a piece by Tom Bailey and the Mechanical Animal Corporation and really exciting and strange. I love it.
Sadly for the audience VQ will be onstage dressed like I am above. Hmmm. Oh, I haven't put loads of weight on I'm wearing 5 layers of clothes as it was so cold in the rehearsal place.
We're on at 11:45 am at the Arnolfini in Bristol on Saturday 25th February. I hope you Bristolites I know will come - that means you, Leila, James, Mark, Anna, Annette and Caroline!
We're going to do some other performances at other festivals later in the year.
As ever - thanks so much to Martin and Mary Bailey for putting us up, putting up with us and cooking for us as well as scooting all over Bristol in a car full of maniacal props. It's a wonder the police don't stop us...
As ever - thanks so much to Martin and Mary Bailey for putting us up, putting up with us and cooking for us as well as scooting all over Bristol in a car full of maniacal props. It's a wonder the police don't stop us...
Monday, 30 January 2012
[Pd] Finally...
After what feels like months of working on stuff where I work with other people I've finally made a new piece. It's on my site - on the Audio page and is called The Chase.
The patch is composed of 4 sets of FM synths (well, ok they may not be strictly FM) and, well, anyway, you can see how it works above.
Monday, 2 January 2012
[Live] Videos added to astrometria.co.uk
Just found some videos online of Vultures Quartet - most notably footage from our 50th gig at Boat Ting in December 2011 and footage from a gig we did at Tate Britain in December 2010. There are some others from The Foundry (with Ampersand) and one from The Others.
I'd forgotten footage existed for these gigs. They're on my website.
Thanks to Giles for recording most of these. You can see more of his films of bands here on YouTube.
Sunday, 1 January 2012
[Programming] FAUST
FAUST or Functional Audio STream is an amazing discovery. It is a functional language designed purely for writing DSP applications. What makes it really useful is that programs can be compiled to standalone applications (as in the picture above, which also shows almost all of the code written for that app) using the Qt library. More usefully, for me at least, it can be used to compile Pd externals.
It took me a while to understand how to write code in this language but it seems to be fairly simple once you get the hang of it and is definitely much more concise and simple to write than the C++ equivalent and because it is translated to C++ then compiled it runs just as fast.
As well as being able to compile standalone apps and Pd externals it can compile to all sorts of other plugin/app formats (VST, LADSPA, Max/MSP, iPhone and more).
The code for the above app is as simple as this, and I think I have probably written this badly - I am sure it could be much easier to read - as you can see most of the code is for the positioning and creation of the GUI elements. The actual DSP stuff is quite simple.
import("music.lib");
import("oscillator.lib");
import("math.lib");
import("effect.lib");
samplingFreq = 44100;
osc_group(x) = vgroup("[0]", x);
osc_group1(x) = vgroup("[1]", x);
knob_group(x) = osc_group(hgroup("[1]", x));
knob_group1(x) = osc_group1(hgroup("[1]",x));
kg1(x) = knob_group(hgroup("[1] OSC", x));
kg2(x) = knob_group(hgroup("[2] LFO 1 (SINE)", x));
kg3(x) = knob_group(hgroup("[3] LFO 2 (SINE)", x));
kg4(x) = knob_group(hgroup("[4] LFO 3 (SINE)", x));
kg5(x) = knob_group1(hgroup("[1] Filter", x));
kg6(x) = knob_group1(hgroup("[9] Output", x));
kg7(x) = knob_group1(hgroup("[2] Echo", x));
vol1 = kg1(vslider("[1]Volume [unit:dB] [style:knob] [tooltip: abc]",-30,-120,+4,0.1) : db2linear : smooth(0.999));
freq1 = kg1(vslider("[2]Freq [unit:Hz] [style:knob]", 440,5,200,0.01) : smooth(0.999));
squw1 = squarewave(freq1) *(vol1);
sine1 = oscr(freq1) *(vol1);
vol2 = kg2(vslider("[3]Amount [unit:dB] [style:knob]",-30,-120,+4,0.1) : db2linear : smooth(0.999));
freq2 = kg2(vslider("[4]Freq [unit:Hz] [style:knob]",440,0.01, 10, 0.01) : smooth(0.999));
sine2 = oscr(freq2) *(vol2);
vol3 = kg3(vslider("[3]Amount [unit:dB] [style:knob]",-30,-120,+4,0.1) : db2linear : smooth(0.999));
freq3 = kg3(vslider("[3]Freq [unit:Hz] [style:knob]",1,0.01,10,0.01) : smooth(0.999));
sine3 = oscr(freq3) *(vol3);
vol4 = kg4(vslider("[5]Amount [unit:dB] [style:knob]",-30,-120,+4,0.1) : db2linear : smooth(0.999));
freq4 = kg4(vslider("[5]Freq [unit:Hz] [style:knob]",1,0.01,20,0.01) : smooth(0.999));
sine4 = oscr(freq4) *(vol4);
moog_f = kg5(vslider("[4]Freq [unit:Hz] [style:knob]",5000,1,20000,0.1) : smooth(0.999));
moog_r = kg5(vslider("[5]Q [style:knob]",0.01,0,0.99,0.01) : smooth(0.999));
N = int(2^19);
interp = kg7(vslider("Interpolation [unit:ms] [style:knob]",10,1,100,0.1))*44100/1000.0;
dtime = kg7(vslider("Delay [unit:ms] [style:knob]",0,0,5000,0.1) : smooth(0.999))*44100/1000.0;
fback = kg7(vslider("Feedback [style:knob]",0,0,1,0.01) : smooth(0.999));
dvol = kg7(vslider("Volume [unit:dB][style:knob]",-120,-120,+4,0.1) : smooth(0.999));
skew = kg7(vslider("Skew L [unit:ms][style:knob]",0,0,5000,0.1) : smooth(0.999));
output = kg6(hslider("[4] [unit:dB] [style:knob]",-30,-120,+4,0.1) : db2linear : smooth(0.999));
a = sine1+squw1 <:
_, *(sine2) :>
_ <: _, *(sine3) :>
_ <: _, *(sine4) :>
moog_vcf_2b(moog_r, moog_f);
process = a <:
_, ((+ : sdelay(N, interp, dtime)) ~ *(fback)) /(dvol) :
((+ : sdelay(N, interp, (dtime+skew))) ~ *(fback)) /(dvol)+(a), _+a :
*(output), *(output);
Labels:
FAUST,
Pd,
programming,
puredata
Subscribe to:
Posts (Atom)