Moog Modular V and Max/MSP geek-o-rama

I thought that Paris Hilton woman was never going to leave! It was bad enough that the whole cultural mission from Absurdistan snarfed all the canapes (I don’t think that anyone bought that flummery about food being a required prop for declaiming their national epic poem), but Ms. Hilton spent the whole party waving that huge ring in everybody’s face and hoovering up the jello chiffon. Well I never….

Alright. I’m lying and trying to make my life sound like a gay, mad whirl. Actually, J. and I spent the afternoon shopping (shoes. for her.) and passed a most agreeable evening at home watching a DVD of Nero Wolfe. The content of the following ramble is so unremittingly geeky that I simply thought maybe I should tart things up a bit. It doesn’t seem to be working.

I’ve spent a little time exploring the new version of the Moog Modular V that I mentioned recently–more specifically, working on ways that I could use it alongside my favorite graphic programming environment.You can stare at the graphs all day long, or try to figure out interesting ways to have fun with it. I appear to have opted for the latter.

I suspect that I am not alone in this. It’s probably that class of people who want to use those filters that’s behind the fact that there’s a second version of their VST plug-in that just handles effects, and is obviously used for processing external audio.

I spent some time trying to make sense of the abbreviations for each parameter (and they’re nearly always cryptic, regardless of who makes the plug-ins. Guess how I know?) and generally trying to make sense of what VST parameters I could control. One of the things I use at times like this is this simple little MSP patch that lets me load a plug-in and then populate a menu with all of its available parameters, which I can then tweak. Here’s a copy of the patch in text format:

You’ll notice a second window that allows you to just grab a fader or dial and see what messages correspond to that action (and a handy menu that’s populated when you load the plug-in that will actually show you the parameter, too). If you’re so inclined, you can always add some objects and connect the audio, etc. This was really all I needed.

So after quite a bit of twiddling and listening and typing, I think I’ve got a good first draft of what the VST version of the Moog Modular V rack looks like if you’re running a Max patch and talking to by sending parameter number – value messages to a vst~ object that contains the Moog (of course, the value is always in the range 0-1.0 as a floating point number). There are a few things I’ve got questions about (and this is a work in progress), but you can upload a PDF file that contains the table I produced after all this study here.

Here are a couple of general comments that may not be clear for the first-time vst~ object message-sending cryptoanalogista:

One of the cool features of the Moog Modular V is that the hex-nut modulation input jacks also work as knobs that let you set the amount of modulation from any source. Happily, every single hex-nut jack/knob in the rack is parameterized.

Not everything is controllable. If you’re accustomed to pluggo’s tendency to have every single switch and toggle be a controllable VST parameter, you’ll find that’s not the case. Things like rotary octave switches or filter select switches aren’t parameterized. There are also some cases in which sequencer settings aren’t addressable.

I’m still trying to figure this one out (the Arturia customer support people seem pretty cool), but it would appear that using the Driver oscillators (i.e. the “master” oscillators for each group of three”) actually sends the same message to all three parameters of each oscillator rather than being a single parameter source or control… at least I think so. This means that you can address each of the three oscillators individually. At least it looks that way at this point.

Geek Note 1: the parameters are numbered differently between the “instrument” and the “effect” versions of the Moog Modular V. While the abbreviations are the same, their ordering is not.

Now that I’ve got a better sense of the VST implementation of the plug-in, I can take my Max/MSP patches that generate algorithmic outputs, scale the outputs to the 0-1.0 range, append a parameter number, ship `em off to a vst~ plug-in hosting a Moog Modular V synth, and let `er rip.

Geek Note 2: You can find a nice set of “starter” building blocks for constructing sequencer and processing abstractions/thingies Darwin Grosse (he of Creativesynth fame) made here. Just look for the QuickStart stuff.