Drum Machines and POV-Ray…
Besides making it render weird backgrounds and movies with robots and bumblebees, I’ve started a project to use my favoritest raytracer POV-Ray as a text-based drum sequencer. The goal is to write a POV script that defines a bunch of drum sounds, sets up drum patterns, strings them together as a song, and writes the whole mess to a format Csound can read. Then, I’ll use Csound to create an audio file (or files) I can drop into Vision or Audacity.
Doesn’t that sound like fun?????
I know what you’re thinking. “What in the $#&* did you just say??? Was that English????”
Hmmmm. Maybe I need to explain a little further…
Many moons ago, when I was a wee lad of twenty or something, I owned an Alesis HR-16 drum machine:

Isn’t it a cutie? This little booger allowed me to create drum patterns and songs, one measly drum beat at a time, for the songs I was writing (I use the term “writing” very loosely). I continued to use it even after I graduated to software-based sequencers, using a MIDI cable and interface with my old Mac Quadra to drive the little guy. Life was grand. Then one day, my old Mac died, Apple and the rest of the computing world switched to USB connectors, the keys on the HR-16 got funky and stopped working, and I was suddenly left without any way to make drum patterns for my songs. Life was no longer grand…
Along comes Csound. Csound, like POV-Ray, is a computer language that handles audio and sound synthesis, similiar to the way POV-Ray creates images. My intention was to use Csound to fire WAV files stored on my computer like a drum machine. However, Csound is even less user-friendly than POV, and writing the scores and orchestra files that contain the drum samples and patterns was a gruesome mess…
This brings us to the present. Since I’m more comfortable with the syntax POV uses, I thought to myself, why not just use POV to create the drum patterns? I can write the necessary scripts and subroutines that convert everything into a format Csound understands, thus minimizing the need to use Csound directly (and therefore sparing me a large, throbbing migraine).
“Ah!!” you say. “But why text-based? Why not just use another sequencer program? You’ve got Vision, you’ve got Cubasis, so why bother doing all this crazy computer work?”
Several reasons:
- The MIDI interface I have won’t work with my G3. It uses a serial port; my G3 has USB. The only thing the interface is useful for is as a paperweight. Or something to throw at the dog when he won’t stop barking.
- I want to use this on a variety of computers. Vision only works on OS 9 on my Mac; I want to be able to sequence on the Dell laptop and any other computer I have access to (most likely PCs or Macs running OS X). Most good sequencers cost money, which I don’t have, and multiple licenses to run on multiple computers cost a LOT of money.
- I have all the sounds from the HR-16 recorded onto my G3, and I want to be able to use different drum sounds — and NON-drum sounds — from multiple software sources. I haven’t found a freeware/shareware sequencer that will let me do that (certainly not one for multiple computer platforms, anyway).
- I’m a computer nerd. Fixing things via computer programming is what I love to do. In fact, I’m geek-dumping on you RIGHT NOW and I LOVE it.
Yes, I’m well aware there are languages like Perl and Python that have far superior text-manipulation capabilities. However, I don’t know Perl, I don’t know Python; I do know POV-Ray, and the job at hand is well-within POV’s abilities. Why waste a bunch of time learning a new programming language to do a job when I already know how to use a language that can do it just as easily?
Anyway, that’s my little side project for now (well, one of them). Maybe sometime next week I’ll have a working prototype. Like you care. All you know is I just geek-dumped on you and robbed you of thirty seconds of your life. Ha! Just try getting that time back! MuHAHAHAHAHA!!!!!!

0 comments
Kick things off by filling out the form below.
Throw a little love my way, won't 'cha??? Thanks!!!! :)