Max 5 and SuperCollider using sc3~

Another way of doing it, using the sc3~ object. I can’t quite make up my mind at the moment which is the way forward; this way it looks like you’d have to develop your code in SuperCollider, then paste it into Max and hope it still works… have a feeling the OSC bridging method is more generally useful, for instance, could use it with Pd as well. On the other hand, this way it’s all together in the one patch in a single program, to run it you don’t need SC installed, probably a lot easier to deal with when you come back to it in five years time…

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.

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;

BigHexhamBook by tedthetrumpet@

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;

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.

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 :)

text-to-screech work in progress

I’m working on a new piece towards ARTMUSFAIR/2009, for flute, horn, cello, marimba and ‘tape’; this is me working towards the latter, the fixed audio part of the piece. Up to my usual text-to-screech tricks here; this shows some of the tools and methods I use to put things like this together.

(If you go to the original on vimeo you can watch it pretty much full desktop size.)

MuseScore

I’m quite excited today to discover a free/open-source music notation program I hadn’t previously heard of, MuseScore. (That I hadn’t heard of it probably has something to do with the fact that they’ve only just released a mac binary.) Very early days so far, but already I’m very excited to see the beginnings of what could be a foss alternative to Sibelius and Finale, something which I think the world badly needs. I had a play with it; it’s ok, got used to the note entry and editing interface quite quickly, kind of like a cross between Sib and Fin in the way it works. Didn’t take long to notate the gamelan tune I heard in my dream this morning, although I could have done with a custom key signature;

I was able to export it as a midi file, which had some small problems, and also as .xml which, again after a bit of hacking I was able to open very nicely in Sibelius. Now, if I was dead pure rich and that, I’d give these guys a bunch of money to really develop this!

Ed bends Yamaha

I was round at Eddie’s house the other day, and we had a go at circuit bending an old Yamaha RX17 drum machine;

This is pretty standard stuff, a well-known bend linking pins 4 and 12 of IC 116. After some experimentation, we decided on a 100k log pot with a 1k resistor in series. Ed is a bit iffy about the whole idea of circuit-bending, kind of goes against the grain for someone who was trained in electronic engineering! But we had fun – going to use this in the show on March 5th.


Follow

Get every new post delivered to your Inbox.