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 series of note events using Python code. The documentation is sparse, so I’m not sure yet whether this system will do everything that the PVG would do 25 years ago, but I’m going to look into it.
Fingers would be a much more difficult proposition for a ham-handed hobbyist programmer like me, because it made use of real-time screen input and display. Just columns of numbers and a moving cursor, but even so, I don’t think I want to go there. The way to regenerate something like Fingers would be using Pd. It wouldn’t be nearly as elegant in appearance (and “elegant” is not a word I would ever have expected to apply to the user interface of Fingers!), but I think you could duplicate Fingers’ functionality without too great effort.
Whether that would be a useful project … maybe not. There are already too many ways to make endlessly mutating streams of notes. You can get the same results in Csound, with or without real-time adjustments via slider or numerical input to the values of the data in the loops.
PVG is more interesting, because it’s more like composition. Using PVG, you could generate 20 variations and then keep the ones you like.
Hmm … I don’t think generating new SoundObjects on the fly would be possible in blue. I think the only way to duplicate what the PVG did would be to generate text files to your hard drive containing Csound event lists (using any programming language you like) and then load them into blue, CsoundQt, or whatever Csound interface you prefer. The workflow would be awkward at best.
Emile Tobenfeld was way ahead of his time. Damn! And he’s still around, by the way. These days he does intense video improvisations. You can find him on YouTube, or through his own website.