Skip to main content

8 posts tagged with "puredata"

View All Tags

Horn-a-Tron

Some of the publicity put out for the show has perhaps been unintentionally slightly misleading! I did have a dream of having a French horn section in the show, but that dream has been realised through… technical means :)

Instead of live players, I've invented the 'Horn-a-Tron'. This is a Pd patch which plays back midi horn sounds alongside video clips of sixteen horn players – with thanks to Steve Park for the horn vids. I'm not going to put up a clip of this working just yet, spoil the effect. But here's the patch:

Pd 'Horn-a-Tron' patch

Work in progress: 'The Seventh Voyage'

I'm working on about three new pieces at the moment. The second of these is a collaboration with pianist Silviya Mihaylova on a shortish work for piano and laptop. The piano part is kind of done: Silviya took my sketches and added some ideas of her own. Apart from that, I have a program note, and some programming:

The title of this piece is taken from Stanisław Lem’s 1971 science fiction comedy classic ‘The Star Diaries’. In ‘The Seventh Voyage’ the hero of the stories, hapless cosmonaut Ijon Tichy, finds his rocket trapped in a loop of time. His attempts to repair the ship’s rudder are continually frustrated by the appearance of younger and older copies of himself:

“Just a minute,” I replied, remaining on the floor. “Today is Tuesday. Now if you are the Wednesday me, and if by that time on Wednesday the rudder still hasn’t been fixed, then it follows that something will prevent us from fixing it, since otherwise you, on Wednesday, would not now, on Tuesday, be asking me to help you fix it. Wouldn’t it be best, then, for us not to risk going outside?”

“Nonsense!” he exclaimed. “Look, I’m the Wednesday me and you’re the Tuesday me, and as for the rocket, well, my guess is that its existence is patched, which means that in places it’s Tuesday, in places Wednesday, and here and there perhaps there’s even a bit of Thursday. Time has simply become shuffled up in passing through these vortices, but why should that concern us, when together we are two and therefore have a chance to fix the rudder?!”

from Stanisław Lem ‘The Star Diaries’ – Chapter 1 ‘The Seventh Voyage’

Lots under the hood, but here's the front page of the pd patch so far:

Max speech munged in Pd

Still at the point of being a tech demo, but my latest text-to-screech project has moved forward a little. Here you can see speech sounds controlled by Max 5 piped into PureData. In Pd, I'm using some old tricks with the 'freeze' function in freeverb plus some pitch shifting to further play with the sound. As a potentially interesting wrinkle, the effects in Pd are turned on and off by the words typed in Max: 'reverb', 'freeze' etc.

Hmm. Where to go next?

Routing text-to-speech on the mac

There are any number of ways of working with the built-in text-to-speech synthesis capabilities on the mac. All of the music programming languages I use - Max, Pd and SuperCollider - offer ways of doing this, and I've also had great success with controlling the output using AppleScript. The problem is that in every case, the audio itself is actually synthesised by the mac os itself, which means it is not accessible within an audio environment for further processing.

I was inspired to have another think about this recently by a thread on the SuperCollider list where somebody was trying to do exactly this, by using Jack to route the sound from the mac back into the application for further processing. What I've started to experiment with is routing the audio into a different application: in the example above, controlling the speech synthesis in Max and passing the audio into Pd. Combined with the facility to pass midi from Max to Pd (easy), I think I can see how I can make a workable and potentially interesting system. But, for now, just proving to myself that it can be done :)

É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.

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