Skip to main content

Max 5 to SuperCollider using OSC

Updated

I guess it's just possible some people might not get what's going on here :) SuperCollider is a very powerful text-based programming language for sound. If you know what you're doing, then with just a couple of lines of code you can create really fascinating sounds and textures, even entire compositions; see for instance sc140, an album where each piece is created using just a twitter-long 140 characters of code.

Unfortunately, I don't know what I'm doing; my mind doesn't seem to work logically enough to really do computer programming properly! Enter the other half of the equation, Max 5 (or Max/MSP as it used to be known). This is a graphical programming language, which allows you to make stuff happen just by plugging things together on the screen.

I've got quite good at Max, and sometimes managed to make quite interesting sounds in SuperCollider.  I found the missing link between these two on a great blog posting by Fredrik Olofsson. It's a way of using a so-called 'quark', a type of extension to SuperCollider, to send OSC (Open Sound Control) messages from Max to SC. So, what I'm happy to have found here is an easy way to attach knobs to these hard-to-get-at text based sounds. The next step from here will be controlling SC using external midi/bluetooth/whatever hardware, again via Max.

FIMPaC day 1

So here I am at the Forum for Innovation in Music Production and Composition at Leeds College of Music. It's been a while since I've attended a conference, but I'm getting back into the swing of it. It's hardly coalmining; nevertheless, it's quite tiring to sit still all day listening to a long series of what can be quite dense and complicated presentations.

The subject matter for this conference at least is consistently up my street. Here's a quick outline of the things people have been talking about, these are not the paper titles, but rather my quick summaries;

  • Julian Brook on the role of and status of the person operating the mixing desk in ea music
  • Martin Blain on the MMULe laptop ensemble in Manchester (must find out about an article by Michael Kirkby which he referred to, on acting and non-acting?)
  • Adam Stansbie building up and then comprehensively knocking down some dubious philosophical ideas (Godlovitch) which have been proposed around performance in ea music
  • some, um, perhaps not entirely convincing comparisons between so-called 'avant-rock' and 'experimental' musics from Chris Ruffoni
  • an entertaining and difficult paper from Robert Wilsmore on music sampling, full of clever postmodern confusions, most notably his so called 'Wilsmore Symphony No 2', where he proposed the thought experiment of taking Beethoven's Symphony No 2, scoring out Beethoven's name and putting his on it instead
  • Jon Aveyard comparing practices in binaural audio to the cinematic notion of the 'point of view' (interesting, ideas for a piece in there, also some nice demo's of different kinds of POV shot from Goodfellas and The Lady in the Lake (1947)
  • Robert Ratcliffe showing some of his complex and brilliant mashups of, like, Aphex Twin and Berio?!? I now remember meeting Robert at a previous concert, his work is really, really great, clear, entertaining, naughty
  • Mark Marrington giving a thoughtful survey of the state of the modern digital audio workstation, and how it informs the work of his composing students
  • Rob Godman talking about live-ness and stage presence, with reference to his piece Duel for piano and sound projection

Oh, yes and we had Jazzie B this morning, for, well, a keynote speech, but really mostly a question and answer session about his wide range of experiences as a music producer. Also met Frank Millward, who it turns out is doing a project in Glasgow at the moment which sounds right up my street, looking forward to hooking up with him again. Also caught up with Jane Anthony; I did a piece a few years ago for her Leeds Lieder+ festival, talking about me coming down for a talk, maybe even doing the whole song cycle down there. Also met a couple of my ex-students. Also, just had a great bowl of satay noodles. Enough for one day, I think.

Étude-Poème pour Pianiste Récitant

The programme note for my latest piece Étude-Poème pour Pianiste Récitant, being performed this evening at 1830 by Silviya Mihaylova.

'So, here’s the idea; a piano étude where the pianist speaks to the audience, playing along with what she is saying. This idea has several things going for it, for one, hopefully nobody else will have hit on the selfsame thing. Also… here’s what it says in the Oxford Companion to Music, under ‘étude’;

‘The essence of the genre is revealed in the title of one of J. B. Cramer’s sets, “Dulce et utile” (“sweet and useful”), as distinct from an ‘exercise’ which is merely useful.’

And that seems to me to be right, an étude should be entertaining as well as a technical challenge. Big drawback, of course, is that far from being original it’s really far too much like that Tom Johnson piece ‘Failing: A Very Difficult Piece For String Bass’. Oh well. Too bad.

BigHexhamBook

Having some free time over the Easter break, and in preparation for taking part in a performance of Cage's Musicircus at Tramway on 30 May, I've been playing with the Lexicon MPX 100 effects unit which Allan Neave gave me, feeding it back into itself, which works particularly nicely on the pitch-shift-plus-delay patches. At the same time I've been working on a Max patch which drifts five-note chords gradually through a modulating set of hexatonic regions, so… without really meaning to, I ended up putting together a sort of ambient track combing the two;

The Max patch;

Max/MSP to Logic

This is the sort of thing where there's probably a video out there already explaining it, but as I ended up figuring it out myself anyway, I thought I might as well make my own video… This is how to send midi information from Max/MSP to Logic Pro, in particular how to use Max to control the automation parameters of a softsynth running in Logic. Probably best to watch these fullscreeen;

‘certain assumptions’ at ArtMusFair

ARTMUSFAIR is… well, I guess you could describe it as a trade fair for contemporary music (stop giggling) which this year is happening in Glasgow, Thur 29 Oct to Sun 1 Nov. I've got two things confirmed and a third in the pipeline.

First up is a new piece certain assumptions, which was accepted in a call for scores by the Red Note Ensemble. It's for alto flute, horn, marimba, cello and 'tape', with the latter part composed using a patch I made at the pd bootcamp in Wales earlier this year. Here's the 'programme note';

'When you go to the doctor you assume that he will care for you in his normal compassionate way, ultimately finding the solution to your ailments. Why else would you go?

On your last trip to the grocery store did you assume the food was free from bacteria? I bet you did, otherwise you would find somewhere else to shop; that is if you lived through the bacterial infection.

As you can see sometimes assumptions help us relieve potential anxiety. They can be very useful ways of diverting stress but unfortunately even the white knight puts on a black hat once in a while.' (http://bit.ly/LFxW8)

According to the information I have 'the performance is scheduled to begin at 10:30pm on 30th October 2009, in the bar attached to the Millennium Hotel on George Square, Glasgow. The performance will be informal, amplified and compered.'

Then, on the Saturday morning at about 0900 we are planning a performance of CIRCULARTHING and other works by the long-lost Society for High Art Music. To complete a trilogy of van der Walt, I'm also trying to persuade them to let me give the first performance of my soon-to-be-notorious 'Music Is Not Sound' lecture.

First steps in Max/MSP

Nothing earth-shaking here, just the very first Max/MSP patch I built with my Performance Technology students today.

Sibelius versus tilde – updated

A long-standing frustration of mine is the way the music notation package Sibelius handles the 'tilde' sign ~ in text. As a sort of clever bodge or hack, it is used to hide midi messages, so that a control change for example can be put in the score as '~C64,127', but won't print out.

However, I'm of the frequent habit of using the ~ sign to mean 'approximately'; I'd love to be able to mark a pause, for instance as '~45 seconds', meaning roughly 45 seconds, but when you do that the text gets hidden.

Today I thought I'd found a hack for the hack, a workaround for the workaround. In the character palette on the mac, I found something called the 'tilde operator' character under the maths category which looks exactly the same, but as it isn't an ascii tilde, Sibelius doesn't hide the text;

However, something else kind of strange happens. When I'm editing the text string in Sibelius the character seems to display correctly, but when I come out of edit mode it gets displayed as a grey box;

So, still impossible to use a ~ character in text anywhere in Sibelius without the text being hidden. How frustrating.

Update

Following some helpful remarks on the Yahoo! Sibelius group and in my blog comments, this has been cleared up a bit. The ~ character isn't in the Arial font, but inserting it as Symbol font works fine; this seems to kind of happen automagically in Word and Pages and not Sibelius, but that's fine and easy to fix.

There's also been a suggestion that I shouldn't use this symbol as it wouldn't be clear to musicians. On looking into this is discover that ~ as an abbreviation for 'approximately' is not as widespread as I thought it was, although for me it's an everyday thing. Oh well; being unclear to musicians is all part of the game anyway.

Pd Bootcamp at the RWCMD

All week I've been on a PureData course at the Royal Welsh College of Music and Drama, with Simon Kilshaw. PureData, or Pd, is a free and open source graphical programming language for music and video; in plain language, a system allows one to plug together a series of graphical objects on a screen in order to create an original work of digital art.

Pd is closely allied with another very similar language, Max/MSP, both having in fact been initiated by the same programmer, Miller Puckette. I've been working with and teaching a Max/MSP course for several years now; so why study Pd? Max/MSP is in many ways a much slicker and more fully developed environment, significantly easier to use, with clear documentation and tutorials, many higher level objects built in, and a large community of users. By contrast, coming to Pd from Max feels like a step back in time; the user interface seems clunky, many basic objects seem to be missing, the documentation is by comparison chaotic, and overall it feels like a poor relation.

Well, poor; yes exactly! You would be if you had to buy Max/MSP at the full commercial going rate of $699, and the 'price point' of Pd is undoubtably a serious attraction. More importantly, perhaps, the open source nature of Pd creates a different kind of community, one where it is perhaps easier for creative artists to own and share their digital works without being encumbered by licencing considerations.

The course here has been quite a full-on experience. Simon and his students at RWCMD seem to have a programming style which is extremely fast and hacky, driving straight at getting musical results from the software without much concern for neatness or elegance. It works; most of the week we've been following along behind Simon click-by-click as he more or less improvised patches before our eyes. Graphical languages are great for this kind of very rapid prototyping and developing of ideas, although I found that for my style of working I liked to go a little bit slower and think through what I was doing a little more.

Over the last two days we've also seen some of the work of one of the graduates here, Tristan Evans, including a very impressive piece for piano and Pd called 'Takeover'. Tomorrow, we're scheduled to put together a collaborative performance using a rather remarkable internet-based version of Pd, netpd; if all goes according to plan you should be able to watch and hear us all performing live using this url at 1500 GMT+1 (that's three o'clock UK time).

I'll (maybe) be performing on the patch above. For those who are interested, this uses nothing which is not in Pd-extended (I hope!). The guts of the sound are four Karplus-Strong 'pluck' synths, with the delay lengths changing at random to produce glissando effects. These gestures are fed into an instance of freeverb, where the reverb tail can be frozen; while the tail is frozen, a pitch shifter patch is used to move this sound around in interesting ways. The klang gestures are either triggered manually, or by a randomised metronome, which can be set to the rather ridiculous value of 25 ms to produce an insane cascade of stringy sounds.

Update 2024

Confusing reference to 'the patch' above? What patch? Presumably a puredata patch: not sure if have that any more!

yellowpuncher

Well, it's a start; learning the basics of GEM in Pd. And, whoever would have thought that the quicktime midi synth on the mac had that 'Punch' sound hidden in one of it's alternate banks :)