GyreLogo Gyre is a program I've been writing in Max/MSP for playing my Buchla 200e. It is a work in progress, but I'm finding it pretty usable, even in its current state. One of the things I like about Gyre is that it separates the timing information from the note generation processes. For example, this means that I can have a rhythm going driving a step sequencer, then switch to a Sample & Hold using the same rhythm pattern.
Looking at the various subsections of Gyre, and starting in the middle, we have the timing sections: the Beat Clock and the Pulser.

Beat Clock (middle right)
BeatClock The Beat Clock is pretty simple, it provides timing to the rest of the system. It can drive MIDI clock, and theoretically sync to it as well, but my current MIDI interface tries to be "smart" about MIDI clock, and doesn't deliver the raw data to Max, so I can't really test it.

Pulser (middle left)
The Pulser is loosely based on the Buchla 242 Programmable Pulser. It provides four rows of timing patterns, all of the same length (up to 48 steps). The Pulser section can save presets of its settings.

Note Twisters (top) At the top are four Note Twisters. Each of these drives one channel on the Buchla 225e MIDI interface. Each twister can use one of four different styles of note generation. Currently implemented are Shape Player, Scanning Sequencer, Random, Sample & Hold. They all take their timing info from a pulser row. The Twisters can also be independently clocked, and the clock can be put through a random function with an adjustable trigger density.

Shape player takes "shapes" which are held in tables, and plays them in a variety of ways.

ScanSeq is sort of like a step sequencer, with a few addressing modes.

Random implements a couple flavors of Random note generation.

Sample & Hold is pretty much like a sample hold run through a quantizer.

Gesture System (bottom)
GesturePlay At the bottom we find the Gesture System. It allows for the recording of arbitrary gestures from a MIDI source or an on-screen slider. There are eight gesture players, which can by synced to the Pulser cycle time. The time base for individual Gestures can be set to conform to some relationship to the Pulser cycle time (e.g. play gesture one in 1x the Pulser cycle time, gesture two takes 3x the Pulser cycle time.) Gestures can be looped (sort of like an LFO with an arbitrary wave shape) or play single shot (sort of a like a envelope generator).

There are some sections that aren't on the main screen that deal with mapping gestures to continuous controllers, and with mapping triggers to NoteTwisters and other destinations.

There is also a section that deals with mapping of a control surface to various destinations within Gyre, and to the the outputs. My current control surface is a Feena Electronics FMDJ-9303 DJ controller. There's just something about using that horizontal slider to control the density of random events that I find quite satisfying.

This "documents" version 0.6.5 of Gyre, April, 2007

Back to my main Buchla page. Electric Music Box