Sunday, 24 May 2009

Weeping Geordies

Another hour. Experimenting with using Pwhite patterns with the beats on some of the Pdefs. Also discovered, via this fella here, the LapdspaUGens. Actually I didn't realise any of the classes in SC3-plugins were there. I've been bashing away at the keyboard in completely ignorant bliss but now I know they are there I better use them.

I've used the decimator and smoothdecimator ugens to make a nasty wobbly filter and you can get it here.

As ever the code is available too. Get it here.

Thursday, 21 May 2009

Looking purdy

Rather than building up this session was more about building down. The ideas came together towards the end. The recording highlights this pretty well. It starts with a fairly fast beat, slows down and through the tempo change seems to inhabit a smaller space. A saw wave synth comes in just before the midpoint and the beats drop completely away to leave three synths dancing away together. Two are modulating FM synths while the relentless riff comes from the saw synth.

Most of the music is coming from changes to the duration of the synths. Although some of it is a little unpolished musically most of it is pretty interesting. The bass (when its there) is having its frequency controlled by brownian motion which gives it a nice wobbly feel.

Although the track could play infinitely in the same key I am changing the riffs very slightly up a key sometimes and down a key others.

Tune is here and code is here.

Wednesday, 20 May 2009

More train jams

Again the train was the venue for live coding today. The journey up was great. Beautiful weather, the gorgeous Sussex countryside, even the commuter belt near the M25 all looked great.

While burning the midnight oil working the other night I caught an hour or so of The Warriors. Walter Hills finest moment - New Yorks's finest moment come to think of it. The driving synth soundtrack in that has been playing in my head since then. This workout was my forging of the fusion of seasonal beauty and city grimness. The session is called StinkyManWhore and you can get it here.

Come the evening after a draining day I wanted silence. I'd been listening to ra ra ra ra ra ra ra all day. My mind was buzzing with ideas that all revolved around complete and utter silence. I booted up Supercollider, started the server and hit record. No synths, no beats, no noises just silence. Sometimes less is more. The sound of that silence is here.

Friday, 15 May 2009

Session 3

After another hours exploration (plus a few thoughts through the day) I've added in an extra synth and started experimenting with Brownian motion. Specifically I've been using the Pbrown pattern with one of my synths (ghFMSynth1) in its Pdef.

I've also put a .play for each sound and a .stop for each. They are grouped within parentheses to make it easy to stop and start groups of sounds.

The track can be heard here and the code is here.


Use the same synths as the previous post.

Wednesday, 13 May 2009

Session 1 and session 2

On a train to London. For getting going on this project I used the same synths that were in the GUI. I'll try to add more as we go along. I also took the train back so I had chance to do more. Both recordings can be found here:

Train1

and here:

Train2


and the code here:

Train coding

The idea for this project came from a similar (but more heavy duty) musical challenge done by Frederick Olofson (see him here). He posted on the sc users list about doing this for one month. He added extra restrictions such as using the same synth for the entire month. I have only been using SC for a few months so I'm allowing myself a little more free rein. You can see that I am using the same method of keeping everything in time as Frederick does. At the top is this little gem:

//start server, load synths and set up the Pdefs
(
s.waitForBoot{
g = GHSeq();
g.initSynths();
~gfx = GHFX();
~gfx.initSynths();
Pdef.clear;
c= TempoClock(2);
Pdef(\first).play(c, quant:8);
Pdef(\second).play(c, quant:8);
Pdef(\third).play(c, quant:8);
Pdef(\fourth).play(c, quant:8);
Pdef(\fifth).play(c, quant:8);
Pdef(\sixth).play(c, quant:8);
Pdef(\seventh).play(c, quant:8);
}
)




I believe that Nick Collins has done a similar thing in the past - again my work won't really compare as I know that 90% of what I know about SC has been taught to me by Nick and I believe there is a lot more that he knows :)

There are plenty of ways of approaching SC structure and I feel most comfortable using patterns so I will probably mainly stick to patterns for the duration of this project but bear in mind that it can be done in alternate ways.

One quick thing i have noticed by using the same synths as I did for the GUI is that I find it easier to control the music from the code than I do from the GUI. This I find not altogether surprising. I'll be writing about this as research into alternative UI paradigms is a part of my dissertation. I doubt that I'll ever suggest ditching GUIs in favour of a nice plain window of text but maybe....

The GUI

Here's a quick look at the GUI for synthesis. Code can be downloaded here:


Classes

and here:

SC code

and here is an example that I recorded with it:

drum machine example

If you want to use the classes then put them in your SC classes folder. To run the code highlight everything between parentheses. Tip - select anywhere in between the parentheses and hit apple-shift-B.

All mp3 files that I put on here are the direct recordings - there is no post production.

What's it all about?

This blog will be a fairly short lived affair but may be useful in some tiny way to anybody trying to learn supercollider, the music programming language.

I'm currently finishing a MSc Creative Systems course at Sussex University and this blog will be my record of what is in my Computational Music portfolio. I have three pieces to finish - a GUI demonstrating some synthesis method, an algorithmic composition and then a "supercollider project".

For the project I am going to attempt a minimum of ten sessions of coding solidly for an hour with the intent of creating a tune worth listening to. After the sessions I'll have not only an album worth of material but more importantly a better grasp of how to use Supercollider.

Followers

About Me

Interactive designer/programmer.