Panning for Nuggets in the Digital Lint

Last night I fell to musing about a program called the Programmable Variations Generator. It was a module for Dr. T’s Keyboard Controlled Sequencer, a MIDI sequencer for the late, lamented Atari ST computer.

The Programmable Variations Generator (PVG) was a seriously twisted experiment in algorithm-based music composition. Nor was it the only odd concept Emile Tobenfeld (Dr. T) developed. He was also the brains behind Fingers, an interactive MIDI loop generator.

I wrote the manual for the PVG, but I no longer have any Atari paraphernalia at all. So this morning I went looking on the Web, and found that a fellow named Tim Conrardy had uploaded quite a trove of Dr. T’s stuff, including screenshots and the manuals for both Fingers and PVG. The PVG manual is in OCR output format — no paragraphing or anything, just a humongous text dump. But the information is still there!

Sadly, Tim Conrardy isn’t. He died three years ago. But some of his Atari info is still (for now, at least) lurking on a server somewhere in the Digital Zone.

I was thinking PVG thoughts because I was wondering what sorts of things one might do with blue, Steven Yi’s marvelous and very deep front end for Csound. In blue, you can process Read more

Music Page Updated

If you haven’t visited the “My Music” page of this blog in a while (or ever), I hope you’ll do so. I’ve just updated it with a whole bunch of tracks, new and old. They’re all nice hi-quality mp3s.

It struck me recently that I’ve been doing a lot of composing this year, more than in years past, but nobody knows about it. So now you know. Enjoy.


I’ve been doing a little reading in archaeology. Learning a bit about how people may have lived 5,000 years ago in one part of Europe or another is fascinating. Not quite so fascinating, but difficult to avoid, is the intellectual superstructure built up by modern archaeologists as they try to understand what they’re digging up.

Two buzzwords: processual and post-processual. Bet you don’t know what they mean. I didn’t either, until I read the very decent articles on Wikipedia. I’m deeply suspicious of both approaches. There seems to be quite a lot of projection (in the Jungian sense) going on. The archaeological record is, frankly, mostly a mess of broken pots, tools, weapons, jewelry, bones, and houses that, for one reason or another, got buried.

You can learn a certain amount from this type of stuff. For instance, you can analyze the obsidian in a cutting tool and determine from its chemical composition that it came from a deposit 300 miles away. That tells you there was probably some form of trade between the source of the obsidian and the place where you found it. But trying to infer the nature of a whole culture from the stuff that was hard enough to survive being buried for thousands of years is not science. It’s not even science fiction — it’s just fiction, pure and simple.

Tell me about the pottery, the ovens, the wall paintings, the changes in pollen count over the centuries. I’ll make up my own stories, thank you very much.

Why I Don’t Use a Screen Saver

Today I spent about an hour staring at my computer screen, unable to tear myself away. Not all at once, you understand — five minutes or so at a time. Or maybe it was longer.

I’ve been doing a little work learning Processing, which is a really good (though not terribly well-documented) program for creating real-time graphics. I started out by getting a colored line to bounce around in the display window. Then I added more lines and got them all to change color slowly, while leaving trails. Then I broke the image up into 30 large squares, in which slow overlapping patterns of color drift around. It’s thoroughly hypnotic. And it never, ever repeats — every minute something new is happening.

That’s why I don’t use a screen saver. Once the pattern starts, I just keep staring at it. My eyeballs have suction cups on the front.

The output of my little program bears a strong resemblance to some of the paintings my father did. The difference is, it took him days to do one painting. My program does ten or twelve new patterns every minute. I’m kind of glad he’s not around to see it. He might be amazed, or he might be as discouraged as jazz pianists were reputed to get, back in the 1930s, when they heard Art Tatum. Rumor has it, after hearing Tatum some of them went home and didn’t play for a month. They knew they could never be that good.

Not to say my software creation is as good as one of my father’s paintings, but it has its moments. I think you’d have to see some of the paintings from that particular period to understand what I’m getting at … and I don’t have any of those particular canvases anymore, so I can’t post photos.

Okay, twist my arm. Here’s a link that loads and shows my program in action. You do have to have a Java plug-in in your browser, you may have to assure the browser that you don’t mind the security risk — and don’t bother trying to view it in Internet Explorer, because IE can’t display it properly. (Why Microsoft should be so inept is kind of a mystery, isn’t it?) After about 30 seconds there’s a lull in the action, and you’ll think the program has stopped, but it hasn’t. All of the moving lines are off-stage, that’s all. Keep watching. Oh, and one more thing: If you refresh the browser window, you’ll get a different run each time. There’s some subtle randomization on startup, so that it never does the same sequence twice.

Does my little program have any artistic merit? Or is it just making eye candy? I’m not even sure there’s a difference. Not anymore. On the one hand, I’m compelled to admit that I would need Read more

Digging It (Up)

I’ve never taken a college-level course in world history. What I remember from high school (which was so long ago it practically counts as history itself) amounted to, “The Greeks invented philosophy, and then the Romans conquered everything. Oh, and before that there was Egypt, where they had funny writing.” End of story.

The reality was, inevitably, a whole lot more complex. I recently got interested in Minoan Crete, on account of a story I’m thinking of writing. The local public library has, I’m sad to report, nothing of any consequence on Crete in the Bronze Age. But I did spot, and borrow, a copy of Civilization Before Greece and Rome, which surveys the beginnings of the modern world going back to the very first cities in Mesopotamia.

Myths of the Golden Age notwithstanding, it was a dark and bloody time. Armies on the march. Burning, looting, the taking of conquered populations into slavery. Thanks to the widespread and indefatigable efforts of legions of dedicated archaeologists (whose work has suffered, oh, maybe a tiny setback Read more

Csound Doodle

Sometimes I feel a bit useless or demented, so I poke around in Csound. Last night I did a doodle … it didn’t even qualify as a sketch. But this morning I worked on it a little more, and now I guess it’s a sketch. It’s called “Groovish.” The link is for folks who are on mobile devices that lack Flash. Here’s the Flash player:

All of the frequencies are whole-number multiples of 25Hz, and the fundamental is at 100Hz, so this is an example of just intonation. The groove is deterministic, not random, though it’s not deterministic in any perceptible way. And it’s not in any time signature at all; five different generators are running at once, each of them using a sine-wave-driven divide-down process to either fire or not fire on any given pulse. You may hear it in 4/4 time, or at least as 16th-notes within a quarter-note pulse — I do — but that perception is just the way the brain does stuff, it’s not in the code.

Each note chooses one of three possible pitches at random, so the result is unpredictable, but the seed value was chosen by hand, so the playback is the same every time. I did not plan the final cadence, but it’s nice that it’s repeatable. Three global line generators are responsible for changing the attack times, reverb send levels, and a couple of other things.

Csound users can download the source code here. It’s not commented, and the p-fields are not in any sensible order, but even so, you can probably figure out what’s going on, as the algorithm (which is implemented directly in Csound, not in Python) isn’t terribly complex. A lot more could be done with this concept, and I may carry it further.

Take 20

Here’s a more developed version of a sketch I uploaded a few weeks ago:

It uses a 20-note-per-octave equal-tempered scale. Actually, a lot of it uses the five-equal subset of the tuning, but there are a few passing tones and such. It’s called “Apple Blossoms.”

If you’re into odd time signatures, listen for the three measures of 5/16. (FL Studio will let you do this, it just folds its arms sternly and refuses to help you.)