Photo (c) Jan Trutzschler von Falkenstein; CC-BY-NCPhoto (c) Rain RabbitPhoto (c) Samuel CravenPhoto (c) Gregorio Karman; CC-BY-NC

Music

Research


Other

Older things: Evolutionary sound · MCLD software · Sponsored haircut · StepMania · Oddmusic · Knots · Tetrastar fractal generator · Cipher cracking · CV · Emancipation fanzine

Blog

I've just discovered the really handy mpd (music player daemon) which is pretty much the perfect command-line geek's music player service. No graphical interface, no nothing.

Anyway

It's currently playing my MP3s on shuffle and it's great, but the MP3s are a bit too varied in their volume: some are too loud, some are too quiet. And this is where the magic of ReplayGain comes in. ReplayGain is a hint that can get embedded in an MP3 about how loud it should be, and there's a linux command called "mp3gain" that can analyse your files for you and make sure they're all equalised volumewise. If you have a folder containing ten MP3s from an album, you can run a command like

   mp3gain ~/Music/theAforementionedAlbum/*.mp3

and it'll do the business. The extra-clever bit is that it also applies album-wise ReplayGain - assuming that all the files you've given it are off the same album, which has been carefully mixed to have loud bits and quiet bits, it'll specify an albumwise level as well as an individual trackwise level.

So far so good, but what if you have a million albums of a billion MP3s? You'd need to run that command once for each album.

Or you could do some command-line kung-fu. This command is what's running on my linux box right now (should work on mac too):

   find -L ~/Music/ -name "*.mp3" -exec dirname "{}" \; | uniq | while read line; do mp3gain -k -o -r "$line"/*.mp3; done

It uses find to find all my MP3s, dirname to find which folder they're in, uniq to make that a unique list of folders, then while read line to feed that info one line at a time to the mp3gain command. Therefore it's feeding it with one folderfull at a time, rather than just one MP3-file at a time, which should allow it to do the ReplayGain thing best.

linux · Permalink / Comment

Plum ketchup is a great autumn recipe. I'm publishing it now (spring) cos I made up a big batch of plum ketchup to make christmas presents this year - and I think it went down pretty well... I think it's well nice, at least! Goes especially well on sausages or fish.

Put tomatoes, plums and onions in a large saucepan with the spices. Bring to the boil and simmer gently for 45 minutes or until the onion is soft. (Don't be tempted to add water, the fruit+veg will start to produce enough liquid after a few minutes.)

Cool the mixture for 10 minutes, then blend or process it until smooth. (Some would remove the spices before blending but I don't.) Then strain through a sieve back into the pan.

Add remaining ingredients, stir over a gentle heat (do not boil) until the sugar dissolves. Simmer uncovered until the mixture thickens to the right consistency (about 15 minutes, stirring occasionally).

Pour the hot ketchup into hot sterilised bottles or jars, and seal while hot.

(This is based on a standard tomato ketchup recipe, but with half the tomatoes replaced by plums, and some cinnamon added to complement the plum flavour.)

recipes · Permalink / Comment
feminism · 1 comment

Puredyne is a linux distro specialised for real-time audio+video art. It's also a live distro, meaning it boots straight off a USB stick or CD - so you can use it without trashing your current mac/windows/linux install, or plug it in when you turn up at some random university computer room or whatever. How cool is that?

The latest version of puredyne is now out - puredyne 9.10 (carrot&coriander), released Jan 16th 2010. It's based on the latest ubuntu, with a real-time kernel, a streamlined graphical interface and loads of software for realtime video and audio processing. There's SuperCollider, PureData, Fluxus, Processing, Ardour, Mixxx, Chuck, Csound, Icecast... all built right in.

scvim in puredyne

I've been helping the GOTO10 team put this release together and I'm well happy with it, I've always wanted a distro like this (yes I've tried other media distros, Ubuntu Studio, 64 Studio etc). It runs great on my tiny little Eee.

One of the programs I discovered during this is Mixxx which is a free live DJing tool. It's really nice - does a lot of the stuff I've seen in commercial DJ software like tempo-detection, time-stretching/vinyl emulation, and working with timecode vinyl. You point it at your MP3 collection and straight away you're ready to rock the party. You can push the sound through Jack effects etc etc. Nice.

Mixxx in puredyne

Of course the main thing for me is SuperCollider which works really nicely from vim or emacs or gedit. I'm setting it up right now with all my extra bits of code and things, hopefully this is gonna be my distro for live performances - it's by far the best candidate for livecoding etc on my Eee. Get puredyne from here and see what you think.

linux · Permalink / Comment

On the radio this morning one of the guests was asked, "Apart from changing your light-bulbs, what have you personally done about climate change?" and they said "Well it's complex, I don't know all the facts, so... well we've changed our light-bulbs, but..." [done nothing else].

That's a pathetic excuse. You do not need to know the details.

Almost no-one claims to understand the details of international finance, but we still reckon we know what should be done about bonuses, and we make decisions about which bank to put our money in. But the vested interests in the climate debate seem to be succeeding in making things seem too complex for us mere mortals to understand or do anything about.

But it's really easy to know what to do, and you don't need to follow the ins-and-outs. Here's what to do:

There's acres of detail available if you want to read more detail, e.g. some tips from New Scientist and this excellent free book about energy but the basic advice is as simple and boring and unchanging as the above stuff.

As an academic researcher I've hated having to avoid international flights. There have been some brilliant opportunities popped up over the past year, to go and do some research visits or go to international conferences - and I've taken up some of them, but some of them I've let slip specifically because of all the international flying that would be involved. And that's my loss. Just like it's a loss to not have the freedom to go flying off on holiday every year, or to have energy-saving lightbulbs that still take a few seconds to warm up to their full brightness which is a hassle.

You can see how it adds up in our brains. Hassle + complex = ignore it for now, maybe think about it later. That's a natural reaction. But the complexity is irrelevant, because we can all do these things we need to, so we need to try.

eco · 4 comments

There's a big change happening in UK science+engineering at the moment, and it goes by the name of Impact. What does it mean? When we do science we often do it just to find new things out, yet whether we intend it or not one of the great things about science is that it actually makes important changes to the world outside our research group. Impact is formally defined as being that effect that we have - on business and economy, on health, on public policy, on culture and the arts. There are billions of ways that impact spreads.

This has always been a very unpredictable thing and pretty hard to measure, so the government now has created a formal process for trying to account for the types of impact that we get out of research - and even further, to think hard about impact when deciding what research to fund. In a lot of cases the predicted impact will now account for up to 25% of the considerations in rating academic departments or allocating funding.

Sounds reasonable? Well many scientists are against it - and it's not because they don't like having to justify themselves (they already have to do that when they write grant applications etc), but because the real impact of science often happens in surprising ways, sometimes many years down the line. Take DNA fingerprinting for example. The scientists who came up with it were working with DNA, trying to measure various things, but they had no idea that the best thing they could do was make an unruly collection of DNA form patterns on a sheet of film - they discovered it by accident. And now it's an important part of many of the most serious court cases we have. Think of all the people who were convicted or freed based on DNA evidence - that's some serious impact there.

There are lots more examples of unpredictable impact - such as:

And the opposite is also true - history is littered with examples of discoveries/inventions that were widely expected to change the world, but didn't:

So with all this evidence, it's not surprising that scientists are worried about this new approach of trying to plan your impact - much of the curiosity-driven stuff that has real impact could well get sidelined in favour of things which might be a bit less imaginitive but which seem like they'll definitely make some public or business connection.

OK fine - seems like there's some misguided bureaucracy coming down from government, and we have to try and make sure it doesn't end up stifling what it's supposed to be helping. But there's a bigger question that maybe we can think about. As I've said, "impact" is very hard to pin down or predict, and we don't really know how predictable it could or should be. But in many grant applications and suchlike, scientists are now writing down their predictions about the impact they'll have. Are those predictions useful data? Could we use "impact plans" as a great big study about whether impact can be predictable?

We could for example wait for five years, then look back at the pile of impact plans and ask, how many of those predictions (the ones which got funded, at least) came true? What percentage? What proportion of the observable scientific+engineering impact made over the next five years will have been predicted, in writing, in advance?

It would still leave a million questions unanswered, especially about unidentifiable impact (subtle things which are hard to count), long-term impact, and really it would still be a very reductive way to think about how science affects our society. But I wonder... would that make all these "impact statements" worth their while?

science · 1 comment

Just been in an interesting seminar by Steve Benford, talking about techno-art projects and interaction design. One of the many interesting topics that came up: in musical interactions, how well do we design for awareness and feedthrough? Those terms come from the field of CSCW where researchers have found that in collaborative work it's often beneficial to be aware of what your collaborators are doing moment-by-moment (e.g. maybe I see your cursor moving around as we edit a document remotely but at the same time). "Feedthrough" by analogy with "feedback" is more specifically about awareness of how your collaborators have changed the state of the system (e.g. what edits they've just made) or maybe what they're preparing to do etc.

In livecoding it's tricky - it's often hard enough for an audience to follow what you're doing, let alone your collaborators (who are busy!). Groups like Powerbooks UnPlugged use text-chat to provide a kind of "backchannel" which is a (poor?) substitute for more direct awareness. Dave Griffiths' Scheme Bricks may be one of the best livecoding interfaces for awareness - the bits of code pulse in different colours as they act, which not only looks über-cool but also helps visually connect the code to the sound.

In a text-based interface the structure is more conceptual than visual, so how would we do similar? Would we be any more "aware" if we saw our collaborators' screens merged into our own, or if the livecode was all done within a single collaboratively-edited document? Would that make a better gig, or a worse one?

When we were interviewed by the BBC about livecoding I remember Alex and Dave seemed a little embarrassed that they didn't use any fancy tech for awareness - "we just listen to each other". It strikes me that this is no deficit: the music should be the focus of the performers' attention, and perhaps too much awareness-by-other-means would be distracting.

When I used to play guitar a lot, my "multimodal awareness" of the bassist (say) was not particularly rich: you get some rhythmic cues (from the movement of the fingers etc) and expressive cues (from facial expressions etc) but most of the awareness is located directly in the sound you're making together.

Livecoding makes this more complex, since the chains of cause-and-effect often become a lot more abstract: rather than pluck a string and hear a note, you type some code and maybe this generates a thousand notes three minutes from now. So it's possible that we need more "awareness mechanisms" to help us manage that. But should those be embedded in the sound we make, contaminating/constraining that sound, or should they be on other channels, distracting us from that sound?

livecoding · 1 comment

The New Scientist has a nice article about my sc140 project to highlight the amazing music that some people have been creating using the medium of Twitter.

This is all made possible by a rather lovely piece of software called SuperCollider, which is a programming language specialised for sound and music. The really nice thing about that is that it has the benefits of "traditional" music software on the one hand (for example, standard effects like echo and reverb are easily at hand), and also the benefits of a modern programming language on the other: it's much more flexible than traditional music software, you can tell the computer abstract things like "play these 7 notes, then a random burst of noise, then 12 random notes of your own choosing, then repeat the whole thing 4 or 5 times". (That description doesn't sound like it'd make a great piece of music does it? :) Well let's just call it an illustrative example.)

Programming languages can be a bit scary to learn at first, and I think it's perfectly reasonable that more traditional music software is still used for a lot of things. Often, music producers have a standard way of working and a standard set of effects that they pick off the shelf, twiddle some knobs, and there you go, no problem.

But as a fairly experimental musician I long ago got fed up of those restrictions and searched for something that would give me a lot more freedom. The flip-side of that freedom is that sometimes you have to spend more time building the tools you want before you use them. But I've been able to do a lot with SuperCollider, to the extent that it's now my main tool in my PhD work where I'm processing beatboxing sounds in real-time and transforming them for interactive music purposes.

The SuperCollider tweets thing is interesting and fun - 140 characters is a very strong limitation so to try and create even a decent sound, let alone a whole piece of music, is quite an achievement. On the other hand, SuperCollider tweeters often resort to clever little programming tricks in order to squeeze as much as possible into that tiny space.

So I do worry that the sc140 project makes SuperCollider look almost completely impenetrable, these 140 characters of obscure alien code! To demonstrate that SuperCollider's not actually too scary to learn, watch this SuperCollider in 60 seconds video.

supercollider · Permalink / Comment

Other recent posts: