Sunday, October 5, 2008

Archaeopteryx: Simple Drum Machine (In ChucK)

The other day I ranted about ChucK, a music programming language. I said it was just for college students who have no serious interest in a musical career. Tom Lieber, who appears to be a college student with no serious interest in a musical career, leapt to ChucK's defense with an aggravating blog post where he calls me "as catty and opinionated as your average Ruby rock star."

This was inaccurate. Women and gay men can be catty. I do not have that capacity. You could call me an asshole, a dickwad, or a doucheburger and you would be stating your opinion. If you were feeling creative you could call me a placenta al fresco. If you wanted to kick it old school, you could call me a jerk. Using my own terms against me would make me a muppetfucker. Asshat would be the term of choice in Internet slang. Thanks partly to hip-hop and partly to Dane Cook, you could even call me a bitch or a whore, but catty? Calling me catty is just bad writing. It's like referring to a penguin as diaphanous.

Tom's blog post also contained a useful little script.

This script is essentially a tiny, simple drum machine. I put it through a minor rewrite to feature more samples.

You can actually use this script as a drum machine if you download ChucK and put some drum samples in a directory called drums. I got these drum samples from SampleSwap; you can download them directly or, if you have GarageBand on your machine and haven't thrown away its built-in sample library like me, just copy them from somewhere in the unwashed nether regions of /Library/Application Support/GarageBand/.

Assuming you've got the drums samples set up, all you have to do is download the script and run it like this:

Kudos to Tom for providing something useful. Would have been cooler if he had done it differently, but hey, at least he did it. Although this is, not to belabor a point, totally useless for live performance, it's a fun and cheap alternative to Reason and GarageBand if you're looking for a way to play with Archaeopteryx.

Update: I should point out, you also need to send this ChucK script MIDI messages, e.g., by opening another Terminal window, heading to your Archaeopteryx dir, and being all ruby eval_style.rb or something.